Cacti no me mustra ningun grafico.

Forums: 

Realice la instalacion de cacti en mi CentOS 5, finalmente pude entrar al sitio http://localhost/cacti, aparentemente todo esta bien, pero a la hora de ver las graficas estas no se muestran, al oprimir con boton derecho del raton y elegir "ver imagen" me sale el mensaje:

No se puede mostrar la imagen “http://192.168.10.1/cacti/graph_image.php?local_graph_id=7&rra_id=0&view_type=tree&graph_start=1197472097&graph_end=1197558497” porque contiene errores.

No se que pueda pasar, ¿alguna sugerencia?

Saludos

El mensaje "No se puede

Imagen de a_villacis

El mensaje "No se puede mostrar la imagen http://..... porque contiene errores", significa justamente eso, que el browser recibió del servidor Web (via la cabecera HTTP llamada Content-Type) que el contenido del URL tiene datos de una imagen, pero los datos realmente enviados no corresponden a ningún formato válido de imagen. Para resolver este problema, resulta de utilidad que intente guardar el contenido del URL problemático como un archivo, con la función del browser "Guardar como...", y luego intente examinarlo con un editor de texto, o con la utilidad hexdump:

hexdump -C /ruta/al/archivo.bin | less

También intente examinar los logs del servidor web (por ejemplo, /var/log/httpd si está en Fedora/CentOS y ha instalado httpd de paquetes).

Las causas más comunes que he visto para problemas al generar gráficos dinámicos son los siguientes:

  1. Ausencia de paquetes o librerías graficas: Frecuentemente los paquetes de PHP segregan el soporte de generación de imágenes como un paquete separado. Por ejemplo, un paquete común requerido es php-gd para usar las funciones GD. Si esa es la causa, tanto en los logs como en el contenido generado saldrá el mensaje siguiente: PHP Fatal error: Call to undefined function imageXXXXX() in algun_archivo.php on line 666. En este caso la solución es simplemente instalar el paquete faltante (yum install php-gd).
  2. Errores inesperados de inclusión o sintaxis en PHP: Si el script que genera el gráfico asume algunas características sobre el entorno PHP que no se cumplen en su caso, puede ocurrir que esté emitiendo advertencias de PHP, las cuales se cuelan en el contenido producido y lo corrompen. Tales advertencias (o errores en su caso) serán claramente visibles en el editor de texto, o en la salida de hexdump. Entonces se deben de corregir o silenciar tales mensajes de error. Frecuentemente esto ocurre si el script asume PHP 4 y el servidor usa PHP 5, pero el script usa alguna sintaxis que ya no es válida en PHP 5. Otra causa posible es la suposición de que register_globals está activado cuando en el /etc/php.ini está inactivo, lo que conduce a intentar usar variables no definidas, lo que puede generar advertencias.
  3. Espacios extra luego de tag de cierre PHP en archivos incluidos: Se debe tener en cuenta que el contenido que NO esté encerrado entre <?php y ?> se manda directamente al browser, sin interpretación previa. Eso implica que si un archivo incluido PHP tiene espacios o saltos de línea extras luego del cierre de PHP, estos saltos se incluyen también en la salida generada. Para contenido HTML o texto, no importa mucho, pero estos saltos también pueden corromper la generación de contenido binario, como un gráfico. Estos saltos de línea también son visibles en el hexdump o en el editor de texto.

perl -e '$x = 2.4; print sprintf("%.0f + %.0f = %.0f\n", $x, $x, $x + $x);'

perl -e '$x = 2.4; print sprintf("%.0f + %.0f = %.0f\n", $x, $x, $x + $x);'

Fijate tambien si tienes

Fijate tambien si tienes todos los requisitos para que cacti funcione sin problemas, por ejemplo yo tuve el mismo problema pero fue porque no tenia instalado php5-cli que es un interprete de los scripts de php5

Saludos,