SensusAgent/docs/overview.md

3.4 KiB
Raw Blame History

Обзор

Автор: Сергей Антропов, сайт: 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/* — документация проекта

Поток выполнения:

  1. Агент загружает конфигурацию из bin/agent/config.yaml (путь можно переопределить CONFIG_PATH)
  2. Инициализирует логирование по уровню LOG_LEVEL
  3. Регистрирует и планирует запуск коллекторов согласно их interval и timeout
  4. Исполняет коллектора (встроенные или type: exec), читает JSON из stdout
  5. Объединяет данные в общий 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