{"id":2218,"date":"2012-06-15T08:00:54","date_gmt":"2012-06-15T06:00:54","guid":{"rendered":"http:\/\/blog.unelink.es\/?p=2218"},"modified":"2013-11-19T08:20:36","modified_gmt":"2013-11-19T07:20:36","slug":"manual-de-instalacion-y-configuracion-de-cacti","status":"publish","type":"post","link":"https:\/\/hosting.airetech.es\/blog\/wiki\/manual-de-instalacion-y-configuracion-de-cacti\/","title":{"rendered":"Manual de instalaci\u00f3n y configuraci\u00f3n de Cacti"},"content":{"rendered":"<p>Este manual describe la instalaci\u00f3n y configuraci\u00f3n de Cacti en un sistema Linux (Ubuntu 8.04) reci\u00e9n instalado.<\/p>\n<p>El c\u00f3mo instalar el sistema operativo, as\u00ed como el funcionamiento del mismo, no est\u00e1n en el alcance de este documento, asumiendo que el usuario tiene unos m\u00ednimos conocimientos de entornos Linux.<\/p>\n<p>Si la instalaci\u00f3n se realiza en otra distribuci\u00f3n que no sea Ubuntu, los cambios deben ser m\u00ednimos, ya que la instalaci\u00f3n de Nagios en si se debe realizar desde el c\u00f3digo fuente para dar mayor amplitud a los sistemas en los que pueda aplicarse este documento.<\/p>\n<p><u>Paso 1. Entramos en modo root (su)<\/u><\/p>\n<pre>sudo su -mp<\/pre>\n<p><u>Paso 2. Actualizaci\u00f3n del sistema base<\/u><\/p>\n<pre>apt-get update<\/pre>\n<p><u>Paso 3. Instalamos Apache 2 PHP versi\u00f3n 5 y MySQL<\/u><\/p>\n<pre>apt-get install php5 php5-gd php5-mysql mysql-server<\/pre>\n<p><u>Paso 4. Creamos fichero info.php para comprobar la instalaci\u00f3n:<\/u><\/p>\n<pre>\r\ncd \/var\/www\r\necho \"&lt;?php phpinfo(); ?&gt;\"\u00a0 &gt; info.php\r\n<\/pre>\n<p><u>Paso 5. Reiniciamos servicio Apache:<\/u><\/p>\n<pre>\/etc\/init.d\/apache2 restart<\/pre>\n<p><u>Paso 6. Entramos por el navegador en la siguiente URL (usando la IP del servidor):<\/u><\/p>\n<pre>http:\/\/ip.servidor\/info.php<\/pre>\n<p><u>Paso 7. Instalamos las rrdtool y el snmp<\/u><\/p>\n<pre>apt-get install\u00a0 rrdtool snmp<\/pre>\n<p><u>Paso 8. Instalaci\u00f3n de las librerias necesarias para jpeg, png y gd2<\/u><\/p>\n<pre>apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev libgd2-xpm-dev<\/pre>\n<p><u>Paso 9. Instalaci\u00f3n de la libreria GD<\/u><\/p>\n<pre>cd \/tmp\r\nwget -c http:\/\/www.libgd.org\/releases\/gd-2.0.35.tar.gz\r\ntar -xzvf gd-2.0.35.tar.gz\r\ncd gd-2.0.35\r\n.\/configure\r\nmake\r\nmake install\r\n<\/pre>\n<p><u>Paso 10. Instalamos m\u00f3dulo GD de PHP<\/u><\/p>\n<pre>apt-get install php5-gd<\/pre>\n<p><u>Paso 11. Reiniciamos Apache y comprobamos mediante la URL de info.php que est\u00e9n las GD<\/u><\/p>\n<pre>\/etc\/init.d\/apache2 restart<\/pre>\n<p>(navegador http:\/\/ip.servidor\/info.php)<\/p>\n<p><u>Paso 12. Instalamos Cacti<\/u><\/p>\n<pre>apt-get install cacti-cactid<\/pre>\n<p>En este paso se nos pedir\u00e1:<\/p>\n<pre>    \r\n- Which kind of web server should be used by cacti?\u00a0\u00a0 -&gt; Apache2\r\n- Configure database for cacti with dbconfig-common?\u00a0 -&gt; Yes\r\n- Password of your database's administrative user:\u00a0\u00a0\u00a0 -&gt; Aqui debemos poner el password del root de mysql\r\n- MySQL application password for cacti:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; cacti ( o cualquier otro password de nuestra elecci\u00f3n )\r\n- Password confirmation:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; cacti ( o cualquier otro password de nuestra elecci\u00f3n )\r\n<\/pre>\n<p>En este punto ya tenemos instalado Cacti, el cual podemos verlo en la URL:<\/p>\n<pre>\r\nhttp:\/\/ip.servidor\/cacti\/    \r\n<\/pre>\n<p>Esta URL nos mostrar\u00e1 la pantalla de instalaci\u00f3n de Cacti, punto desde el cual seguiremos para completar la instalaci\u00f3n.<\/p>\n<pre>\r\n- Cacti Installation Guide\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; Next\r\n- Please select the type of installation\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; New Install\r\n<\/pre>\n<p>En la siguiente pantalla aparecer\u00e1n las distintas opciones y aplicaciones que Cacti usa, y deben aparecer todas en verde, con el letrero [FOUND]\n<p>Hacemos clic en FINISH<\/p>\n<p>En la siguiente pantalla nos pedir\u00e1 usuario y password:<\/p>\n<pre>\r\nusuario: admin\r\npassword: admin    \r\n<\/pre>\n<p>Nos enviar\u00e1 a una pantalla para que de manera forzosa cambiemos el password del administrador, ponemos:<\/p>\n<pre>\r\nPlease enter a new password for cacti:\r\n\r\nPassword: cacti\r\nConfirm.: cacti\r\n<\/pre>\n<p>(o cualquiero otro password de nuestra conveniencia)<\/p>\n<p>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\u00fa superior:<\/p>\n<pre>\r\nGraphs -&gt; localhost    \r\n<\/pre>\n<p><u>Paso 13. Configurar el poller para spine<\/u><\/p>\n<p>En la pantalla principal de Cacti, en el men\u00fa inferior izquierda, hacemos clic sobre:<\/p>\n<pre>\r\nConfiguration -&gt; Settings    \r\n<\/pre>\n<p>Y en la configuraci\u00f3n hacemos clic sobre la pesta\u00f1a:<\/p>\n<pre>\r\nPoller    \r\n<\/pre>\n<p>Y en la opci\u00f3n que pone:<\/p>\n<pre>\r\nPoller Type\r\nThe poller type to use. This setting will take effect at next polling interval.    \r\n<\/pre>\n<p>Le asignamos el valor:<\/p>\n<pre>\r\nspine    \r\n<\/pre>\n<p>Guardamos los cambios y salimos.<\/p>\n<p><strong>ANEXO 1. A\u00f1adir un host<\/strong><\/p>\n<p>Una vez instalado y configurado Cacti, es momento de a\u00f1adir m\u00e1s hosts o devices para monitorizar.<\/p>\n<p><u>Paso 1. Instalar el demonio snmpd en el host remoto<\/u><\/p>\n<pre>apt-get install snmpd<\/pre>\n<p><u>Paso 2. Configurar el acceso remoto del monitor al host remoto<\/u><\/p>\n<p>Para que el host donde est\u00e1 instalado Cacti sea capaz de acceder v\u00eda snmp al demonio del host remoto, tenemos que editar el fichero:<\/p>\n<pre>nano -w \/etc\/default\/snmpd<\/pre>\n<p>y asegurarnos de que las siguientes opciones queden as\u00ed:<\/p>\n<pre>SNMPDRUN=yes\r\nSNMPDOPTS='-Lsd -Lf \/dev\/null -u snmp -I -smux -p \/var\/run\/snmpd.pid'<\/pre>\n<p>El contenido del fichero completo quedar\u00eda:<\/p>\n<pre># This file controls the activity of snmpd and snmptrapd\r\n\r\n# MIB directories.\u00a0 \/usr\/share\/snmp\/mibs is the default, but\r\n# including it here avoids some strange problems.\r\nexport MIBDIRS=\/usr\/share\/snmp\/mibs\r\n\r\n# snmpd control (yes means start daemon).\r\nSNMPDRUN=yes\r\n\r\n# snmpd options (use syslog, close stdin\/out\/err).\r\nSNMPDOPTS='-Lsd -Lf \/dev\/null -u snmp -I -smux -p \/var\/run\/snmpd.pid'\r\n# snmptrapd control (yes means start daemon).\u00a0 As of net-snmp version\r\n# 5.0, master agentx support must be enabled in snmpd before snmptrapd\r\n# can be run.\u00a0 See snmpd.conf(5) for how to do this.\r\nTRAPDRUN=no\r\n\r\n# snmptrapd options (use syslog).\r\nTRAPDOPTS='-Lsd -p \/var\/run\/snmptrapd.pid'\r\n\r\n# create symlink on Debian legacy location to official RFC path\r\nSNMPDCOMPAT=yes<\/pre>\n<p><u>Paso 3. Configurar la comunidad y el tipo de acceso<\/u><\/p>\n<p>En el host remoto editamos el fichero de configuraci\u00f3n del snmpd:<\/p>\n<pre>nano -w \/etc\/snmpd\/snmpd.conf<\/pre>\n<p>comentamos todas las l\u00edneas que comienzan por:<\/p>\n<pre>com2sec<\/pre>\n<p>y a\u00f1adimos la siguiente l\u00ednea:<\/p>\n<pre>com2sec\u00a0 readonly\u00a0 default\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public<\/pre>\n<p>En la cual le estamos diciendo que el acceso sea de solo lectura, que en la comunidad se llama public.<\/p>\n<p><u>Paso 4. Reiniciamos snmpd en el host remoto<\/u><\/p>\n<pre>\/etc\/init.d\/snmpd restart<\/pre>\n<p>Una vez completados estos 4 pasos desde el host de monitorizaci\u00f3n donde hemos instalado Cacti, podemos probar el acceso remoto con la siguiente l\u00ednea:<\/p>\n<pre>snmpwalk -v 2c -c public xxx.xxx.xxx.xxx .<\/pre>\n<p>o bien con la siguiente l\u00ednea que dar\u00e1 un resultado m\u00e1s corto:<\/p>\n<pre>snmpwalk -v 2c -c public xxx.xxx.xxx.xxx system<\/pre>\n<p>el cual debe ser algo parecido a esto:<\/p>\n<pre>\r\nSNMPv2-MIB::sysDescr.0 = STRING: Linux xxxxxxx.6.32-3-pve #1 SMP Fri Sep 3 12:48:27 CEST 2010 i686\r\nSNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10\r\nDISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1446404) 4:01:04.04\r\nSNMPv2-MIB::sysContact.0 = STRING: Root &lt;root@localhost&gt; (configure \/etc\/snmp\/snmpd.local.conf)\r\nSNMPv2-MIB::sysName.0 = STRING: virt129\r\nSNMPv2-MIB::sysLocation.0 = STRING: Unknown (configure \/etc\/snmp\/snmpd.local.conf)\r\nSNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00\r\nSNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance\r\nSNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance\r\nSNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance\r\nSNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB\r\nSNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB\r\nSNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip\r\nSNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB\r\nSNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup\r\nSNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.\r\nSNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.\r\nSNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.\r\nSNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities\r\nSNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations\r\nSNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations\r\nSNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations\r\nSNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.\r\nSNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00\r\nSNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00\r\nSNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00\r\nSNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00\r\nSNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00\r\nSNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00\r\nSNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00\r\nSNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00\r\n<\/pre>\n<p><u>Paso 5. A\u00f1adir el device (host remoto) a Cacti<\/u><\/p>\n<p>Desde la pantalla principal hacemos clic en el men\u00fa:<\/p>\n<pre>\r\nManagement -&gt; Devices    \r\n<\/pre>\n<p>y solo nos aparecer\u00e1 localhost.<\/p>\n<p>Hacemos clic sobre el enlace superior derecho:<\/p>\n<pre>\r\nAdd    \r\n<\/pre>\n<p>Y nos aparecer\u00e1 una pantalla donde debemos rellenar todos los datos del host que queremos a\u00f1adir.<\/p>\n<p>De todos los valores que salen debemos completar:<\/p>\n<pre>\r\nDescription\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; una descripcion corta o nombre del host\r\nHostname\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; Ip del host remoto\r\nHost Template\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; ucd\/net SNMP host\r\nDowned Device Detection\u00a0\u00a0\u00a0\u00a0 -&gt; SNMP ( en este punto podemos probar como viene por defecto )\r\nSNMP Version\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; Version 2\r\nSNMP Community\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; Public\r\n<\/pre>\n<p>Todos estos valores, tal y como hemos realizado la instalaci\u00f3n, son m\u00e1s que sucifientes. Pero si hemos variado, por ejemplo, la comunidad en la instalaci\u00f3n del demonio snmpd en el host remoto, tambi\u00e9n tendr\u00edamos que cambiarlo aqu\u00ed, obviamente.<\/p>\n<p>Le damos al bot\u00f3n:<\/p>\n<pre>\r\nCreate\r\n<\/pre>\n<p>Nos aparecer\u00e1 de nuevo la misma pantalla, haremos clic en el bot\u00f3n:<\/p>\n<pre>\r\nSave\r\n<\/pre>\n<p>y volveremos al listado de devices.<\/p>\n<p><u>Paso 6. Crear gr\u00e1ficas<\/u><\/p>\n<p>Desde el listado de devices hacemos clic en el nuevo host creado y seguimos el enlace que pone:<\/p>\n<pre>\r\nCreate Graphs for this Host\r\n<\/pre>\n<p>En Graph Templates seleccionamos todas las opciones y lo mismo hacemos en Data Query [SNMP - Interface Statistics], as\u00ed como cualquier otro checkbox<br \/>\nque veamos y nos resulte de inter\u00e9s monitorizar.<\/p>\n<p>Una vez terminado, hacemos clic sobre el bot\u00f3n:<\/p>\n<pre>\r\nCreate\r\n<\/pre>\n<p>Y volveremos nuevamente al listado de devices<\/p>\n<p><u>Paso 7. A\u00f1adir device al \u00e1rbol de gr\u00e1ficas.<\/u><\/p>\n<p>Sobre el listado de devices hacemos clic sobre el checkbox (a la derecha) del host remoto reci\u00e9n creado y en el desplegable de abajo seleccionamos<br \/>\nla opci\u00f3n:<\/p>\n<pre>\r\nPlace on a tree ( default tree )\r\n<\/pre>\n<p>Con eso ya lo tendr\u00edamos a\u00f1adido, pudi\u00e9ndolo comprobar en la pesta\u00f1a superior izquierda:<\/p>\n<pre>\r\ngraphs\r\n<\/pre>\n<p>Pero no veremos nada a\u00fan hasta pasados unos minutos (5 - 15) y haya ejecutado varias veces el poller para actualizar los datos.<\/p>\n","protected":false},"excerpt":{"rendered":"Este manual describe la instalaci\u00f3n y configuraci\u00f3n de Cacti en un sistema Linux (Ubuntu 8.04) reci\u00e9n instalado. El c\u00f3mo instalar el sistema operativo, as\u00ed como el funcionamiento del mismo, no est\u00e1n en el alcance de este documento, asumiendo que el usuario tiene unos m\u00ednimos conocimientos de entornos Linux. Si la instalaci\u00f3n se realiza en otra distribuci\u00f3n que no sea Ubuntu,&nbsp;<a href=\"https:\/\/hosting.airetech.es\/blog\/wiki\/manual-de-instalacion-y-configuracion-de-cacti\/\" class=\"read-more\">Seguir leyendo<\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[10,6],"tags":[147,216,174],"class_list":["post-2218","post","type-post","status-publish","format-standard","hentry","category-linux","category-wiki","tag-cacti","tag-linux","tag-ubuntu","cat-10-id","cat-6-id"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/comments?post=2218"}],"version-history":[{"count":12,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2218\/revisions"}],"predecessor-version":[{"id":2718,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2218\/revisions\/2718"}],"wp:attachment":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/media?parent=2218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/categories?post=2218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/tags?post=2218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}