# rm-rf.es

ERROR: the RRD does not contain an RRA matching the chosen CF

Andaba instalando una plantilla XML para Cacti que tenía como fin monitorizar el consumo eléctrico de unas regletas APC, conocidas como PDU. Pues bien, al hacer debug en la plantilla de uno de los gráficos me encontraba este error:

ERROR: the RRD does not contain an RRA matching the chosen CF

RRDTool Command:

/usr/bin/rrdtool graph - \
--imgformat=PNG \
--start=-86400 \
--end=-300 \
--title="Pdu 3 - PDU Information" \
--base=1000 \
--height=120 \
--width=500 \
--alt-autoscale-max \
--lower-limit=0 \
--vertical-label="Amps" \
--slope-mode \
--font TITLE:10: \
--font AXIS:8: \
--font LEGEND:8: \
--font UNIT:8: \
DEF:a="/home/cacti/rra/pdu_3_apc_blah_load_854.rrd":apc_blah_load:AVERAGE \
DEF:b="/home/cacti/rra/pdu_3_apc_blah_load_854.rrd":apc_blah_load:MAX \
DEF:c="/home/cacti/rra/pdu_3_apc_warning_level_856.rrd":apc_warning_level:AVERAGE \
DEF:d="/home/cacti/rra/pdu_3_apc_warning_level_856.rrd":apc_warning_level:MAX \
DEF:e="/home/cacti/rra/pdu_3_apc_overload_level_857.rrd":apc_overload_level:AVERAGE \
DEF:f="/home/cacti/rra/pdu_3_apc_overload_level_857.rrd":apc_overload_level:MAX \
DEF:g="/home/cacti/rra/pdu_3_apc_overload_level_855.rrd":apc_overload_level:LAST \
DEF:h="/home/cacti/rra/pdu_3_apc_overload_level_855.rrd":apc_overload_level:MAX \
CDEF:cdefa=a,10,/ \
CDEF:cdefd=b,10,/ \
AREA:cdefa#00CF00FF:"Load\:"  \
GPRINT:cdefa:LAST:"              Current\:%8.2lf %s"  \
GPRINT:cdefa:MIN:"Min\:%8.2lf %s"  \
GPRINT:cdefd:MAX:"Max\:%8.2lf %s\n"  \
LINE3:c#F5F800FF:"Warning Threshold\:"  \
GPRINT:c:LAST:" ------->%8.0lf\n"  \
LINE3:e#FF3932FF:"Overload Threshold\:"  \
GPRINT:e:LAST:"------->%8.0lf\n"  \
LINE3:g#4444FFFF:"Low Threshold\:"  \
GPRINT:g:LAST:"        ------->%8.0lf\n"

RRDTool Says:

ERROR: the RRD does not contain an RRA matching the chosen CF

CF es una función de consolidación, y lo que sucede es que ya sea por mi versión de RRD, u otro motivo que actualmente desconozco, saltaba el error en las CF LAST, la solución, pasa por acceder a la plantilla del gráfico en cuestión y cambiar los valores LAST por AVERAGE. Quizás sea necesario tras hacer esto borrar y crear de nuevo el gráfico.

Monitorización MySQL: MySQL Query Analyzer

Evidentemente existen muchas maneras de monitorizar MySQL, por ejemplo con cacti, MyTop, etc. No obstante he encontrado una aplicación propia de Sun/MySQL muy interesante, se trata de MySQL Query Analyzer.
MySQL Query analizer
Captura oreilly.com

Como se observa en la captura de pantalla, se trata de una interfaz web sobre la que podemos monitorizar y recolectar datos de los servidores MySQL que necesitemos, destaca la monitorización a tiempo real de queries en el servidor, rápida identificación de problemas en las queries, detalle de las queries y debug para solucionar y optimizar consultas mal construidas con explain. Por supuesto hay un historico de consultas, posibilidad de buscar, ordenar, etc.
MySQL Query analizer

Puedes descargarlo y encontrar más información en este enlace.

Cacti & MySQL Graph Collection 2.0: Gráficos sin datos

cacti mysql

Seguimos profundizando en el sistema de monitorización Cacti, hoy me disponía a probar distintos plugins para monitorizar el servicio MySQL, y el más adecuado parece MySQL Graph Collection 2.0. La configuración del mismo es sencilla, copias el fichero php a la carpeta de scripts e importas las plantillas XML desde la interfaz web de Cacti. Si tenéis dudas en el enlace que he puesto anteriormente tenéis más información.

