Инструкция для тех, кто знаком с Zabbix и уже имеет поднятый сервер и настроенный Zabbix агент на машине с УКМ4 сервером.
В zabbix_agentd.conf прописываем наши UserParameters
UserParameter=mysql.status[*],"C:\Program Files\ukmserver\ukm-monitoring\agent\zmysql.cmd" $1
UserParameter=mysql.version,"C:\Program Files\ukmserver\ukm-monitoring\agent\zmysql.cmd" version
UserParameter=mysql.ping,"C:\Program Files\ukmserver\ukm-monitoring\agent\zmysql.cmd" ping
UserParameter=apache[*],"C:\Program Files\ukmserver\ukm-monitoring\agent\zapache.cmd" $1
Смотрите на правильность указанных путей. Перезапустим службу zabbix_agent.
Для mysql.ping
1. Открываем вебморду заббикса Настройка-Узлы Сети-Создать узел сети. Задаем имя узла сети (напр. ukm_server), добавляем к нему какую-то группу (ее можно создать в Настройка-Группы узлов сети), IP адрес, остальное по умолчанию, Сохранить.
2. Для этого узла сети создаем группу элементов данных (напр. mysql)
3. Для этого узла создаем элемент данных (имя напр. mysql.ping), ключ mysql.ping (соответствует одному из UserParameters), Тип информации Числовой (целое положительное), Тип данных Десятичный (т.к. этот ключ нам будет возвращать 1 или 0), Интервал - по вкусу (я ставлю 60 сек), Период истории и динамики изменений тоже по вкусу (от этого зависит насколько длинный график вы сможете потом посмотреть), Сохранить.
4. Для этого узла создаем триггер (имя напр. mysql.ping), жмем Добавить, Элемент данных - Выбрать, в верхней части окна выбираем группу узлов сети в котором находится наш ukm_server, узел сети - ukm_server, выбираем созданный нами элемент данных mysql.ping. Затем выбираем функцию и ее значение (это условия срабатывания триггера), я выбрал Последнее (самое новое) Т значение = N , N - 0, Вставить. Получится такая строка: {ukm_server:mysql.ping.last()}=0 Описание по желанию, Важность по вкусу. Поставим галочку Активировано.
Теперь каждые 60 секунд будет "пинговаться" mysql собственными средствами, и если он упадет, триггер сработает, и сработает оповещение (которое уже настроено у вас на Zabbix сервере).
Для mysql.version
1. Уже есть.
2. Уже есть.
3. Для этого узла создаем элемент данных (имя напр. mysql.version), ключ mysql.version (соответствует одному из UserParameters), Тип информации Символ, Отобраение значений Как есть (т.к. этот ключ нам будет возвращать текстовую строку с номером версии), Интервал - по вкусу (я ставлю 60 сек), Период истории по вкусу, Сохранить.
4. Для этого узла создаем триггер (имя напр. mysql.version), жмем Добавить, Элемент данных - Выбрать, в верхней части окна выбираем группу узлов сети в котором находится наш ukm_server, узел сети - ukm_server, выбираем созданный нами элемент данных mysql.version. Затем выбираем функцию и ее значение (это условия срабатывания триггера), я выбрал Разница между последним и предыдущим значением NOT N , N - 0, Вставить. Получится такая строка: {ukm_server:mysql.version.change(0)}#0 Описание по желанию, Важность по вкусу. Поставим галочку Активировано.
Тут сработает триггер, в случае если поменяется версия mysql.
Для apache.ping
1-2 Уже есть.
3. Для этого узла создаем элемент данных (имя напр. apache.ping), ключ apache[ping] (соответствует одному из UserParameters, в этом случае нам нужно передать агенту значение в квадратных скобках, в нашем случае ping, полный список возможных значений см. в предыдущих постах), Тип информации Числовой (целое положительное), Тип данных Десятичный (т.к. этот ключ нам будет возвращать 1 или 0), Интервал - по вкусу (я ставлю 60 сек), Период истории и динамики изменений тоже по вкусу (от этого зависит насколько длинный график вы сможете потом посмотреть), Сохранить.
4. Для этого узла создаем триггер (имя напр. apache.ping), жмем Добавить, Элемент данных - Выбрать, в верхней части окна выбираем группу узлов сети в котором находится наш ukm_server, узел сети - ukm_server, выбираем созданный нами элемент данных apache.ping. Затем выбираем функцию и ее значение (это условия срабатывания триггера), я выбрал Последнее (самое новое) Т значение = N , N - 0, Вставить. Получится такая строка: {ukm_server:apache[ping].last()}=0 Описание по желанию, Важность по вкусу. Поставим галочку Активировано.
Теперь каждые 60 секунд средствами apache он сам себя будет проверять на доступность, в случае если нет - сработает триггер, и оповещение.
mysql.status[*] - выполняет c:\mysql\bin\mysqladmin -uroot -pCtHDbCGK.C extended-status, тут можно передать один из параметров выводимый этой командой (например Uptime) и получить его значение (в данном случае имена параметров регистрозависимы). Это для тех кто понимает в БД.