Как вывести данные в zabbix

Вот моя цель: я хотел бы иметь возможность сообщать о различных показателях zabbix, чтобы мы могли отображать графики на веб-страница.

Эти показатели включают:

  • латентность при представлении данных о мыле
  • различные результаты запроса от одной или нескольких баз данных.

Какие вещи мне нужно написать и/или разоблачить? Или сервер zabbix собирается пойти и получить его от выставленного сервиса где-нибудь?

Мне сообщили, что script, который возвращает одно значение, будет работать, но мне интересно, правильно ли это.

Ответы

Ответ 1

Я могу предложить 2 предложения, чтобы получить метрики в Zabbix:

  • Используйте двоичный файл zabbix_sender для передачи данных из вашего script непосредственно на сервер Zabbix. Это позволяет вашему script вызывать собственный интервал и задавать все необходимые параметры. Вам действительно нужно знать местоположение только в двоичном формате zabbix_sender.

    В интерфейсе сервера Zabbix вы создадите элементы с типом Zabbix trapper. Это тип элемента, который получает значения, отправляемые с zabbix_sender. Вы составляете имя ключа, и оно должно совпадать.

  • Второй способ сделать это - указать имя ключа и script/binary внутри файла zabbix_agentd.conf. Каждый раз, когда сервер Zabbix запрашивает этот элемент, будет вызываться script и данные из script.

    Это позволяет вам устанавливать интервалы в настройке элемента Zabbix, а не заставлять вас запускать свой script на свои собственные интервалы. Однако вам нужно добавить этот дополнительный бит информации в ваш файл zabbix_agentd.conf для каждого хоста.

Могут быть другие способы сделать это прямо из Python (zabbix_sender привязки для Python, возможно?). Но это два способа, которыми я использовал прежде, чем хорошо работать. На самом деле это не Python. Но вы можете использовать zabbix_sender в своих сценариях на Python. Надеюсь, эта информация поможет!

Обновление: я также помнил, что Zabbix работал над/имеет API (стиль JSON/RPC). Но сайт документации на данный момент не работает, и я не уверен, является ли API для отправки данных элемента или нет. Вот Вики по API: http://www.zabbix.com/wiki/doc/api

И проект для API Python: https://github.com/gescheit/scripts/tree/master/zabbix/

Похоже, что API-интерфейс немного отличается от API, поскольку он является новым по версии Zabbix версии 1.8