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

50 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### Обзор
Автор: Сергей Антропов, сайт: 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`