Настройка коннектора Zabbix (mysql)
⚠️ Конфигурация производится системным администратором Monq.
⚠️ Версия Zabbix должна быть ниже версии 6.0 и использовать базу данных MySQL.
Для нормальной работы коннектору необходим доступ на чтение таблиц в БД Zabbix:
- auditlog
- auditlog_details
- triggers
Пример SQL запросов для создания пользователя MySQL (sm_zabbix_agent
) с минимально необходимыми правами:
CREATE USER 'sm_zabbix_agent'@'%' IDENTIFIED BY 'veryStrongPass';
GRANT SELECT ON zabbix.auditlog to 'sm_zabbix_agent'@'%';
GRANT SELECT ON zabbix.auditlog_details to 'sm_zabbix_agent'@'%';
GRANT SELECT ON zabbix.triggers to 'sm_zabbix_agent'@'%';
FLUSH PRIVILEGES;
Коннектор Zabbix является дополнением к сервису sm-zabbix-connector-api-service
и периодически опрашивает БД Zabbix на предмет появления записей по активации, деактивации и удалению триггера и отправляет события в sm-zabbix-connector-api-service
для соответствующих действий со связанным синтетическим триггером.
Далее необходимо настроить коннектор, указав обязательные параметры:
- строка для подключения к БД Zabbix
- API-ключ Потока данны, для которого будут отправляться события
Перейдите в хранилище конфигураций микросервисов Consul. Адрес и токен подключения можно узнать следующей командой:
kubectl get secrets -n infra system-auth -o json | jq -r .data.system_auth | base64 --decode | jq -r .consul_connect_info
Вывод:
{
"users": {
"root_user": {
"token": "dbd89dae-0586-de22-c637-ce97d64c1b39"
}
},
"domain_name": "consul.in.monq.local"
}
Также для входа в Consul необходимо обеспечить преобразование domain_name
полученного в ответе в IP-адрес сервера Monq.
Путь файла настроек в Consul: sm/sm-zabbix-agent-service/appsettings.json
.
В файле настроек необходимо заполнить секцию DatabaseConnections
как словарь, например:
"DatabaseConnections": {
"<API-ключ потока данных>": "server=<Адрес БД Zabbix>;user=<mysql user>;password=<mysql password>;database=<zabbix database>"
}
После применения настроек необходимо перезапустить микросервис sm-zabbix-agent-service
.