delete

Instalar NTOP en Ubuntu server 14.04

Por necesidades del guion en la última semana hemos necesitado hacer uso de este tipo de aplicaciones.
Avisar que NTOP se dejó aparcado para ofrecer NTOPNG pero no es exactamente lo mismo, dejare aquí escrito el cómo por si en el futuro vuelvo a necesitarlo.
Lo vamos a instalar en un servidor dedicado con Ubuntu server 14.04 y de forma que yo lo entiendo, seguramente hay formas más resumidas o más estilizadas pero esto es personal :P

Actualizamos.

apt-get update && apt-get upgrade -uV

Instalamos el software necesario.

apt-get install libtool automake autoconf make build-essential python-dev subversion -y

Seguimos con las librerías necesarias.

apt-get install libpcap-dev libgdbm-dev zlib1g-dev libgeoip-dev libgraphviz-dev graphviz rrdtool librrd-dev -y

Visitando http://sourceforge.net/projects/ntop/files/ntop/Stable/ vemos que la última versión estable antes de pasar a ser ntopng es la 5.0.1 , será la que usaremos.

cd ~
wget http://sourceforge.net/projects/ntop/files/ntop/Stable/ntop-5.0.1.tar.gz

Descomprimimos y entramos dentro de la carpeta.

tar xvfz ntop-5.0.1.tar.gz
cd ntop-5.0.1

Configuramos, compilamos e instalamos.

./autogen.sh
make
make install

Creamos un nuevo usuario en el sistema y cambiamos el propietario de las carpetas.

useradd -r -s /bin/false ntop
chown -R ntop:ntop /usr/local/share/ntop /usr/local/lib/ntop /usr/local/var/ntop

Actualizar los links y la cache de las librerías compartidas.

/sbin/ldconfig

Y lanzamos el comando por fin.

ntop

Nos pedirá la contraseña para el usuario administrador y una vez establecida podremos entrar por http://ipdelservidor:3000

Errores típicos:

Si nos fijamos en la consola veremos:

**ERROR** RRD: Disabled – unable to create base directory (err 13, /usr/local/var/ntop/rrd)

Para solucionarlo:

mkdir /usr/local/var/ntop/rrd
chmod 0777 /usr/local/var/ntop/rrd

En Utils –> RRD Alarms ntop Python Configuration Error

apt-get install python-setuptools
easy_install Mako

ntop

PD: En un primer momento para probar se instaló en una máquina virtual, pero visto como consume recursos, lo hemos dejado en un servidor dedicado.

delete

Instalar Nagios en Debian 7 – Parte II

En esta parte de la guía nos vamos a centrar en configurar nuestro Nagios para que sea capaz de realizar llamadas VoIP.
Esto surge de la necesidad de poder ser avisado de una forma de la que no tengamos que estar revisando el correo constantemente.
Así que si estáis dispuesto a realizar el sacrificio espero que os lo paguen muy bien en el trabajo, por que si no… lo siento por vosotros.

Importante mencionar que necesitamos una cuenta de algún proveedor VoIP, ya que sin ella se hará imposible :P

Vamos a usar PJSIP/PJSUA así que empezamos instalando subversion y nos copiamos localmente el repositorio de pjproject.

apt-get install subversion
svn checkout http://svn.pjsip.org/repos/pjproject/trunk

Instalamos las dependencias necesarias

apt-get install build-essential automake autoconf libtool libasound2-dev libpulse-dev libssl-dev libsamplerate0-dev libcommoncpp2-dev libccrtp-dev libzrtpcpp-dev libdbus-1-dev libdbus-c++-dev libyaml-dev libpcre3-dev libgsm1-dev libspeex-dev libspeexdsp-dev

Nos vamos al directorio donde hemos descargado el repo y configuramos, compilamos e instalamos:

cd trunk
./configure && make dep && make clean && make && make install

Copiamos el ejecutable en /usr/bin/

cp pjsip-apps/bin/pjsua-i686-pc-linux-gnu /usr/bin/pjsua

Configurar pjsua.

Creamos el archivo de configuración llamado pjsuarc en /etc con la siguiente plantilla (los detalles dependerán del proveedor voip):

nano /etc/pjsuarc
--null-audio
--registrar sip:IPSERVIDOR:PUERTO
--realm=*
--id sip:<username>@<IPSERVIDOR>:PUERTO
--username <username>
--password <password>

