Предположим он уже установлен и используется.
Если нет - документация по установке и настройке здесь https://www.zabbix.com/documentation/2.0/ru/manual/installation
В качестве примеров используется zabbix server на 10.50.140.111 и carbon reductor с zabbix agent на 10.50.140.230
Добавляем Carbon Reductor в список серверов в zabbix
Создаём узел сети
Выбираем группы Linux servers, указываем IP адрес и имя узла сети (в конфиге zabbix-agent должно быть точно такое же).
Сохраняем. В шаблонах выбираем Linux Server, Http app, icmp ping и присоединяем их (не забудьте нажать "Добавить" перед "Обновить").
Сохраняем
Настройки Carbon Reductor
Опции
1. Убираем галочку "Оптимизировать подсистему роутинга" в прочих настройках на редукторе, чтобы разрешить трафик zabbix.
2. Создаём хук, добавляющий правило в INPUT:
cat > /usr/local/Reductor/userinfo/hooks/firewall.sh << EOF #!/bin/bash if [ "$1" = 'start' ]; then echo "- Открываем zabbix-agent" iptables -I reductor_input 5 -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT || true fi EOF
(на всякий случай проверьте что вставилось в файл, $1 не должен быть экранирован)
Даём права на чтение:
chmod +x /usr/local/Reductor/userinfo/hooks/firewall.sh
Рестартуем Редуктор для создания нужных правил:
service reductor restart
Устанавливаем агент
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
yum -y install zabbix-agent
chkconfig --level 345 zabbix-agent on
Конфигурируем сервер и агент
Пример конфига сервера:
# grep -v '^#' /etc/zabbix/zabbix_server.conf | grep -v '^$' LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBName=zabbix DBUser=zabbix DBPassword=zabbix DBSocket=/var/lib/mysql/mysql.sock SNMPTrapperFile=/var/log/snmptt/snmptt.log AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts
Пример конфига агента
# grep -v "^#" /etc/zabbix/zabbix_agentd.conf | grep -v ^$ PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.50.140.111 ServerActive=10.50.140.111 Hostname=carbon-reductor Include=/etc/zabbix/zabbix_agentd.d/ [root@reductor_master ~]#
После этого перезапускаем сервер и агент:
service zabbix-server restart
service zabbix-agent restart
Проверяем работу
tail -f /var/log/zabbix/zabbix_agentd.log
и
tail -f /var/log/zabbix/zabbix_server.log
не должны содержать ошибок после рестарта
Кастомные проверки
С Carbon Reductor можно забирать различные данные, имеется статья с примерами - Сбор данных о Reductor с сервера.
Настройка > Узлы сети > Carbon Reuctor (элементы данных) > Создать элемент данных
Число ошибок в последней диагностике
И триггер к нему:
Настройка оповещений
По умолчанию пункт Настройка - Действия - Report problems to Zabbix administrators выключен, включите его.
Также см. статью https://www.zabbix.com/documentation/2.0/ru/manual/quickstart/notification
Обязательно проверьте, что уведомления приходят и в течение 24 часов в сутки обязательно есть кто-нибудь, кто на них прореагирует.
Альтернативные уведомления
Можно вызывать собственные скрипты для уведомлений, к примеру слать ошибку в Slack:
Из коробки доступны e-mail, sms через модем (на случай пропажи доступа в сеть, наверное очень полезно), jabber.
Результат
В результате должно получиться что-то вроде:
(то есть на каждую созданную ошибку должны появляться действия - отправка сообщений).