Всем привет, часто возникает необходимость настроить мониторинг различные службы и всегда знать если что-то упало. В данной статье расскажу о том как настроить мониторинг служб по средствам Zabbix.
ZABBIX — Настраиваем мониторинг служб.
Создаём элемент данных.
Для начала необходимо выбрать наш шаблон, к которому привязан интересующий нас узел сети, если его нет создаём, о том как создать шаблон можете прочитать тут: ZABBIX — Новый шаблон. В нашем случае шаблон у нас уже есть с привязанным к нему узлом сети. Переходим в «Настройка» -> «Шаблоны» -> Выбираем наш шаблон ->Выбираем «Элементы данных» и нажимаем кнопку «Создать элемент данных»
Дальше необходимо вписать наши условия, оставляем все пункты по умолчанию, кроме «Имя» и «Ключ». Вписываем любое угодное нам имя и в поле ключ нажимаем «Выбрать»
Ищем в списке ключ «proc.num[<name>,<user>,<state>,<cmdline>]», выбираем его.
Вот что про данный ключ пишут в документации Zabbix-а:
proc.num[<имя>,<пользователь>,<состояние>,<cmdline>] | ||||
---|---|---|---|---|
Количество процессов. | Целое число | имя — имя процесса (по умолчанию “все процессы”) пользователь — имя пользователя (по умолчанию “все пользователи”) состояние — возможные значения: all (по умолчанию), run, sleep, zomb cmdline — фильтр по командной строке (является регулярным выражением) | Примеры ключей: ⇒ proc.num[,mysql] — количество процессов выполняемых под пользователем mysql ⇒ proc.num[apache2,www-data] — количество процессов apache2 выполняемых под пользователем www-data ⇒ proc.num[,oracle,sleep,oracleZABBIX] — количество процессов в спящем состоянии выполняемых под oracle и имеющих oracleZABBIX в содержимом командной строкиСмотрите заметки по выбору процессов с параметрами имя и cmdline (специфика для Linux).В Windows, поддерживаются только параметры имя и пользователь. |
Затем нам необходимо указать необходимые параметры для ключа. К примеру мы хотим настроить мониторинг демона под названием «sendsms», тогда ключ у нас будет таким:
1 |
proc.num[sendsms,,] |
Если нам необходимо настроить мониторинг служб с одинаковым названием, но в дальнейшем их мониторить по отдельности, то можно указать параметры таким образом:
1 |
proc.num[java,,,"config /home/devuser/production/kkt_java/kkt.forwarded.setter.conf"] |
Мы передаём название демона и к примеру путь, откуда была запущена служба, что конкретизирует как раз нужную нам.
В нашем случае параметр будет таким:
1 |
proc.num[java,,,logstash] |
Нажимаем «Обновить» и в списке появиться наш элемент данных.
Так же вы можете проверить правильно ли вы составили ключ, и будет ли он выдавать нужное нам значение, напрямую через консоль, командой:
1 |
zabbix_agent -t proc.num[java,,,logstash] |
Должен вернуть количество найденных служб.
Так же после создания элемента данных можно проверить, что возвращается в консоли Zabbix, необходимо перейти во вкладку «Мониторинг»->»Последние данные», там найти нужный элемент и посмотреть значение.
Создаём триггер.
Дальше нам необходимо создать триггер, который будет нам сообщать о проблемах. Для этого переходим во вкладку «Триггеры» и нажимаем «Создать триггер»
В открывшемся окне необходимо вписать имя, выбрать важность триггера и выражение. С названием всё думаю понятно, с важностью тоже, необходимо указать выражение. Необходимо нажать кнопку «Добавить», в окне нажать «Выбрать»
Выбираем из списка наш шаблон или узел сети к которому он привязан. Дальше в условии триггера выбираем функцию, например последнее полученное значение меньше «N» (это значение у нас будет равно «1»), нажимаем «Вставить»
В результате у нас получилось такое выражение:
1 |
{GSA Monitoring Logstash Servers:proc.num[java,,,logstash].last()}<1 |
Получается мы смотрим последнее получено значение элемента данных и если оно меньше «1», то сигналим. Так же можно указать другие значения, всё зависит от Ваших потребностей.
Не забываем нажимать «Обновить». В итоге мы настроили мониторинг службы.
Так же к моинторингу служб можно добавить ещё один способ, который поможет понять, что служба не зависла, подробнее в данной статье: ZABBIX — Настраиваем мониторинг логов.
Надеюсь данная статья Вам помогла. Не забывайте пользоваться кнопками «Поделиться в соц. сетях», так же подписываться на наш Канал и группы в ВК, Twitter, Facebook.
Всем удачи и море печенек!
6 — stopped
255 — no such service
0 — служба запущена