¿Cómo configurar Zabbix para monitorear Puppet Server a través de JMX?

¿Cómo configurar Zabbix para monitorear Puppet Server a través de JMX?

Zabbix permite el seguimiento de métricas vía JMX.

El servidor Puppet proporciona métricas JMX a través de jolokia https://puppetserver:8140/metrics/v2, utilizando su propia CA para el certificado.

Tengo mi host Puppetserver configurado en Zabbix con un nombre DNS y una interfaz JMX en el puerto 8140.

He configurado un elemento de monitoreo de Zabbix para este host, como tipo JMX Agent, con clavejmx["puppetserver:name=puppetlabs.{HOST.DNS}.jruby.num-free-jrubies",Value]

Sin embargo, la consulta nunca encuentra ningún dato y el indicador de Agente del host sigue estando gris.

Definitivamente hay conectividad entre los hosts y puedo conectarme al puerto desde el host de Zabbix. No existe una configuración de autenticación personalizada en Puppetserver, por lo que hay acceso de lectura anónimo a este atributo, que he verificado mediante un script separado en el host.

¿El problema se debe a la CA del certificado, a que utiliza https, al punto final en particular o a algún otro motivo?

¿Cómo configuro Zabbix para monitorear las métricas de Puppetserver vía JMX, o es imposible?

Respuesta1

Logré que esto funcionara (zabbix/jxm/puppetserver) agregando lo siguiente a /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

El 'preferIPv4Stack' marcó la diferencia, ¡sin él el jmx permanece ROJO en zabbix! Sé que esto no es seguro pero para empezar...

información relacionada