Adios Hanna
Tal día como hoy se ha marchado.
Descansa vieji.
Crear iconos gd2 para usar con Nagios
Bueno, aún no he publicado todo lo que tengo en borradores, pero tengo que ponerme al día.
Esta vez, vamos a crear ficheros .gd2 para poder usarlos con nagios y nos sea más bonito y nuestros hosts sean más reshulones en la vista «map» xD.
Lo primero crear una imagen PNG con el icono que queremos crear con un tamaño de 45x45px.
Instalar:
apt-get install libgd-tools |
Ejecutar:
pngtogd2 archivo.png archivo.gd2 0 1 |
Y, por último:
Subir los dos archivos a share/images/logos.
Ya podemos añadir «icon image archivo.png» y «statusmap_image archivo.gd2» a nuestros hosts.
Nota: Si queréis que check_mk los muestre hay que subir los .PNG donde lo tengamos instalado.
En mi caso:
/usr/share/check_mk/web/htdocs/images/icons/
Avisos Nagios en Telegram – Debian 7
Siguiendo el hilo del servidor nagios con avisos telefónicos que montamos en mis ultimas entradas, ahora vamos a implementar avisos por telegram, usando Telegram-cli, así ademas de recibir la llamada, tendremos información detallada de que ocurre sin tener que conectarnos al nagios.
Lo primero es instalar las dependencias necesarias para telegram-cli
apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev python2.7-dev make git |
Y clonar el repositorio de telegram-cli, yo lo haré en mi carpeta home
cd home |
git clone --recursive https://github.com/vysheng/tg.git && cd tg |
./configure |
Si no ha dado ningún error podemos compilar.
make |
Al terminar comprobaremos que funciona correctamente con:
/home/tg/bin/telegram-cli -k /home/tg/tg-server.pub -W -e "msg <nombretelegram> probando" |
La primera vez que lo ejecutemos nos pedirá que introduzcamos un numero de teléfono, importante no olvidar el código de país, para españa +34.
Nos llegara un mensaje con el código que debemos de introducir.
Este paso se tendrá que repetir con todos los usuarios que vayan a usar telegram-cli, lo que quiere decir que si estamos con root, tendremos que cambiar al usuario nagios y ejecutar telegram-cli para que nos pida nuevamente otro código.
Ahora vamos a la parte Nagios.
Tenemos que editar los siguientes archivos: commands.cfg y contacts.cfg
En commands.cfg añadiremos lo siguiente (comprobando que la ruta de telegram-cli y tg-server.pub sean correctas)
#Telegram define command{ command_name notify-host-by-telegramcli command_line /home/tg/bin/telegram-cli -k /home/tg/tg-server.pub -WR -U root -D -e 'msg $_CONTACTTG$ $NOTIFICATIONTYPE$ Host : $HOSTNAME$ is $HOSTSTATE$ Address: $HOSTADDRESS$ Info: $HOSTOUTPUT$ @ $LONGDATETIME$' } define command{ command_name notify-service-by-telegramcli command_line /home/tg/bin/telegram-cli -k /home/tg/tg-server.pub -WR -U root -D -e 'msg $_CONTACTTG$ $NOTIFICATIONTYPE$ Host : $HOSTNAME$ Address: $HOSTADDRESS$ - Service : $SERVICEDESC$ is $SERVICESTATE$ Additional Info: $SERVICEOUTPUT$ @ $LONGDATETIME$' } |
En contacts.cfg añadimos:
define contact{ contact_name telegram-cli _tg nombredelcontacto ; Nombre de telegram al que irán dirigidos los mensajes, si tiene espacios hay que usar "_" alias pruebas service_notification_period 24x7 host_notification_period 24x7 service_notification_options c host_notification_options d service_notification_commands notify-service-by-telegramcli host_notification_commands notify-host-by-telegramcli } |
Y solo nos queda editar algún host o servicio y poner el contacto elegido, en mi caso «telegram-cli» aunque también es posible añadir notify-service-by-telegramcli y notify-host-by-telegramcli a un contacto ya existente, sin olvidar añadir el nombre de telegram con «_tg» y complementar notificaciones.
Por último reiniciamos el servicio y a comprobar que todo funcione.
service nagios restart
Por fin, google a aceptado el cambio, ya somos Lantejuela (a secas)
Más vale tarde que nunca pero la madrugada pasada recibí esta respuesta a la petición para que quitasen el «La», parece que se lo toman muy enserio.
Hola:
Nos complace comunicarte que tu incidencia se ha corregido.
Dependiendo del tipo de incidencia que nos hayas notificado, puede pasar un tiempo hasta que la actualización aparezca en otros productos y servicios, como las indicaciones de ruta en coche, Google Maps para móviles y Google Earth. Si crees que no hemos resuelto correctamente la incidencia, ponte en contacto con nosotros.
Gracias de nuevo por ayudarnos a mejorar Google Maps. Tu información nos permite crear mapas mejores y más útiles para todos los usuarios.
Sigue explorando,
El equipo de Google Maps
Paint It Black (Todo negro)
Bueno, antes de nada, Felices fiestas a tod@s.
Aunque sea alguien arisco y al que no le gustan estas fechas (ni ninguna otra) hay que reconocer que tiene su mérito.
Y como no se en que anuncio la he oído (Creo que en alguno de ps4), se me ha metido en la cabeza y no la saco XD
Y en castellano.
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 |
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.
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.
Debe estar conectado para enviar un comentario.