chore(docs): remove legacy app/docs dir (moved to docs/) [author: Сергей Антропов https://devops.org.ru]
This commit is contained in:
parent
55e796bc2b
commit
00da60f41c
@ -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`
|
|
||||||
|
|
||||||
|
|
@ -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
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
### Коллекторы
|
|
||||||
|
|
||||||
Расположение бинарников: `bin/agent/collectors/`
|
|
||||||
|
|
||||||
Добавление собственного коллектора на Go:
|
|
||||||
1. Создайте каталог `src/collectors/<name>/` с `main.go`, печатающим JSON в stdout.
|
|
||||||
2. Сборка:
|
|
||||||
- `make collectors` — соберёт под текущую платформу в `bin/agent/collectors/<name>`
|
|
||||||
- `make collectors-linux|collectors-darwin|collectors-windows` — кросс-сборка
|
|
||||||
3. Добавьте в `bin/agent/config.yaml` блок с `type: exec` и `exec: ./bin/agent/collectors/<name>`.
|
|
||||||
|
|
||||||
Требования к выводу: корректный JSON на stdout. В случае ошибки — пустой JSON `{}`.
|
|
||||||
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
### Конфигурация
|
|
||||||
|
|
||||||
Файл: `bin/agent/config.yaml`
|
|
||||||
|
|
||||||
Поля:
|
|
||||||
- `mode`: `auto|stdout|kafka`
|
|
||||||
- `log_level`: `debug|info|warn|error`
|
|
||||||
- `kafka`: блок настроек Kafka (для режима kafka)
|
|
||||||
- `collectors`: словарь коллекторов
|
|
||||||
|
|
||||||
Описание коллектора:
|
|
||||||
```yaml
|
|
||||||
<name>:
|
|
||||||
enabled: true
|
|
||||||
type: exec # запуск внешнего файла
|
|
||||||
key: <json_key> # ключ в итоговом JSON
|
|
||||||
interval: "10s" # период опроса
|
|
||||||
timeout: "5s" # таймаут запуска коллектора
|
|
||||||
exec: "./bin/agent/collectors/<binary_or_script>"
|
|
||||||
```
|
|
||||||
|
|
||||||
Пример:
|
|
||||||
```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"
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
@ -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…).
|
|
||||||
|
|
||||||
|
|
@ -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`).
|
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user