4.3 KiB
4.3 KiB
Конфигурация
Автор: Сергей Антропов, сайт: https://devops.org.ru
Основной файл конфигурации: bin/agent/config.yaml
. Путь можно переопределить переменной окружения CONFIG_PATH
.
Ключевые секции:
mode
: режим вывода (stdout
|kafka
|auto
)log_level
: уровень логирования (error
|info
|debug
)kafka
: параметры продюсера (если используетсяmode: kafka
)collectors
: список коллекторов и их расписание
Пример полного файла config.yaml
:
mode: auto # stdout | kafka | auto
log_level: info
kafka:
enabled: false
brokers: ["kafka:9092"]
topic: "sensus.metrics"
client_id: "sensusagent"
enable_tls: false
timeout: "5s"
collectors:
system:
enabled: true
type: exec
key: system
interval: "30s"
timeout: "8s"
exec: "./collectors/system"
platforms: [linux]
uptime:
enabled: false
type: exec
key: uptime
interval: "10s"
timeout: "5s"
exec: "./collectors/uptime"
platforms: [darwin, linux, windows]
macos:
enabled: false
type: exec
key: macos
interval: "30s"
timeout: "10s"
exec: "./collectors/macos"
platforms: [darwin]
sample:
enabled: false
type: exec
key: sample
interval: "30s"
timeout: "5s"
exec: "./collectors/sample.sh"
platforms: [darwin, linux]
hba:
enabled: true
type: exec
key: hba
interval: "60s"
timeout: "10s"
exec: "./collectors/hba"
platforms: [linux]
Пояснения по полям коллектора:
enabled
: включить/выключить коллекторtype
: тип коллектора,exec
— внешний бинарь/скриптkey
: ключ верхнего уровня в итоговом JSONinterval
: минимальный интервал между запусками (Go duration)timeout
: максимальное время выполнения (Go duration)exec
: относительный путь к исполняемому файлу в каталогеbin/agent/collectors
platforms
: список платформ, на которых допустим запуск (linux
,darwin
,windows
)
Переменные окружения:
CONFIG_PATH
— путь кconfig.yaml
LOG_LEVEL
— уровень логирования (error
,info
,debug
)
Kafka (подробности):
kafka.enabled
: включает отправку в Kafkakafka.brokers
: список брокеров видаhost:port
kafka.topic
: топик для публикацииkafka.client_id
: идентификатор клиентаkafka.sasl_user
/kafka.sasl_pass
: параметры SASL/PLAIN (опционально)kafka.enable_tls
: включение TLS (опционально)kafka.timeout
: таймаут отправки
Пример конфигурации с Kafka и SASL/PLAIN:
mode: kafka
log_level: info
kafka:
enabled: true
brokers: ["kafka-1:9093", "kafka-2:9093"]
topic: "sensus.metrics"
client_id: "sensusagent"
sasl_user: "metrics_user"
sasl_pass: "${KAFKA_SASL_PASS}" # рекомендуется через переменные окружения
enable_tls: true
timeout: "5s"
collectors:
system:
enabled: true
type: exec
key: system
interval: "30s"
timeout: "8s"
exec: "./collectors/system"
platforms: [linux]
Замечания по безопасности:
- Никогда не храните пароли в открытом виде в репозитории
- Используйте переменные окружения и секреты CI/CD
- Минимизируйте разрешения пользователя Kafka и используйте отдельный
topic
Советы по конфигурации:
- Для тяжелых коллекторов увеличивайте
interval
иtimeout
- При использовании Kafka установите
kafka.enabled: true
и корректныеbrokers
/topic
- Следите, чтобы ключи
key
у разных коллекторов не пересекались