3.4 KiB
3.4 KiB
Обзор
Автор: Сергей Антропов, сайт: https://devops.org.ru
SensusAgent — модульный агент сбора метрик и инвентарных данных. Агент запускает встроенные и внешние (exec) коллекторы по расписанию, объединяет их JSON-вывод в единый документ и публикует в выбранный канал вывода (stdout, Kafka или auto-режим).
Основные возможности:
- Запуск коллекторов как внешних исполняемых файлов из
bin/agent/collectors
и как встроенных Go-бинарей - Единый JSON-формат вывода для удобной интеграции
- Гибкая конфигурация через
bin/agent/config.yaml
и переменные окружения - Кроссплатформенная сборка через Docker и Makefile (без локальной Go-сборки)
- Деплой и удаление через Ansible (
make deploy
,make delete
, а также варианты с systemd)
Архитектура и компоненты репозитория:
src/core/*
— ядро агента (конфигурация, реестр коллекторов, раннер, логирование, вывод)src/collectors/*
— исходники Go-коллекторов (сборка вbin/agent/collectors
)bin/agent
— исполняемые файлы и конфиги агента (config.yaml
, собранные коллекторы)runner/*
— сценарии Ansible для деплоя/удаления (и для systemd)docs/*
— документация проекта
Поток выполнения:
- Агент загружает конфигурацию из
bin/agent/config.yaml
(путь можно переопределитьCONFIG_PATH
) - Инициализирует логирование по уровню
LOG_LEVEL
- Регистрирует и планирует запуск коллекторов согласно их
interval
иtimeout
- Исполняет коллектора (встроенные или
type: exec
), читает JSON из stdout - Объединяет данные в общий JSON-документ и публикует в stdout или Kafka (в зависимости от
mode
)
Режимы вывода (mode
):
stdout
— печать JSON в стандартный выводkafka
— отправка в Kafka-топикauto
— автоматически выбирает канал (например, stdout, если Kafka отключена)
Переменные окружения (основные):
CONFIG_PATH
— путь к конфигурации (по умолчанию./bin/agent/config.yaml
)LOG_LEVEL
— уровень логирования (error
,info
,debug
)
Поддерживаемые платформы:
- Linux (агент и коллекторы)
- macOS (часть коллекторов и сборок)
- Windows (ограниченно для некоторых коллекторов)
См. также:
- Конфигурация:
docs/config.md
- Коллекторы:
docs/collectors.md
- Сборка/запуск:
docs/build_and_run.md
- Деплой:
docs/deploy.md