Расширение возможностей мониторинга событий
Ключ-АСТРОМ предоставляет выделенный REST API для приема и управления пользовательскими событиями. API доступен в двух основных местах:
- АктивныйШлюз — для приема событий и запроса существующих событий.
- ЕдиныйАгент — только для приема событий.
Полная документация по API доступна по адресу API v2.
Управление событиями с помощью АктивногоШлюза
Ключ-АСТРОМ поддерживает следующие API-интерфейсы для запроса и обработки пользовательских событий:
| Тип АктивногоШлюза | Базовый URL |
|---|---|
| Ключ-АСТРОМ SaaS | https://{your-environment-id}.live.astromkey.com/api/v2/events
|
| Среда АктивногоШлюза 1 | https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/events
|
| Контейнерная среда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/v2/events
|
1 В настройках среды АктивногоШлюза по умолчанию используется порт 9999. Если вы изменили этот порт, скорректируйте его в URL-адресе соответствующим образом.
Обязательно укажите идентификатор вашей среды в правильном месте URL-адреса.
Аутентификация
Аутентификация осуществляется с помощью токена доступа к API и заголовка HTTP Authorization.
| Authorization: Api-Token dt..... |
Чтобы получить токен доступа в Ключ-АСТРОМ, перейдите в раздел «Токены доступа». В зависимости от того, хотите ли вы запрашивать или получать события, ваш токен должен иметь области действия (scopes) events.read или events.ingest соответственно. Вы также можете комбинировать области действия.
Для получения дополнительной информации о токенах доступа см. раздел Ключ-АСТРОМ API — Токены и аутентификация.
Требования к сети
- Неотфильтрованные сетевые порты
Убедитесь, что используемые АктивнымШлюзом TCP-порты (443 или 9999) не заблокированы брандмауэром или любым другим решением для управления сетью. - Актуальное хранилище доверенных SSL-сертификатов
Во избежание проблем с SSL-сертификатами, связанных с просроченными или отсутствующими корневыми сертификатами, убедитесь, что хранилище доверенных сертификатов вашей системы обновлено.
Отправка события в ЕдиныйАгент
В дополнение к АктивномуШлюзу, ЕдиныйАгент также предоставляет выделенную HTTP-точку доступа (не HTTPS) для приема событий только локально. Действуют следующие ограничения:
- Это локальная точка доступа, доступная исключительно по адресу 127.0.0.1 (localhost).
- Поддерживается только прием событий (запрос
POST)
| Поддержка кодирования контента
В ЕдинмАгенте пока не поддерживается сжатие контента с помощью HTTP-заголовка Content-Encoding. Если вам необходимо использовать сжатие контента, пожалуйста, экспортируйте данные в АктивныйШлюз. |
Для отправки событий в ЕдиныйАгент необходимо сначала включить контроллер выполнения расширений (EEC). Это можно сделать глобально для всей среды, для групп хостов или только для определенных хостов.
Включение на уровне среды
- Перейдите в Настройки и выберите Предпочтения > Контроллер выполнения расширений.
- Включите параметр Контроллер выполнения расширений.
- Включите локальный API для сбора HTTP-метрик, логов и событий.
Включение на уровне группы хостов
- Перейдите в раздел Статус развертывания, а затем выберите ЕдиныйАгент.
- На странице развертывания ЕдиногоАгента отключите параметр Показывать новые развертывания ЕдиногоАгента.
- Отфильтруйте таблицу
Host groupи выберите группу хостов, которую хотите настроить.
Свойство Группа хостов не отображается, если выбранный хост не принадлежит ни к одной группе хостов. Здесь отображается страница развертывания ЕдиногоАгента, отфильтрованная по выбранной группе хостов. Для каждого хоста в списке есть ссылка Группа хостов:<group name>, где<group name>— это имя группы хостов, которую вы хотите настроить. - Выберите имя группы хостов в любой строке.
Поскольку вы отфильтровали данные по группе хостов, все отображаемые хосты будут отнесены к одной и той же группе. - В настройках группы хостов выберите Контроллер выполнения расширений.
- Включите параметр Контроллер выполнения расширений.
Включить на уровне одного хоста
- Перейдите в раздел Хосты.
- Найдите и выберите свой хост, чтобы отобразить страницу обзора хоста.
- В правом верхнем углу страницы обзора хоста выберите Дополнительно ( … ) > Настройки.
- В настройках хоста выберите Контроллер выполнения расширений.
- Включите параметр Контроллер выполнения расширений.
При включенной функции EEC установленные на соответствующих хостах ЕдиныеАгенты начнут принимать запросы по указанному URL-адресу http://localhost:14499/v2/events/ingest.
По умолчанию ЕдиныйАгент использует для этой конечной точки TCP-порт 14499. Вы можете изменить порт с помощью команды oneagentctl`.`.
| EEC недоступен в контейнерных системах.
Конечная точка приема данных EEC доступна только в развертываниях Full-Stack и Infrastructure Monitoring. Она недоступна в контейнеризированных системах. Используйте АктивныйШлюз в качестве конечной точки экспорта для контейнерных приложений. |
Аутентификация
Будучи локальной точкой доступа, ЕдиныйАгент не требует аутентификации.
Требования к сети
- Неотфильтрованные сетевые порты Поскольку это локальная точка доступа, особой настройки сети не потребуется, если только вы не ограничили локальную сетевую связь, в этом случае необходимо убедиться, что такие ограничения не применяются к используемому TCP-порту (по умолчанию 14499).
Пример команды curl
Следующая команда curl отправляет POST запрос на локальную конечную точку ЕдиногоАгента по адресу /v2/events/ingest, указывает тип содержимого JSON и предоставляет данные события JSON с помощью параметра --data.
| curl --request POST --url http://localhost:14499/v2/events/ingest --header "Content-type: application/json" --data "{ \"eventType\": \"AVAILABILITY_EVENT\", \"title\": \"Demo title\" }" |