Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo resolver problemas de Cacti en linux

 Le preguntamos a Gemini, la inteligencia artificial de Google, cómo resolver problemas de Cacti en linux

Explicanos detalladamente cómo resolver problemas de Cacti en linux

Para resolver problemas en Cacti, el diagnóstico debe abordar de forma sistemática la cadena de procesamiento de datos: la recolección (Poller), el procesamiento de archivos RRD (RRDTool), la base de datos MariaDB y el servidor web Apache/PHP.

1. Ubicación de Registros (Logs) y Herramientas de Diagnóstico

Cacti registra internamente las fallas del recolector y la base de datos, mientras que las fallas de renderizado web quedan capturadas por el servidor web y PHP:

ComponenteArchivo / ComandoPropósito
Log de Cacti/var/www/html/cacti/log/cacti.logMuestra tiempos de ejecución del Poller, fallos de SNMP y consultas SQL.
Apache Error Log/var/log/apache2/error.logExcepciones de PHP, faltas de módulos y errores de permisos.
Monitoreo en Vivotail -f /var/www/html/cacti/log/cacti.logVerificación del ciclo de recolección en tiempo real.
Verificación Manualphp /var/www/html/cacti/poller.php --forceEjecución forzada del Poller para detectar fallas por consola.

2. Problemas Frecuentes y Soluciones Paso a Paso

Problema 1: Gráficas en Blanco o sin Actualizar (Gaps/Nan)

Causa: El ejecutable del recolector (cmd.php o spine) no se ejecuta cada 5 minutos, o el usuario del servidor web (www-data / apache) no tiene permisos de escritura en la carpeta /rra/.

Solución:

Verifica que el archivo de cron existe y está habilitado en /etc/cron.d/cacti:

Bash

cat /etc/cron.d/cacti

# Debe contener: */5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1

Corrige la propiedad y permisos de las carpetas de almacenamiento y logs:

Bash

sudo chown -R www-data:www-data /var/www/html/cacti/rra /var/www/html/cacti/log

sudo chmod -R 775 /var/www/html/cacti/rra /var/www/html/cacti/log


Ejecuta el poller manualmente desde la consola como el usuario del servidor web:

Bash

sudo -u www-data php /var/www/html/cacti/poller.php --force --debug

Problema 2: Timeouts de SNMP y Dispositivos en Estado "Down"

Causa: Bloqueo de firewall (puerto UDP 161), cadena de comunidad SNMP incorrecta o versión incompatibles (v1, v2c, v3).

Solución:

Prueba la conectividad SNMP directa desde la consola del servidor Cacti usando snmpwalk:

Bash

snmpwalk -v 2c -c tu_comunidad <IP_DISPOSITIVO>  .1.3.6.1.2.1.1.1.0

Si el comando falla por timeout, valida que el puerto UDP 161 esté abierto en la red o firewall local:

Bash

nc -zu <IP_DISPOSITIVO> 161

En la interfaz web de Cacti (Management > Devices > [Tu Dispositivo]), ajusta el valor de SNMP Timeout (por defecto 500 ms) a 2000 ms o superior si el enlace es lento o tiene latencia.

Problema 3: Desincronización de Hora y Zonas Horarias

Causa: Diferencia entre la zona horaria del sistema operativo, la base de datos MariaDB y el archivo php.ini. Esto genera un desajuste donde RRDTool ignora las métricas por considerarlas "del futuro" o "del pasado".

Solución:

Revisa que la zona horaria en /etc/php/8.x/apache2/php.ini coincida con la del sistema:

Ini, TOML

date.timezone = America/Mexico_City


Carga las zonas horarias del sistema en MariaDB:

Bash

sudo mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql -u root mysql

Otorga permisos de lectura del timezone al usuario de Cacti:

SQL

GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost';

FLUSH PRIVILEGES;


Reinicia el servidor web y la base de datos:

Bash


sudo systemctl restart apache2 mariadb

Problema 4: Rendimiento Lento del Recolector (Poller Overrun)

Causa: El tiempo necesario para consultar todos los dispositivos supera la ventana de 5 minutos (300 segundos), provocando que los procesos de recolección se traslapen y bloqueen el servidor.

Solución:

Cambia el recolector por defecto cmd.php (PHP monohilo) por Spine (compilado en C y multihilo).

Ajusta los procesos paralelos dentro de Cacti en Configuration > Settings > Poller:

Number of Threads per Process: Incrementa de 1 a 10 o más según la cantidad de núcleos CPU.

Concurrent Processes: 2 a 4.

Revisa en /var/www/html/cacti/log/cacti.log que la recolección tome menos de 290 segundos:

Plaintext

SYSTEM STATS: Time:18.2341 Method:spine Processes:2 Threads:10 Hosts:45

Problema 5: Base de Datos Corrupta o Errores de Tablas InnoDB

Causa:
Cortes de energía, falta de espacio en disco o agotamiento de la memoria de MariaDB (innodb_buffer_pool_size).

Solución:

Ejecuta la herramienta de reparación de MariaDB sobre la base de datos de Cacti:

Bash

sudo mysqlcheck -u cactiuser -p --auto-repair --check cacti

Incrementa el límite de memoria asignado a las tablas de Cacti en /etc/mysql/mariadb.conf.d/50-server.cnf:

Ini, TOML

[mysqld]

max_heap_table_size = 128M

tmp_table_size = 128M

innodb_buffer_pool_size = 1G


Reinicia MariaDB:

Bash


sudo systemctl restart mariadb

¿Deseas profundizar en alguna de estas tareas de mantenimiento?

Analizar el archivo cacti.log

Instalar y configurar Spine

Reparar gráficos con rrdtool tool

Ads by CJ - Linux Foundation

Share This