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