Cacti es un programa que nos permite ver gráficamente lo que ocurre a nuestras maquinas y a nuestras redes, así que aquí tenemos un completo manual para tener un magnífico sistema de monitorización con software libre realmente muy completito!
Instalación de cacti
Instalamos algunas dependencias
# apt-get install dbconfig-common javascript-common libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libjs-jquery libjs-jquery-cookie libphp-adodb mysql-client-5.5 mysql-server mysql-server-5.5 mysql-server-core-5.5 wwwconfig-common php5-cli php5-mysql php5-snmp snmp snmpd rrdtool libmysqlclient-dev libsnmp-dev libpcap-dev apache2 libapache2-mod-php5 php5
Nos descargamos la última versión de cacti y la descomprimimos
# cd /usr/src/ # wget http://www.cacti.net/downloads/cacti-0.8.8c.tar.gz # tar xzvf cacti-0.8.8c.tar.gz
Creamos la base de datos y el usuario para cacti
# mysql -uroot -p mysql> create database cacti; mysql> grant all privileges on *.* to 'cacti'@'%' identified by 'password' with grant option; mysql> exit
Importamos la estructura de tablas y registros que viene con cacti
# cd cacti-0.8.8c # mysql -u cacti -p cacti < cacti.sql
Movemos los ficheros de cacti a /var/www
# cd /var/www/ # mkdir cacti # cd cacti # mv /usr/src/cacti-0.8.8c/* . # chown -R www-data:www-data /var/www/cacti
Modificamos el fichero de configuración de cacti y le indicamos la configuración de la base de datos
# cd /var/www/cacti/include # vi config.php $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "password"; $database_port = "3306"; $database_ssl = false;
Vamos al navegador e introducimos http://ipdelservidor/cacti y seguimos las instrucciones.
Al finalizar entramos con admin/admin y nos pide cambiar el password.
Ahora cacti ya está instalado, pero vamos a añadirle algunas cosillas mas.
Cacti spine
Cacti spine es otro motor para generar las gráficas de cacti, por defecto trae uno, pero este permite generar las gráficas de forma más rápida.
Lo descargamos e instalamos
# cd /usr/src # wget -c http://www.cacti.net/downloads/spine/cacti-spine-0.8.8c.tar.gz # tar xvzf cacti-spine-0.8.8c.tar.gz # cd cacti-spine # ./configure # make && make install
Generamos el fichero de configuración
# cd /usr/local/spine/etc/ # cp spine.conf.dist spine.conf # vi spine.conf DB_Host localhost DB_Database cacti DB_User cacti DB_Pass password DB_Port 3306 DB_PreG 0
Entramos en la web de cacti y configuramos spine:
Settings > Paths > Spine Poller File Path: /usr/local/spine/bin/spine
Pulsamos a Save y si todo es correcto nos dirá que ha encontrado el fichero.
Finalmente añadimos esto en el cron
# vi /etc/crontab # cacti */1 * * * * www-data php5 /var/www/cacti/poller.php > /dev/null 2>&1
Instalación de netflow (nfdump y nfsen)
Netflow, es un protocolo creado por cisco y usado por varios fabricantes, para exportar fuera del router / firewall, el detalle del tráfico…. de esta manera, tendremos un histórico para hacer accounting, ver ataques y en definitiva, para tener controlado todo un poco en nuestros routers.
Existen herramientas de pago fantásticas, tipo Netflow Analyzer, pero su precio, hace que nos lo pensemos bien si lo queremos tener en casa, para jugar o una pequeña empresa, así que, la alternativa libre, pasa por usar nfsen (frontend) y nfdump.
Instalamos algunas dependencias
# apt-get install gcc make flex librrd-dev mtr htop autoconf bison libmailtools-perl rrdtool librrds-perl rrdtool libio-socket-ssl-perl # perl -MCPAN -e 'install Socket6'
Descargamos el programa, lo compilamos y lo instalamos
# cd /usr/src # wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.13/nfdump-1.6.13.tar.gz # tar xvzf nfdump-1.6.13.tar.gz # cd nfdump-1.6.13 # ./configure --prefix=/ --enable-nfprofile # make && make install
Ahora vamos a por nfsen
# cd /usr/src # wget -c http://downloads.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz # tar xvzf nfsen-1.3.6p1.tar.gz
Lo guardamos en /etc
# mkdir /etc/nfsen # cd nfsen-1.3.6p1/etc # cp nfsen-dist.conf /etc/nfsen/nfsen.conf # mkdir -p /data/nfsen # useradd -G www-data netflow --system
Modificamos el fichero de configuración para indicarle cual es el usuario y grupo de apache
# vi /etc/nfsen/nfsen.conf $WWWUSER = "www-data"; $WWWGROUP = "www-data"; # nfdump tools path $PREFIX = '/bin';
Si queremos, añadimos un router que nos esté mandando sus flows.
%sources = ( 'upstream1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' }, 'peer1' => { 'port' => '9996', 'IP' => '10.226.90.33' }, );
E iniciamos la instalación
# ./install.pl /etc/nfsen/nfsen.conf
Añadimos nfsen para que se arranque al inicio y lo iniciamos
# ln -s /data/nfsen/bin/nfsen /etc/init.d/nfsen # update-rc.d nfsen defaults 20 # service nfsen start
Instalación de pmacct
Ahora vamos a añadir una capa más, pmacct.
Pmacct será el enlace entre cacti y los flows de los dispositivos. Usaremos nfsen para controlar tráfico y ataques.
Descargamos y descomprimimos pmacct:
# cd /usr/src # wget -c http://www.pmacct.net/pmacct-1.5.0.tar.gz # tar xvzf pmacct-1.5.0.tar.gz
Creamos el directorio de instalación
# mkdir /etc/pmacct
Y lo instalamos
# cd pmacct-1.5.0 # ./configure --prefix=/etc/pmacct && make && make install
Una vez instalado, vamos a configurar lo que nos interesa de pmacct, que más tarde, enlazaremos con cacti.
# vi /etc/pmacct/pmacct.conf debug: true daemonize: true nfacctd_port: 9996 pidfile: /var/run/nfacctd.pid plugin_buffer_size: 80524 plugin_pipe_size: 18052324 networks_file: /etc/pmacct/nfacctd.hosts plugins: memory[in], memory[out] aggregate[in]: dst_host aggregate[out]: src_host imt_path[in]: /tmp/in.pipe imt_path[out]: /tmp/out.pipe
En el fichero nfacctd.hosts, añadimos las IPs / rangos que nos interese tener en detalle.
# vi /etc/pmacct/nfacctd.hosts 10.90.226.32/28 10.90.226.64/27 10.139.39.66/32
Ahora arrancamos pmacct
# cd /etc/pmacct/sbin # ./nfacctd -D -f /etc/pmacct/pmacct.conf
Para comprobar que funciona
# netstat -lanp |grep 9996 udp 0 0 0.0.0.0:9996 0.0.0.0:* 15203/nfacctd: Core
Y que recogemos los flows
# cd /etc/pmacct/bin # ./pmacct -s -p /tmp/out.pipe SRC_IP PACKETS BYTES For a total of: 0 entries # ./pmacct -s -p /tmp/in.pipe DST_IP PACKETS BYTES For a total of: 0 entries
Y ahora comprobamos si hace accounting de las IPs en concreto (se tiene que configurar el router para que mande las flow a nuestro equipo –mikrotik-):
# ./pmacct -c dst_net -N 10.90.226.33 -p /tmp/in.pipe
https://github.com/PoP-ES/Cacti-Pmacct
Fuente: Instalar cacti + cacti-spine
Fuente: Instalación de netflow
Fuente: Instalación de pmacct
Knoppix Albons liked this on Facebook.
RT @Blackhold_: Blog] Cacti + nfsen + pmacct: Cacti es un programa que nos permite ver gráficamente lo que ocurre http://t.co/pdJAvyWChy
“Cacti + nfsen + pmacct” http://t.co/eIhzjN8kRt
RT @Blackhold_: Blog] Cacti + nfsen + pmacct: Cacti es un programa que nos permite ver gráficamente lo que ocurre http://t.co/pdJAvyWChy
@Blackhold_ fes una ullada a graphite
Sheila Jackson on Fox News stumping for & want Obama to debate Hillary.See, her being on Fox News makes her suspect automatically. Go back and fold your Handkerchief, Rep. Jackson-Lee.
Hey, that’s a clever way of thinking about it.
Cristina CriProdusele handmade pot fi minunate…mai ales cele facut din materiale de buna calitate si făurite cu multa dragoste si inclinaÅ£ie spre acest hobby. Eu ador bijuteriile, accesoriile de tot felul…cand eram mica imi confectionam bratari din noduri, colorate, cu dungi pe diagonala sau in litera V, colorate sau uni, combinatii surprinzatoare….imi lua o zi sa o fac caci sunt sute de noduri, dar merita. Si acum dupa 15 ani,le pastrez intr-un sertar.SUnt foarte draguti cerceii!!! Am dat like cu numele Cristina Cri