LINUX.ORG.RU

zabbix discovery rules и другие процессы

 , ,


0

1

Добрый день, может кто сталкивался или уже сделал наподобие такого, у меня сейчас настроены discovery rules: обнаружение сетевых интерфейсов (net.if.discovery) и обнаружение файловой системы (vfs.fs.discovery), возможно ли как-то настроить discovery rules, что бы он сам проверял на наличие процессов, например nginx, apache, mysql и ставил их на мониторинг?

попробовал сделать так 1 2 3

вешаю на хост, но ошибка - Value should be a JSON object.

p.s. zabbix_server (Zabbix) 3.2.6 и zabbix_agentd (daemon) (Zabbix) 3.2.6



Последнее исправление: Garcia (всего исправлений: 1)

Ответ на: комментарий от Garcia

понятно вообщем, он тебе пишет ошибку. Value should be a JSON object. создай обычную проверку, не LDD - в низкооуровневом обнаружении данные должны приходить в JSON формате.

ving2
()

Что именно мониторить собрался? По процессами кто сколько кушает CPU, RAM, то написать скрипт автообнаружения, который найдёт все процессы по pid, на каждый процесс навести проверки (item prototypes) RAM, CPU.

Если хостов много и они постоянно создаются, удаляются, то настроить правила авторегистрации и по тегам навешивать шаблоны (шаблон nginx, шаблон MySQL).

А одной большой кнопки «Сделать хорошо» нет. Даже если написать скрипт, который будет искать процессы и генерировать проверки. Есть вероятность, что они не сработают, когда автообнаружение не найдёт твои процессы, которые были раньше, то проверки упадут в unsupported и триггера не будет. Правильный вариант, дать чёткость понять zabbix наличие нужных процессов. Либо ручками раскидать шаблоны, либо помочь с помощью тегов при авторегистрации агента.

Deleted
()
Ответ на: комментарий от Deleted

есть например 100 хостов, на 50 хостах есть процессы nginx, apache и mysql, на других 50 хостов есть только два каких-то процесса nginx, apache или mysql, разве нельзя сделать discovery rules, который вешаешь на эти 100 хостов и он сам тебе выбирает какой из процессов есть на сервере и какой надо поставить на мониторинг

по поводу unsupported, я юзаю ключ zabbix[items_unsupported] и слежу что бы item'ы были все активные

Garcia
() автор топика
Ответ на: комментарий от Garcia

1) Сделать три шаблона по одному на процесс. Ручками или скриптом через api раскидать шаблоны. Для новых хостов использовать metadata и правила авторегистрации. Более универсальной и надёжнее. Даёт гибкость при написании действий.

2) Пишешь скрипт, который по определённый критериям определяет наличие нужных процессов в системе. Отдаёт эти данные в JSON (гуглить zabbix LLD). Для этого ещё потребуется на каждый хост скопировать этот скрипт, прописать его в userparameter (это будет discovery.key). Если для каждого процесса нужен свой набор проверок, то написать на каждый процесс свой правило discovery+фильтры. При криво написанном скрипте часть проверок будет падать с unsupported, из-за чего не так гибко настроить можно будет действия. Поверь, этот вариант тебе не нужен, если конечно у тебя не цель поразвлечься с системой мониторинга.

Deleted
()
Ответ на: комментарий от Deleted

При криво написанном скрипте часть проверок будет падать с unsupported

Зачем писать кривой скрипт?

Поверь, этот вариант тебе не нужен, если у тебя меньше трёх серверов

Пофиксил

muon ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.