Elastic Cloud для логов: подключение Agent, data stream и проверка доставки
Ниже — минимальная рабочая схема подключения Linux-сервера к Elastic Cloud через Fleet и Elastic Agent. Цель — не просто установить Agent, а получить тестовое событие в data stream и найти его через Elasticsearch API.
1. Проверяем доступность Cloud
curl -I https://YOUR-KIBANA-ENDPOINT
curl -I https://YOUR-ELASTICSEARCH-ENDPOINT2. Создаём policy в Fleet
- Откройте Kibana → Management → Fleet.
- Создайте Agent policy, например
linux-servers. - Добавьте интеграцию System.
- Включите system logs и system metrics.
- Сохраните policy.
3. Устанавливаем Elastic Agent
Команду скачивания и enrollment-token копируйте из Fleet для своей версии и архитектуры. Типовой порядок:
tar -xzf elastic-agent-*.tar.gz
cd elastic-agent-*
sudo ./elastic-agent install \
--url=https://YOUR-FLEET-SERVER:8220 \
--enrollment-token=YOUR_ENROLLMENT_TOKEN4. Проверяем службу
sudo systemctl status elastic-agent --no-pager
sudo elastic-agent status
sudo elastic-agent inspect5. Генерируем тестовое событие
logger -p user.warning 'elastic-cloud-test-1633'
journalctl --since '5 min ago' | grep elastic-cloud-test-16336. Проверяем data streams
export ES_URL=https://YOUR-ELASTICSEARCH-ENDPOINT
export ES_API_KEY=YOUR_API_KEY
curl -sS -H "Authorization: ApiKey $ES_API_KEY" \
"$ES_URL/_data_stream/logs-system.*?pretty"7. Ищем тестовое событие через API
curl -sS -H "Authorization: ApiKey $ES_API_KEY" \
"$ES_URL/logs-system.*/_search?q=message:elastic-cloud-test-1633&pretty"8. Проверяем поля
@timestampсоответствует времени события;host.nameсодержит имя сервера;data_stream.datasetотносится к System integration;messageсодержит тестовую строку;- событие видно в Discover.
9. Диагностика
sudo elastic-agent status
sudo journalctl -u elastic-agent --since '15 min ago' --no-pager
sudo ss -ntp | grep elastic-agent
curl -vk https://YOUR-FLEET-SERVER:822010. Rollback
sudo elastic-agent uninstallПосле удаления удалите неактивный Agent из Fleet и убедитесь, что policy больше не используется этим хостом.
Критерий успеха: Agent имеет статус Healthy, data stream создан, тестовое сообщение находится через API и Discover, а поля host и dataset заполнены корректно.