Este manual describe la instalación y configuración de Cacti en un sistema Linux (Ubuntu 8.04) recién instalado.
El cómo instalar el sistema operativo, así como el funcionamiento del mismo, no están en el alcance de este documento, asumiendo que el usuario tiene unos mínimos conocimientos de entornos Linux.
Si la instalación se realiza en otra distribución que no sea Ubuntu, los cambios deben ser mínimos, ya que la instalación de Nagios en si se debe realizar desde el código fuente para dar mayor amplitud a los sistemas en los que pueda aplicarse este documento.
Paso 1. Entramos en modo root (su)
sudo su -mp
Paso 2. Actualización del sistema base
apt-get update
Paso 3. Instalamos Apache 2 PHP versión 5 y MySQL
apt-get install php5 php5-gd php5-mysql mysql-server
Paso 4. Creamos fichero info.php para comprobar la instalación:
cd /var/www echo "<?php phpinfo(); ?>" > info.php
Paso 5. Reiniciamos servicio Apache:
/etc/init.d/apache2 restart
Paso 6. Entramos por el navegador en la siguiente URL (usando la IP del servidor):
http://ip.servidor/info.php
Paso 7. Instalamos las rrdtool y el snmp
apt-get install rrdtool snmp
Paso 8. Instalación de las librerias necesarias para jpeg, png y gd2
apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev libgd2-xpm-dev
Paso 9. Instalación de la libreria GD
cd /tmp wget -c http://www.libgd.org/releases/gd-2.0.35.tar.gz tar -xzvf gd-2.0.35.tar.gz cd gd-2.0.35 ./configure make make install
Paso 10. Instalamos módulo GD de PHP
apt-get install php5-gd
Paso 11. Reiniciamos Apache y comprobamos mediante la URL de info.php que estén las GD
/etc/init.d/apache2 restart
(navegador http://ip.servidor/info.php)
Paso 12. Instalamos Cacti
apt-get install cacti-cactid
En este paso se nos pedirá:
- Which kind of web server should be used by cacti? -> Apache2 - Configure database for cacti with dbconfig-common? -> Yes - Password of your database's administrative user: -> Aqui debemos poner el password del root de mysql - MySQL application password for cacti: -> cacti ( o cualquier otro password de nuestra elección ) - Password confirmation: -> cacti ( o cualquier otro password de nuestra elección )
En este punto ya tenemos instalado Cacti, el cual podemos verlo en la URL:
http://ip.servidor/cacti/
Esta URL nos mostrará la pantalla de instalación de Cacti, punto desde el cual seguiremos para completar la instalación.
- Cacti Installation Guide -> Next - Please select the type of installation -> New Install
En la siguiente pantalla aparecerán las distintas opciones y aplicaciones que Cacti usa, y deben aparecer todas en verde, con el letrero [FOUND]
Hacemos clic en FINISH
En la siguiente pantalla nos pedirá usuario y password:
usuario: admin password: admin
Nos enviará a una pantalla para que de manera forzosa cambiemos el password del administrador, ponemos:
Please enter a new password for cacti: Password: cacti Confirm.: cacti
(o cualquiero otro password de nuestra conveniencia)
Con esto ya tenemos instalado Cacti y configurado para el primer device que es localhost, el cual podemos verlo si hacemos clic sobre el menú superior:
Graphs -> localhost
Paso 13. Configurar el poller para spine
En la pantalla principal de Cacti, en el menú inferior izquierda, hacemos clic sobre:
Configuration -> Settings
Y en la configuración hacemos clic sobre la pestaña:
Poller
Y en la opción que pone:
Poller Type The poller type to use. This setting will take effect at next polling interval.
Le asignamos el valor:
spine
Guardamos los cambios y salimos.
ANEXO 1. Añadir un host
Una vez instalado y configurado Cacti, es momento de añadir más hosts o devices para monitorizar.
Paso 1. Instalar el demonio snmpd en el host remoto
apt-get install snmpd
Paso 2. Configurar el acceso remoto del monitor al host remoto
Para que el host donde está instalado Cacti sea capaz de acceder vía snmp al demonio del host remoto, tenemos que editar el fichero:
nano -w /etc/default/snmpd
y asegurarnos de que las siguientes opciones queden así:
SNMPDRUN=yes SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
El contenido del fichero completo quedaría:
# This file controls the activity of snmpd and snmptrapd # MIB directories. /usr/share/snmp/mibs is the default, but # including it here avoids some strange problems. export MIBDIRS=/usr/share/snmp/mibs # snmpd control (yes means start daemon). SNMPDRUN=yes # snmpd options (use syslog, close stdin/out/err). SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid' # snmptrapd control (yes means start daemon). As of net-snmp version # 5.0, master agentx support must be enabled in snmpd before snmptrapd # can be run. See snmpd.conf(5) for how to do this. TRAPDRUN=no # snmptrapd options (use syslog). TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid' # create symlink on Debian legacy location to official RFC path SNMPDCOMPAT=yes
Paso 3. Configurar la comunidad y el tipo de acceso
En el host remoto editamos el fichero de configuración del snmpd:
nano -w /etc/snmpd/snmpd.conf
comentamos todas las líneas que comienzan por:
com2sec
y añadimos la siguiente línea:
com2sec readonly default public
En la cual le estamos diciendo que el acceso sea de solo lectura, que en la comunidad se llama public.
Paso 4. Reiniciamos snmpd en el host remoto
/etc/init.d/snmpd restart
Una vez completados estos 4 pasos desde el host de monitorización donde hemos instalado Cacti, podemos probar el acceso remoto con la siguiente línea:
snmpwalk -v 2c -c public xxx.xxx.xxx.xxx .
o bien con la siguiente línea que dará un resultado más corto:
snmpwalk -v 2c -c public xxx.xxx.xxx.xxx system
el cual debe ser algo parecido a esto:
SNMPv2-MIB::sysDescr.0 = STRING: Linux xxxxxxx.6.32-3-pve #1 SMP Fri Sep 3 12:48:27 CEST 2010 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1446404) 4:01:04.04 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmpd.local.conf) SNMPv2-MIB::sysName.0 = STRING: virt129 SNMPv2-MIB::sysLocation.0 = STRING: Unknown (configure /etc/snmp/snmpd.local.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB. SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model. SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP. SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
Paso 5. Añadir el device (host remoto) a Cacti
Desde la pantalla principal hacemos clic en el menú:
Management -> Devices
y solo nos aparecerá localhost.
Hacemos clic sobre el enlace superior derecho:
Add
Y nos aparecerá una pantalla donde debemos rellenar todos los datos del host que queremos añadir.
De todos los valores que salen debemos completar:
Description -> una descripcion corta o nombre del host Hostname -> Ip del host remoto Host Template -> ucd/net SNMP host Downed Device Detection -> SNMP ( en este punto podemos probar como viene por defecto ) SNMP Version -> Version 2 SNMP Community -> Public
Todos estos valores, tal y como hemos realizado la instalación, son más que sucifientes. Pero si hemos variado, por ejemplo, la comunidad en la instalación del demonio snmpd en el host remoto, también tendríamos que cambiarlo aquí, obviamente.
Le damos al botón:
Create
Nos aparecerá de nuevo la misma pantalla, haremos clic en el botón:
Save
y volveremos al listado de devices.
Paso 6. Crear gráficas
Desde el listado de devices hacemos clic en el nuevo host creado y seguimos el enlace que pone:
Create Graphs for this Host
En Graph Templates seleccionamos todas las opciones y lo mismo hacemos en Data Query [SNMP - Interface Statistics], así como cualquier otro checkbox
que veamos y nos resulte de interés monitorizar.
Una vez terminado, hacemos clic sobre el botón:
Create
Y volveremos nuevamente al listado de devices
Paso 7. Añadir device al árbol de gráficas.
Sobre el listado de devices hacemos clic sobre el checkbox (a la derecha) del host remoto recién creado y en el desplegable de abajo seleccionamos
la opción:
Place on a tree ( default tree )
Con eso ya lo tendríamos añadido, pudiéndolo comprobar en la pestaña superior izquierda:
graphs
Pero no veremos nada aún hasta pasados unos minutos (5 - 15) y haya ejecutado varias veces el poller para actualizar los datos.
como hago para recuperar los privilegios de admin por error copie privilegios de otro usuario y ahora no puedo manipular ciertas cosas.