Estoy tratando de configurar Zenoss 4.2.0 en CentOS 6.3 para monitorear un servidor remoto MySQL 5.5.25a a través de IPv6. El firewall está abierto para el servidor de monitoreo y puedo conectarme bien desde la línea de comando:
[root@zenoss ~]# mysql -u zenoss -p -h 2001:db8:81:2c::2
...
mysql> SELECT USER(),CURRENT_USER();
+-----------------------------------------+-----------------------------------------+
| USER() | CURRENT_USER() |
+-----------------------------------------+-----------------------------------------+
| zenoss@2001:db8:16:bf:5054:ff:fec0:f7a5 | zenoss@2001:db8:16:bf:5054:ff:fec0:f7a5 |
+-----------------------------------------+-----------------------------------------+
1 row in set (0.09 sec)
Sin embargo, Zenoss genera un evento "No hay datos de rendimiento del complemento" cuyos detalles se quejan de que no se puede conectar al servidor:
MySQL Error: (2003, "Can't connect to MySQL server on '2001:db8:81:2c::2' (-9)")
Hasta donde yo sé, -9 ni siquiera es un error válido. Y, por supuesto, es imposible buscar en Google un número negativo .

He comprobado zMySqlUsername y zMySqlPassword, más de una vez, y tienen los valores correctos.
También intenté ingresar la dirección IPv6 con corchetes, pero a MySQL no le gusta para nada, ya sea dentro de Zenoss o en la línea de comandos.
¿Cuál es la causa de este problema?

Respuestas:
Finalmente me di por vencido y fui a depurar esto yo mismo.
Basado en la respuesta de @ SelivanovPavel, encendí la depuración
zencommandy esperé, y efectivamente, el ZenPack estaba fallando.Y cavé en el ZenPack y descubrí que estaba importando (aparentemente una versión antigua de)
pymysqla partir/opt/zenoss/lib/python.Al probar desde la línea de comando de python descubrí de dónde se lanzaba la excepción:
Y al inspeccionar
connections.pyen esa vecindad general descubrí con horror que estaba intentando abrir unAF_INETzócalo, y que no había ningún código en ningún lugar para abrir unAF_INET6zócalo. Boom, falla instantánea.La versión actual de
pymysqltambién parece contener esta deficiencia; no hay soporte de IPv6 en absoluto.Entonces la "respuesta" es que voy a tener que arreglarlo
pymysql. No cómo quería pasar la tarde.Este pequeño truco desagradable hace que las cosas funcionen (aunque necesitas Python 2.6). Abre
/opt/zenoss/lib/python/pymysql/connections.pyy buscaAF_INETalrededor de la línea 660. Luego haz el siguiente cambio:Desde entonces, esto se ha corregido en pymysql ascendente y debería estar disponible en una versión futura.
fuente
Verifique, ¿hay algún intento de conexión?
tshark es la versión de consola del programa de captura de paquetes Wireshark.
Si el usuario del servicio zenoss no es root, intente conectarse a mysql desde su shell:
¿Qué pasa con los registros de Zenoss (Configuración> Demonios)? Intente aumentar la verbosidad de los registros (establezca logseverity = 30) y vea qué sucede.
Este documento puede ser útil: Solución de problemas_Zenoss
fuente
Intente ponerlo entre paréntesis [2001: 470: ...] o ipv6: []. Muchos analizadores no pueden diferenciar entre una entrada de texto y una dirección v6.
fuente