Zabbix позволяет осуществлять мониторинг показателей через JMX.
Сервер Puppet предоставляет метрики JMX через jolokia на https://puppetserver:8140/metrics/v2
, используя собственный центр сертификации для сертификата.
У меня настроен хост Puppetserver в Zabbix с DNS-именем и интерфейсом JMX на порту 8140.
Я настроил элемент мониторинга Zabbix для этого узла, как тип JMX Agent
, с ключомjmx["puppetserver:name=puppetlabs.{HOST.DNS}.jruby.num-free-jrubies",Value]
Однако запрос не находит никаких данных, а индикатор агента для хоста по-прежнему остается серым.
Между хостами определенно есть связь, и я могу подключиться к порту с хоста Zabbix. На Puppetserver нет пользовательской конфигурации аутентификации, поэтому есть анонимный доступ на чтение этого атрибута, который я проверил отдельным скриптом на хосте.
Является ли проблема следствием использования сертификата CA, или использования https, или конкретной конечной точки, или по какой-то другой причине?
Как настроить Zabbix для мониторинга показателей Puppetserver через JMX или это невозможно?
решение1
удалось заставить это работать (zabbix/jxm/puppetserver), добавив следующее в /etc/default/puppetserver:
-Djava.net.preferIPv4Stack=true
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
'preferIPv4Stack' сыграл роль, без него jmx остается КРАСНЫМ в zabbix! Я знаю, что это небезопасно, но для начала...