Ahora podemos probar a realizar una llamada, y si todo funciona bien podemos seguir.

/usr/bin/pjsua --config-file=/etc/pjsuarc sip:<TELEFONOALQUELLAMAR>@<IPSERVIDOR>:PUERTO

Volvemos con Nagios, recordando que los archivos de configuración estan en la carpeta:

/usr/local/nagios/etc/objects

Necesitamos editar commands.cfg y contacts.cfg.

nano /usr/local/nagios/etc/objects/commands.cfg

Y añadir al final

define command{
        command_name  notify-host-by-sip
        command_line  (sleep 30 && echo q) | /usr/bin/pjsua --config-file=/etc/pjsuarc sip:$CONTACTEMAIL$
}
define command{
        command_name  notify-service-by-sip
        command_line  (sleep 30 && echo q) | /usr/bin/pjsua --config-file=/etc/pjsuarc sip:$CONTACTEMAIL$
}

Ahora añadimos el contacto

nano /usr/local/nagios/etc/objects/contacts.cfg
define contact{
        contact_name  user_sip
        alias  useralias
        service_notification_period  24x7
        host_notification_period  24x7
        service_notification_options  c
        host_notification_options  d
        service_notification_commands  notify-service-by-sip
        host_notification_commands  notify-host-by-sip
        email  TELEFONOALQUELLAMAR>@<IPSERVIDOR>:PUERTO
}

Y con esto hemos acabado, solo nos quedaría añadir como contacto en nuestros hosts o servicios el usuario “user_sip” y ya podremos recibir los avisos en el teléfono.
Nota: Se puede complicar un poco más, haciendo que al descolgar nos reproduzca una grabación, en mi caso con solo ver la llamada me basta ya que inmediatamente puedo entrar y ver donde esta el problema.

delete

Instalar Nagios en Debian 7 – Parte I

Buenos días, esta entrada no es más que para recordar como he podido llevar a cabo una instalación limpia de Nagios.
Va a constar de dos partes, una para instalar Nagios 4.0.8 y otra más especial de la que no he encontrado nada que funcione a día de hoy para poder recibir avisos telefónicos.
Nota: Acaba de salir la versión 4.1.1 pero he preferido omitirla, en este tipo de cosas no nos la podemos jugar :)

Necesitamos instalar los siguientes paquetes:

Apache2
PHP 5
El compilador GCC y las librerias de desarrollo
Las librerias GD

Empezamos con el terminal:

apt-get -y update
apt-get -y install apache2 libapache2-mod-php5 build-essential libgd2-xpm-dev

Creamos el usuario nagios y le asignaremos una contraseña:

useradd -m -s /bin/bash nagios
passwd nagios

Añadimos el nuevo usuario en el grupo nagios

usermod -G nagios nagios

Creamos el nuevo grupo nagcmd para alojar los comandos usados por la interfaz web.

groupadd nagcmd

Añadimos el usuario en el grupo nagios

usermod -a -G nagcmd nagios

También en el grupo apache

usermod -a -G nagcmd www-data

Descargar Nagios y sus Plugins

Para mantener un poco el orden si no existe aun, vamos a crear una carpeta.

mkdir downloads 
cd downloads

Descargamos via wget nagios-core y sus plugins:

wget http://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.0.8/nagios-4.0.8.tar.gz
wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Descomprimimos los paquetes descargados y accedemos al nuevo directorio:

tar xzf nagios-4.0.8.tar.gz
cd nagios-4.0.8

Ejecutamos el script de configuración, pasándolo por el grupo que hemos creado nagcmd

./configure --with-command-group=nagcmd

Compilamos el código fuente:

make all

Instalamos los binarios, los scripts de inicio y los archivos de ejemplo.

make install
make install-init
make install-config
make install-commandmode

Configurar al Interfaz Web

Ejecutaremos el script install-webconf desde el directorio ….downloads/nagios-4.1.1

make install-webconf

Asignaremos el usuario nagiosadmin a la interfaz web de nagios. Nos pedirá una contraseña que sera usada para acceder vía web.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Reiniciamos el servicio Apache

/etc/init.d/apache2 restart

Compilar e Instalar Plugins

Volvemos al directorio donde teníamos el archivo descargado de los plugins, lo descomprimimos y accedemos al directorio.

tar xzf nagios-plugins-2.1.1.tar.gz
cd nagios-plugins-2.1.1

Compilamos e instalamos los plugins

