Управление агентом и проверка работы
На этой странице:
- Как вызывать команды агента
- Запуск, остановка и перезапуск
- Проверка работы агента
- Справочник команд
- Команды Cluster Agent
Как вызывать команды агента
Команды агента выполняются одним исполняемым файлом. Способ вызова зависит от платформы:
| Платформа | Вызов команды <команда> |
|---|---|
| Linux | sudo protoobp-agent <команда> |
| Windows | "C:\Program Files\Protoobp\Protoobp Agent\bin\agent.exe" <команда> — только в командной строке, запущенной от имени администратора |
| Docker | docker exec -it protoobp-agent agent <команда> |
| Kubernetes | kubectl exec -it <под агента> -n protoobp -c agent -- agent <команда> |
Имя пода агента на нужной ноде можно найти командой:
kubectl get pods -n protoobp -o wide | grep -v cluster-agent
Большинство команд обращаются к уже запущенному агенту. Если агент не запущен, они завершаются ошибкой подключения — сначала проверьте, что служба или контейнер работают.
Запуск, остановка и перезапуск
После изменения protoobp.yaml или файлов в conf.d агента нужно перезапустить.
| Платформа | Запуск | Остановка | Перезапуск |
|---|---|---|---|
| Linux (systemd) | systemctl start protoobp-agent | systemctl stop protoobp-agent | systemctl restart protoobp-agent |
| Windows | agent.exe start-service | agent.exe stop-service | agent.exe restart-service |
| Docker | docker start protoobp-agent | docker stop protoobp-agent | docker restart protoobp-agent |
| Kubernetes | — | — | kubectl rollout restart daemonset/protoobp -n protoobp |
Подробности по платформам:
- Linux: дочерние службы (trace-агент, process-агент и др.) запускаются вместе с основной
protoobp-agent— см. Управление и Состав юнитов. Для систем без systemd — Управление на системах без systemd. - Windows: перезапуск также доступен в ProtoOBP Agent Manager и в меню значка в системном трее — см. Управление.
- Kubernetes: параметры агента меняются через
values.yamlиhelm upgrade— поды перезапускаются автоматически, см. Изменение параметров.
Проверка работы агента
Основная команда проверки — status:
| Платформа | Команда |
|---|---|
| Linux | sudo protoobp-agent status |
| Windows | "C:\Program Files\Protoobp\Protoobp Agent\bin\agent.exe" status |
| Docker | sudo docker exec -it protoobp-agent agent status |
| Kubernetes | kubectl exec -it <AGENT_POD_NAME> -n protoobp -c agent -- agent status |
Вывод большой. Полезные параметры:
status --list— список разделов;status <раздел>— только один раздел, напримерstatus collector;status --json --pretty-json— вывод в JSON;status --file /tmp/status.txt— сохранить вывод в файл, например для передачи в техническую поддержку.
После успешной установки новый хост появляется в разделе Инфраструктура > Хосты в течение одной-двух минут. Для отображения нового хоста обновите страницу браузера целиком.
Что смотреть в выводе status
| Раздел | На что обратить внимание |
|---|---|
Agent (v…) | Версия агента, имя хоста, путь к файлу конфигурации, ошибки загрузки конфигурации |
Collector | Каждая проверка интеграции: [OK] или [ERROR] с текстом ошибки, число отправленных метрик |
Forwarder | Отправка метрик на бэкенд: ошибки транзакций, ответы 403 (неверный ключ API) |
APM Agent | Приём трейсов от трейсеров и их отправка на бэкенд |
Logs Agent | Источники логов, ошибки подключения к бэкенду |
Process Agent | Сбор процессов и контейнеров, если включён |
Secrets | Источник секретов и ошибки их получения |
Если раздела нет или в нём ошибки, смотрите журналы агента.
Справочник команд
Состояние и конфигурация
| Команда | Назначение |
|---|---|
status | Состояние агента и всех компонентов |
health | Краткая проверка: здоров ли каждый внутренний компонент агента |
version | Версия агента |
hostname | Имя хоста, под которым агент отправляет данные |
diagnose | Проверка установки, конфигурации и сетевой доступности бэкенда |
config | Действующая конфигурация запущенного агента (с учётом переменных окружения). Значения секретов и ключей маскируются |
configcheck | Все применённые конфигурации интеграций с источником каждой (файл, лейбл контейнера, аннотация пода) — см. Автообнаружение |
secret | Источник секретов и места использования ссылок ENC[] — см. Управление секретами |
stream-logs | Поток логов, которые агент собирает и отправляет в данный момент. Удобно для проверки правил обработки логов |
Интеграции
| Команда | Назначение |
|---|---|
check <интеграция> | Однократно выполнить проверку и вывести собранные метрики, не отправляя их. Пример: check postgres |
check <интеграция> --check-rate | Выполнить проверку дважды с паузой в 1 секунду — нужно для метрик-скоростей, которые считаются по разнице двух замеров |
check <интеграция> --table | Вывести метрики таблицей |
configcheck <интеграция> | Конфигурация одной интеграции после подстановки переменных |
integration freeze | Список установленных пакетов интеграций |
Параметры, общие для всех интеграций (min_collection_interval, tags, service), описаны на странице Общие параметры интеграций.
Команда check выполняется в отдельном процессе: она использует тот же файл конфигурации интеграции, что и агент, и помогает найти ошибку подключения к сервису без ожидания очередного цикла сбора. На Linux запускайте её от пользователя агента, чтобы проверить и права доступа: sudo -u pobp-agent protoobp-agent check postgres.
Изменение параметров без перезапуска
Часть параметров можно изменить у работающего агента. Изменение действует до перезапуска агента.
| Команда | Назначение |
|---|---|
config list-runtime | Список параметров, которые можно менять без перезапуска |
config get <параметр> | Текущее значение параметра |
config set <параметр> <значение> | Новое значение до перезапуска |
Типовое применение — временно включить подробный журнал:
sudo protoobp-agent config set log_level debug
# ... воспроизвести проблему ...
sudo protoobp-agent config set log_level info
Команды Cluster Agent
В Kubernetes у Cluster Agent свой набор команд; они вызываются в его поде:
kubectl exec -it deploy/protoobp-cluster-agent -n protoobp -- protoobp-cluster-agent status
Доступны те же status, health, version, config, configcheck, а также clusterchecks — распределение проверок уровня кластера между агентами.