Como configurar o Zabbix para monitorar o Puppet Server via JMX?

Como configurar o Zabbix para monitorar o Puppet Server via JMX?

O Zabbix permite o monitoramento de métricas via JMX.

O Puppet Server fornece métricas JMX via jolokia on https://puppetserver:8140/metrics/v2, usando sua própria CA para o certificado.

Tenho meu host Puppetserver configurado no Zabbix com um nome DNS e uma interface JMX na porta 8140.

Configurei um Item de Monitoramento Zabbix para este host, como type JMX Agent, com Keyjmx["puppetserver:name=puppetlabs.{HOST.DNS}.jruby.num-free-jrubies",Value]

No entanto, a consulta nunca encontra nenhum dado e o indicador do Agente para o host ainda está cinza.

Definitivamente há conectividade entre os hosts e posso me conectar à porta do host Zabbix. Não há configuração de autenticação personalizada no Puppetserver, portanto, há acesso de leitura anônimo a esse atributo, que verifiquei por meio de um script separado no host.

O problema é devido ao certificado CA, ou porque ele está usando https, ou devido ao endpoint específico, ou por algum outro motivo?

Como configuro o Zabbix para monitorar as métricas do Puppetserver via JMX, ou é impossível?

Responder1

consegui fazer isso funcionar (zabbix/jxm/puppetserver) adicionando o seguinte ao /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

O 'preferIPv4Stack' fez a diferença, sem ele o jmx fica RED no zabbix! Eu sei que isso não é seguro, mas para começar ....

informação relacionada