./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

Ya esta todo listo, así que preparemos el terreno para que en el próximo reinicio arranque todo automáticamente.

Crearemos un enlace simbólico con el comando ln, para que arranque el servicio al encender nuestra máquina.

./configure --with-nagios-user=na
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Comprobaremos que toda la configuración es correcta.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Si no devuelve ningún error ya podemos arrancar el servicio.

/etc/init.d/nagios start

Seguimos en Instalar Nagios en Debian 7 – Parte II

delete

Mostrar troncales sip en la dashboard de Elastix

Si después de dar de alta a tus extensiones sip y a tus troncales SIP en elastix tu dashboard te indica que todo son extensiones, existe una forma rápida de arreglarlo.
Antes:

pre

Editando el archivo index.php que se encuentra en:

/var/www/html/modules/dashboard/applets/CommunicationActivity/
(No olvidar hacer backup)
Tenémos que buscar lo siguiente:

            if (preg_match("/^\s*(.+)\s+((\d{1,3}(\.\d{1,3}){1,3})|\(null\))\s+\(\D\)\s+\d{1,3}(\.\d{1,3}){1,3}\s+\d+\s+\(?\D?\)?\s+(\D+)/",$line,$arrToken)) {
                $name = explode("/",$arrToken[1]);
                if (stripos($arrToken[6], 'OK') !== FALSE) { // estado OK
                    if (in_array($name[0],$arrTrunks)) // es una troncal?, registrada

y reemplazar por:

if(eregi("^(([[:alnum:]_.-]*)[[:alnum:]_.-/]*)[[:space:]]*([[:alnum:]\.\(\)]+)[[:space:]]*([a-zA-Z]*)[[:space:]]*([a-zA-Z]*)[[:space:]]*([a-zA-Z]*)[[:space:]]*([0-9]+)[[:space:]]*([[:alnum:]\ \(\)]+)$",$line,$arrToken)){
                    if(eregi("OK",$arrToken[8])){ // estado OK
                        if(in_array($arrToken[2],$arrTrunks)) // es una troncal?, registrada

Y este es el resultado que siempre debió de aparecer

post

Ya lo he dicho anteriormente, pero hay que hacer backup por si algo no funciona como es debido.

De todas formas aquí, estan el original y el modificado

delete

Plantilla para Cacti – Raspberry con sensor temperatura snmp

Buenas, pues ya la he comprobado un poco mas, y creo que esta bien exportada.
Es mi primera vez con lo que no puedo asegurar que este todo correcto, pero la verdad es que funcionar, funciona.

Suponiendo que hemos seguido el anterior post para poder obtener por snmp las lecturas del sensor DHTXX

La plantilla esta funcionando en Cacti 0.8.7g

Descargar cacti_graph_template_raspberry

Instrucciones:
Subid los archivos llamados “cacti_data_template_raspberry_-_temperature.xml” y ”cacti_data_template_raspberry_-_humedity.xml” al directorio “/usr/share/cacti/resource/snmp_queries”
Importar desde el panel de administración de cacti la plantilla(template) “cacti_graph_template_raspberry.xml”

Y una imagen vale mas que mil palabras
cacti_graph_template_raspberry

delete

Sensor de temperatura SNMP con Raspberry y Cacti

Actualizado 31-8-2015: Por problemas en la sd, he tenido que seguir los pasos, y he de apuntar que he tenido que usar la versión de raspbian “2013-09-25-wheezy-raspbian”, con la ultima disponible tenia que comenzar todo de nuevo, y no apetecía.
También apuntar que las librerias DHT estan ya anticuadas, pero cumple mis necesidades.
Hoy me toca apuntarme como ha sido los pasos hasta llegar a tener lo que realmente necesitaba.
Monitorizar la temperatura y humedad en nuestro Cacti.
Intentare recopilar y traducir todos los pasos que he tenido que dar, de los cuales la mayoría han sido guiados por DJs Attempt y Adafruit

Lo primero, materiales y conexión.
Anteriormente use un DHT11, en esta ocasión he optado por un DHT22, que acababa de recibir.
Para mi proyecto no ha merecido la pena el desembolso extra pero tenia curiosidad.
1xDHT22
1xResistencia 10K
1x Raspberry Pi con raspbian wheezy corriendo y con el ssh habilitado (por comodidad xD)

Lo conectamos tal que así:
dht22wiring
(más…)

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR