SensusAgent/docs/overview.md
Sergey Antropoff d1da51d875 docs: обновлена документация проекта
- Удален тестовый скрипт runner/test-config-generation.sh
- Обновлен docs/overview.md:
  - Добавлена информация о гибкой конфигурации коллекторов
  - Добавлена информация о командах обновления
  - Обновлено описание структуры runner/
  - Добавлена ссылка на docs/ansible_groups.md

- Обновлен docs/deploy.md:
  - Убраны ссылки на устаревшие -raw папки
  - Добавлена информация о командах обновления
  - Добавлен раздел о гибкой конфигурации коллекторов
  - Добавлены примеры развертывания на конкретных группах

- Исправлен порядок команд в Makefile (перенесены в правильное место)

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-15 14:58:41 +03:00

3.7 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)
  • Гибкая конфигурация коллекторов через Ansible группы
  • Команды обновления (make update-service, make update)

Архитектура и компоненты репозитория:

  • 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
  • Гибкая конфигурация коллекторов: docs/ansible_groups.md