Lo que quería decir en esta entrada, es que para servidores MySQL con versiones superiores a la 5.0.2, los gráficos de estadísticas de comandos y tráficos por defecto no funcionan (“mysql command statistics” y “mysql traffic“). Esto es debido a que en versiones 5.0.2 de MySQL o superiores la variable “SHOW STATUS” devuelve valores globales, mientras que en las anteriores devolvía valores de sesión. El plugin está configurado para este último caso, así que para que funcione con MySQL 5.0.2 o superior hay que realizar un pequeño cambio en el script:

  1. Editamos el fichero mysql_stats.php
  2. Buscamos alrededor de la línea 19 lo siguiente: $result_stat = @mysql_query(“SHOW STATUS”);
  3. Modificamos SHOW STATUS por SHOW /*!50002 GLOBAL */ STATUS

Más información sobre este cambio en MySQL aquí.

Bug en RRDtool 1.2.28 , texto en gráficos y leyenda

El otro día ya hablé de un problema relacionado con la visualización de gráficos en cacti, que estaba relacionado con una mala configuración de las rutas a las fuentes de rrdtool.

El problema ha vuelto a reproducirse en el sistema de monitorización Cacti que monté hace poco, y trasteando un poco encontré que existe un bug en la versión 1.2.28 de RRDtool que impide que se muestren los textos y leyenda en un gráfico.

La solución que a mi me ha funcionado, ha sido desinstalar la versión 1.2.28 que instalé via YUM (CentOS):

yum remove rrdtool.i386

Y bajar a la versión 1.2.27, con la cual el problema queda solucionado. Podéis instalar esta versión vía RPM, yo me bajé el paquete de aquí, una vez descargado lo instaláis vía RPM:

rpm -i rrdtool-1.2.27-2.i586.rpm

Y los gráficos vuelven a visualizarse correctamente ;)

Cacti: Título y leyenda (fuentes) no se muestran

Hoy me ha tocado reinstalar un sistema de monitorización cacti y me he encontrado con un problema, resulta que en los gráficos ni la leyenda, ni los títulos, ni ningún tipo de fuente se veía, ejemplo:

Pues bien, resulta que Cacti no encontraba la ruta hacia las fuentes en el sistema, en mi caso CentOS, así que me ví en la necesidad de buscar la fuente y configurarla a mano.

En mi caso, las fuentes de RRDtool estaban en esta ubicación:

/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf

Una vez sabido esto, accedemos a la gestión de Cacti, concretamente a Settings -> VISUAL, y configuramos las fuentes:

Una vez salvado, deberían mostrarse los gráficos con fuentes sin problemas

Cacti Graph

bigbrother: Filesystem of /home/bbuser/bb/tmp is FULL

Últimamente me estoy encontrado con este error más de lo que quisiera en el sistema de monitorización Big Brother. El error es provocado por una sintaxis incorrecta u obsoleta del comando sort en el fichero bb-disk.sh, dentro de dicho fichero deberéis realizar las siguientes modificaciones:

SORT \"+${DFSORT}

por

SORT \" -k${DFSORT+1}\

Reiniciamos el cliente big brother en el próximo refresco debería quedar solucionado, sino, recordad mirad la salida en el fichero BBOUT para averiguar la causa del error.

Cacti: Error: Passwords do not match, please retype.

Curioso error el que me he encontrado en Cacti a la hora de dar de alta un nuevo “Device” (servidor para que me entendáis). Resulta que el error es debido a que estaba usando Firefox bajo Linux (Desconozco si influye ser bajo Linux).

La solución es tan simple como moverse un poco, acudir a un equipo con Internet Explorer instalado y darlo de alta desde ahí ;)

Cacti: Monitorización gráfica de redes y servidores

Cacti

Cacti es una solución completa para la monitorización de redes mediante gráficos y recopilación de datos, todo ello gracias a la potencia de RRDTool’s. Podremos tener información prácticamente a tiempo real sobre nuestros routers, switches o servidores, tráfico de interfaces, cargas, cpu, temperaturas, etc.

Este sistema de monitorización, contiene un recolector de datos excelente, un sistema avanzado de creación de plantillas y gráficos y una completa interfaz de gestión de usuarios. Su instalación no es realmente compleja, lo que lo hace uno de los sistemas más completos y además, open source del momento.

La aplicación está construida en php, y utiliza MySql para el almacenamiento de información sobre los gráficos y datos recogidos. El protocolo utilizado para la comunicación con los distintos equipos es SNMP:

El Protocolo Simple de Administración de Red o SNMP es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Es parte de la familia de protocolos TCP/IP. SNMP permite a los administradores supervisar el desempeño de la red, buscar y resolver sus problemas, y planear su crecimiento.

Wikipedia

Adjunto unos cuantos enlaces de utilidad, referentes a la documentación e instalación de Cacti, foros, y lugares donde obtener plantillas, si encuentro tiempo prepararé un howto sobre la instalación y la configuración de todo el sistema, (http, mysql, php, snmp, etc.).

Y unos cuantos sitios que usan Cacti, para que podáis ver como funciona en producción: