diff --git a/app/docs/README.md b/app/docs/README.md deleted file mode 100644 index f8094e5..0000000 --- a/app/docs/README.md +++ /dev/null @@ -1,14 +0,0 @@ -## SensusAgent — документация - -Автор: Сергей Антропов, сайт: https://devops.org.ru - -SensusAgent — лёгкий модульный агент мониторинга (Go 1.22+), собирающий метрики через внешние коллектора (исполняемые файлы) и агрегирующий результат в JSON (stdout или Kafka). - -Содержание: -- Обзор архитектуры: см. `overview.md` -- Конфигурация: см. `config.md` -- Коллекторы: см. `collectors.md` -- Сборка и запуск: см. `build_and_run.md` -- Деплой (Docker, systemd, Kafka): см. `deploy.md` - - diff --git a/app/docs/build_and_run.md b/app/docs/build_and_run.md deleted file mode 100644 index b862e2e..0000000 --- a/app/docs/build_and_run.md +++ /dev/null @@ -1,31 +0,0 @@ -### Сборка и запуск - -Требования: Docker. - -Сборка коллекторов и запуск one-shot: -```bash -make run -``` - -Длительный запуск (stdout): -```bash -make agent -``` - -Сборка агента под платформы: -```bash -make build # под текущую (darwin/linux) -make build-linux # linux/amd64 -make build-darwin # darwin/arm64 -make build-windows # windows/amd64 -``` - -Сборка коллекторов под платформы: -```bash -make collectors # текущая платформа -make collectors-linux # linux/amd64 -make collectors-darwin # darwin/arm64 -make collectors-windows # windows/amd64 -``` - - diff --git a/app/docs/collectors.md b/app/docs/collectors.md deleted file mode 100644 index fb243d5..0000000 --- a/app/docs/collectors.md +++ /dev/null @@ -1,14 +0,0 @@ -### Коллекторы - -Расположение бинарников: `bin/agent/collectors/` - -Добавление собственного коллектора на Go: -1. Создайте каталог `src/collectors//` с `main.go`, печатающим JSON в stdout. -2. Сборка: - - `make collectors` — соберёт под текущую платформу в `bin/agent/collectors/` - - `make collectors-linux|collectors-darwin|collectors-windows` — кросс-сборка -3. Добавьте в `bin/agent/config.yaml` блок с `type: exec` и `exec: ./bin/agent/collectors/`. - -Требования к выводу: корректный JSON на stdout. В случае ошибки — пустой JSON `{}`. - - diff --git a/app/docs/config.md b/app/docs/config.md deleted file mode 100644 index b030bfa..0000000 --- a/app/docs/config.md +++ /dev/null @@ -1,41 +0,0 @@ -### Конфигурация - -Файл: `bin/agent/config.yaml` - -Поля: -- `mode`: `auto|stdout|kafka` -- `log_level`: `debug|info|warn|error` -- `kafka`: блок настроек Kafka (для режима kafka) -- `collectors`: словарь коллекторов - -Описание коллектора: -```yaml -: - enabled: true - type: exec # запуск внешнего файла - key: # ключ в итоговом JSON - interval: "10s" # период опроса - timeout: "5s" # таймаут запуска коллектора - exec: "./bin/agent/collectors/" -``` - -Пример: -```yaml -collectors: - uptime: - enabled: true - type: exec - key: uptime - interval: "10s" - timeout: "5s" - exec: "./bin/agent/collectors/uptime" - macos: - enabled: true - type: exec - key: macos - interval: "30s" - timeout: "10s" - exec: "./bin/agent/collectors/macos" -``` - - diff --git a/app/docs/deploy.md b/app/docs/deploy.md deleted file mode 100644 index f2f56e6..0000000 --- a/app/docs/deploy.md +++ /dev/null @@ -1,30 +0,0 @@ -### Деплой - -Docker Compose (stdout): см. `docker-compose.yml`. - -Systemd: -1. Скопируйте бинарь `bin/agent/agent` и `bin/agent/config.yaml` на сервер. -2. Установите юнит `sensusagent.service` (обновите путь при необходимости): -```ini -[Unit] -Description=SensusAgent metrics collector -After=network.target - -[Service] -Type=simple -Environment=CONFIG_PATH=/bin/agent/config.yaml -ExecStart=/bin/agent/agent --mode kafka -Restart=on-failure -RestartSec=3 -User=nobody -Group=nogroup - -[Install] -WantedBy=multi-user.target -``` -3. `systemctl daemon-reload && systemctl enable --now sensusagent`. - -Kafka: -- Настройте блок `kafka` в `config.yaml` (brokers/topic/timeout…). - - diff --git a/app/docs/overview.md b/app/docs/overview.md deleted file mode 100644 index 322f2da..0000000 --- a/app/docs/overview.md +++ /dev/null @@ -1,17 +0,0 @@ -### Обзор - -SensusAgent — агент, выполняющий внешние коллектора из каталога `bin/agent/collectors` согласно `config.yaml` и объединяющий их JSON-вывод в один документ. - -- Плагинная архитектура: добавьте исполняемый файл — опишите его в конфиге — агент начнёт его опрашивать. -- Два вывода: stdout (standalone) и Kafka (systemd/production). -- Высокая устойчивость: при ошибках коллектора агент возвращает пустой блок и продолжает работу, не падая. - -Основные компоненты: -- `src/core/config` — конфиг. -- `src/core/collector` — интерфейсы, реестр. -- `src/core/runner` — планировщик/агрегация. -- `src/core/output` — stdout/Kafka. -- `src/core/execcollectors` — поддержка exec/execdir в ядре. -- `src/collectors/*` — исходники Go-коллекторов (собираются в `bin/agent/collectors`). - -