Munin monitoring How To

Munin es un software para monitorizar i graficar que nos permite analizar el estado de nuestros sistemas.

munin

Introducción

Funciona como un Cacti o Graphite pero a diferencia de estos dos Munin funciona con agentes. Esto podría ser un hándicap pero veremos que nos va ayudar mucho en la instalación y mantenimiento del entorno.

Hay dos partes, la cliente “munin-node” y la servidor “munin”

Aquí tenemos una imagen que nos va ayudar a entender cómo funciona.

 

munin design

El munin-master (servidor) se ejecuta cada 5 minutos desde el crond i ejecuta varios scripts;

Munin-update: Este se encarga de leer el fichero /etc/munin/munin.conf y recoger todos los clientes. Posteriormente se conecta por el puerto 4949/tcp i le dice al “munin-node” que ejecute todos los scripts que tiene en /etc/munin/plugins/ y le devuelva el resultado.

Munin-limites: Este analiza los datos obtenidos de los clientes y revisa si algunos de ellos está por encima del umbral marcado en la gráfica. En caso de ser así actualiza el estado de la gráfica  a “Warning” o “Critical”.

Munin-html: Se encarga de actualizar la web. Si ponemos nuevos nodos o dominios este actualizara la web. (Este no hace nada ejecutándose desde cron si está configurado como cgi)

Munin-graph: “La joya de la corona”. Usando las librerías de RRD-Tool y con los valores de “munin-update” se encarga de generar las gráficas. (Este no hace nada ejecutándose desde cron si está configurado como cgi)

 

Para “munin-html” y “munin-graph” los configuraremos como CGI. Las diferencias son;

Cron: Cuando lo configuramos como cron estos scripts generan todas las web y todas las gráficas cada vez que se ejecuta el script. En caso de tener unos 50 nodos en 5 minutos hay tiempo suficiente para realizar la tarea.

CGI: Configuraremos como CGI cuando tengamos muchos nodos. En mi instalación actualmente tengo 300 nodos con un total de 70.000 ficheros rrd y en 5 minutos no hay tiempo para procesarlo todo. Con esto lo que hacemos es que cada vez que entres en la web “munin-html” generará dicha web y cada vez que entres en un nodo “munin-graph” generará las gráficas que quieres visualizar.

Instalación (servidor)

En este caso vamos a realizar una instalación en una RedHat 5.9 64bits utilizando EPEL.

Registramos la maquina en RedHatNetwork, RedHat Satellite o usando un cd. (Basicamente necesitamos poder ejecutar yum)

 

Instalamos EPEL

cd /tmp/

wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

rpm -Uvh /tmp/epel-release-5-4.noarch.rpm

 

Instalamos munin y munin-node (asi también monitorizamos en servidor)

 

yum install httpd mod_fcgid munin munin-node

 

2

 

chkconfig munin on

chkconfig munin-node on

 

Configuración (servidor)

El fichero principal de configuración es /etc/munin/munin.conf

Lo modificaremos poniendo solo los siguientes datos;

htmldir /var/lib/www/html/munin  #### (es el directorio de la web)

logdir /var/log/munin

includedir /etc/munin/conf.d

graph_period minute

graph_strategy cgi                         ##### Tiene que estar en cgi no en cron

cgiurl_graph /munin-cgi/munin-cgi-graph   #### Es la URL donde tiene los scripts de CGI (lo veremos al configurar el apache)

html_strategy cgi                            ##### Tienen que estar en cgi no en cron

max_processes 100                       ##### Por defecto viene en 16. Son los procesos que creara al ejecutar el munin-update. Si tienes mucha maquina pon un valor más alto. Aun así es bueno realizar varias pruebas hasta encontrar un buen valor.

##### Esto es un ejemplo de cómo crear un nodo cliente. Estos nodos son los que el script “munin-update” se conecta

[NODO_CLIENET.TEST]

address 192.168.0.1

use_node_name yes

 

Para más información de posibles configuraciones (LINK) http://munin-monitoring.org/wiki/munin.conf

 

Ahora ya tenemos configurado el munin para CGI, pero nos queda el apache…

Configuración APACHE para CGI:

En la configuración del apache tenemos que notificarle donde están los scripts para CGI.

Vamos al fichero /etc/httpd/conf.d/munin.conf

Comentaremos las líneas para entender posibles modificaciones.

 

<VirtualHost *:443> ### En mi caso uso SSL con certificado

SSLEngine on

SSLCertificateFile /etc/httpd/cert/selfsigned/munin.node.es.crt

SSLCertificateKeyFile /etc/httpd/cert/selfsigned/keys/ munin.node.es.key

ServerName munin.node.es

DocumentRoot /var/lib/www/html ###Importante que sea el mismo que hemos puesto en el fichero /etc/munin/munin.conf

<IfModule !mod_rewrite.c>

Alias /munin-cgi/munin-cgi-html/static /var/lib/www/html/munin/static ## Lo que hacemos en indicarle donde esta la web (parte estatica). Esto se ejecuta cada vez que entramos en la web

RedirectMatch ^/$ /munin-cgi/munin-cgi-html/

</IfModule>

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^/favicon.ico /var/lib/www/html/munin/static/favicon.ico [L]

RewriteRule ^/static/(.*) /var/lib/www/html/munin/static/$1          [L]

# HTML (Cada vez que llamemos a una html este llamara al script munin-cgi-html

RewriteRule ^(/.*.html)?$           /munin-cgi/munin-cgi-html/$1 [PT]

# Images (Cada vez que solicitemos una grafica este llamara al script munin-cgi-graph

 

RewriteRule ^/munin-cgi/munin-cgi-graph/(.*) /$1

RewriteCond %{REQUEST_URI}                 !^/static

RewriteRule ^/(.*.png)$  /munin-cgi/munin-cgi-graph/$1 [L,PT]

</IfModule>

# Nos tenemos que asegurar que los script que están en /var/lib/www/cgi-bin/ son ejecutables

ScriptAlias /munin-cgi/munin-cgi-graph /var/lib/www/cgi-bin/munin-cgi-graph

<Location /munin-cgi/munin-cgi-graph>

Options +ExecCGI

<IfModule mod_fcgid.c>

SetHandler fcgid-script

</IfModule>

<IfModule mod_fastcgi.c>

SetHandler fastcgi-script

</IfModule>

<IfModule !mod_fastcgi.c>

<IfModule !mod_fcgid.c>

SetHandler cgi-script

</IfModule>

</IfModule>

Allow from all

</Location>

ScriptAlias /munin-cgi/munin-cgi-html /var/lib/www/cgi-bin/munin-cgi-html

<Location /munin-cgi/munin-cgi-html>

Options +ExecCGI

<IfModule mod_fcgid.c>

SetHandler fcgid-script

</IfModule>

<IfModule mod_fastcgi.c>

SetHandler fastcgi-script

</IfModule>

<IfModule !mod_fastcgi.c>

<IfModule !mod_fcgid.c>

SetHandler cgi-script

</IfModule>

</IfModule>

Allow from all

</Location>

<IfModule !mod_rewrite.c>

<Location /munin-cgi/munin-cgi-html/static>

Options -ExecCGI

SetHandler None

</Location>

</IfModule>

</VirtualHost>

 

Configuración (cliente)

Para el cliente editaremos el fichero /etc/munin/munin-node.conf y pondremos la IP del host servidor como una expresión regular;

allow ^192.168.0.2$

 

Información oficial de configuración de munin-node (LINK) http://munin-monitoring.org/wiki/munin-node.conf

 

LogRotate en Windows (Rotación de logs)

Windows no tiene, a diferencia de Linux, un software potente para rotación de logs. EN el caso de Linux tenemos el famoso logrotate que te permite infinidad de opciones.

Debido a una exigencia profesional he tenido que realizar una rotación automática de unos logs en Windows. Dejo aquí el código de un fichero bat (si, bat….) que realiza la rotación, compresión y eliminación de old logs.

Mas que simple..

@echo off
REM Enric Solsona – LogRotate
REM Versió 1.0
REM ___________________________________________________________________________________________________________________________________

REM Declaramos variables etc..
set date=%trdt%%trtt%

REM Vemos la fecha del sistema
set da=%date%

REM Por defecto la fecha viene declarada con /, lo que hacemos ahora es modificar la / por _ Asi no tendremos problemas con directorios
set variable=%da:/=_%

REM Vamos al directorio donde queremos rotar el log
cd “C:program FilesSoftComplog”

REM Movemos el log actual hacia otro fichero con la fecha actual. Por defecto el programa que uso no bloquea el fichero, por eso se puede hacer en caliente
move “C:program FilesSoftComplogsoftlog.log” “C:program FilesSoftComplog%variable%softlog.log”

REM Comprimimos el fichero
zip -r -9 -S %variable%softlog.zip %variable%softlog.log

REM Eliminamos los ficheros mas viejos de 30 dias.
forfiles /p “C:program FilesSoftComplog” /m *softlog.zip -d -30 /c “cmd /c del /q @path”

HAProxy y Apache Cluster con 4 nodos

Dejo aquí un manual para montar un cluster de Apache con dos nodos y dos balanceadores con HAProxy.

Montaremos dos Balanceadores (HAProxy) en modo activo-pasivo. Así mismo tendremos un keepalive que en caso de caída del nodo principal del balanceador, el secundario pasa adquirir la IP virtual, que es desde donde se conectan los cliente.

En los balanceadores configuraremos para que detecten si algún nodo de Apache esta caído, en caso de haber uno caído, las peticiones se dejaran de enviar a dicho nodo.

Los balanceadores están configurados en modo Round-robin (distribución equitativa de la carga entre nodos)

Esta es la estructura lógica de la plataforma:

Empezamos con la configuración de los nodos de apache:

AP1 y AP2

vim /etc/apache2/apache2.conf

Modificamos la configuración de los logs par ano tener problemas con las ip’s de los balanceadores.

[...]
#LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
[...]

Configuramos un fichero para la comprovación del keepalive. Lo que vamos hacer es crear un fichero, que desde los balanceadores se va a comprobar constantemente para ver si el servicio esta funcionando correctamente.

vim /etc/apache2/sites-available/default

añadimos lo siguiente:

[...]
SetEnvIf Request_URI "^/keepalive.balancer$" dontlog
CustomLog /var/log/apache2/access.log combined env=!dontlog
[...]

Podriamos poner por ejemplo el fichero principal de la web (index.htm, index.php etc..) pero los accesos a dicho fichero (desde balanceador o desde clientes) no quedarian reportados.

Creamos el fichero en cuestión:

touch /var/www/keepalive.balancer

Nota! Esto se tiene que hacer en los dos nodos de apache

Ahora vamos a configurar los balanceadores:

BAP1 y BAP2

apt-get install haproxy

Hacemos un backup de la configuración original:

cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg_old

cat “” > /etc/haproxy/haproxy.cfg

vim /etc/haproxy/haproxy.cfg

Dentro copiamos la siguiente configuración:

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        maxconn 4096
        user haproxy
        group haproxy
defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000
listen webfarm 192.168.0.204:80                     # IP VIRTUAL
       mode http
       stats enable
       stats auth user:pass                         #USUARIO DE STATS
       balance roundrobin
       cookie JSESSIONID prefix
       option httpclose
       option forwardfor
       option httpchk HEAD /check.txt HTTP/1.0
       server Nodo1 192.168.0.230:80 cookie A check #IP NODO 1 APACHE
       server Nodo2 192.168.0.231:80 cookie B check #IP NODO 2 APACHE

Modificamos el fichero:

vim /etc/default/haproxy

y ponemos el ENABLE=0 a:

ENABLED=1

Nota: Esto se tiene que hacer en los dos nodos del Balanceador

Procedemos a la instalación de keepalive:

apt-get install keepalived

Modificamos el HAProxy para poder usar la IP virtual:

vim /etc/sysctl.conf

Agregamos al final del fichero:

net.ipv4.ip_nonlocal_bind=1

Ejecutamos:

sysctl –p

Ahora procedemos a configurar el NODO1 del Balanceador como Master:

vim /etc/keepalived/keepalived.conf

Agregamos:

vrrp_script chk_haproxy {           # Requires keepalived-1.1.13
        script "killall -0 haproxy"     # cheaper than pidof
        interval 2                      # check every 2 seconds
        weight 2                        # add 2 points of prio if OK
}
vrrp_instance VI_1 {
        interface eth0
        state MASTER
        virtual_router_id 51
        priority 101                    # 101 on master, 100 on backup
        virtual_ipaddress {
            192.168.0.204               # IP virtual
        }
        track_script {
            chk_haproxy
        }
}

Iniciamos el master:

/etc/init.d/keepalived start

Ahora podemos ver si el balanceador principal esta usando las 2 Ip’s (la fisica y la virtual)

ip addr sh eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

link/ether 00:50:56:85:66:3b brd ff:ff:ff:ff:ff:ff

inet 192.168.0.202/24 brd 192.168.0.255 scope global eth0

inet 192.168.0.204/32 scope global eth0

inet6 fe80::250:56ff:fe85:663b/64 scope link

valid_lft forever preferred_lft forever

Ahora modificamos el Balanceador secundario:

vim /etc/keepalived/keepalived.conf

Agregamos al fichero:

vrrp_script chk_haproxy {           # Requires keepalived-1.1.13
        script "killall -0 haproxy"     # cheaper than pidof
        interval 2                      # check every 2 seconds
        weight 2                        # add 2 points of prio if OK
}
vrrp_instance VI_1 {
        interface eth0
        state MASTER
        virtual_router_id 51
        priority 100                    # 101 on master, 100 on backup
        virtual_ipaddress {
            192.168.0.104               # IP Virtual
        }
        track_script {
            chk_haproxy
        }
}

Iniciamos el servicio:

/etc/init.d/keepalived start

Si realizamos el siguiente comando:

ip addr sh eth0

Vemos que el nodo secundario no esta usando la IP Virtual

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

link/ether 00:50:56:85:58:16 brd ff:ff:ff:ff:ff:ff

inet 192.168.0.203/24 brd 192.168.0.255 scope global eth0

inet6 fe80::250:56ff:fe85:5816/64 scope link

valid_lft forever preferred_lft forever

Ahora ya podemos iniciar el HAProxy en los dos nodos del Balanceador:

/etc/init.d/haproxy start

Ya tenemos nuestro cluster con dos apaches y dos balanceadores y su keepalive activado.

Para las prubas de los frontales podemos parar el BA1 (Balanceador Principal) y ver como sigue funcionando y el secundario ya tiene configurada la IP Virtual.

Para las prubeas de los backends (apache) podemos para uno u otro y desde la web de stats del balanceador ver como estan trabajando

Nagios + Cacti + MySQL + PHPMyAdmin + Centreon

Vamos a realizar la instalación de un sistema NAGIOS (3.2.1) con sus Plugins (1.4.14), PHP (5),  gráficas Cacti (0.8.7e), sistema CENTREON (2.1.5) para control GUI de Nagios, PHPMyAdmin (3.3.2) y MySQL (5.0.51).

Nuestro sistema es una Debian Lenny y sus source, por si alguien le interesa (se de uno que tenia problemas por eso :P) aquí las dejo.

PREPARACIÓN DEL SISTEMA

vim /etc/apt/sources.list

deb http://ftp.caliu.cat/debian/ lenny main
deb-src http://ftp.caliu.cat/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Modificando o no las source vamos hacer un update para tener actualizado los paquetes a instalar;

apt-get update

Como tendremos que “crear paquetes” necesitamos los build-essential;

apt-get install build-essential

Verdad verdadera es la que dice que necesitamos muchas cosas mas, ala a instalar;

apt-get install libdatetime-perl libdbi-perl libdbd-mysql-perl libclass-autouse-perl libmd5-perl libdigest-sha1-perl libhtml-template-perl libimage-size-perl libmime-lite-perl libmime-perl libcompress-zlib-perl libnet-dns-perl liburi-perl libhtml-tagset-perl libhtml-parser-perl libwww-perl libwww-perl libgd-gd2-perl libmailtools-perl libunicode-maputf8-perl libxml-simple-perl libio-stringy-perl libcaptcha-recaptcha-perl libdigest-hmac-perl libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev

Dicen que no hay Nagios sin Apache, pues vamos a fumar pipa de la paz con su php

apt-get install apache2 libapache2-mod-php5 libgd2-xpm-dev php5-common php5-cgi php5-cli php5-mysql

Con esto ya tenemos un apache con las librerías necesarias para hacer la instalación de NAGIOS. Ahora vamos a la intalación pura y dura del motor NAGIOS

INSTALACIÓN NAGIOS

Creamos los usuarios, grupos y modificamos sus características;

/usr/sbin/useradd -m nagios
/usr/sbin/usermod -G nagios nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd www-data

Nos descargamos Nagios, compilamos e instalamos;

cd /tmp
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
tar xzf nagios-3.2.1.tar.gz

cd nagios-3.2.1

./configure –with-command-group=nagcmd
make all


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

Creamos un usuario para nuestro Nagios

NOTA! (El parametro -c es de CREATE, si queremos vamos usuarios el primero hacemos con el -c y los demás sin el!)

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


/etc/init.d/apache2 reload

Vamos a por los plugins…

cd /tmp
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
tar xzf

nagios-plugins-1.4.14.tar.gz

cd nagios-plugins-1.4.14
./configure –with-nagios-user=nagios –with-nagios-group=nagios
make
make install

Vamos a reiniciar apache y nagios. Si funciona crearemos un enlace para que se inicia Nagios con el inicio del  sistema.

/etc/init.d/apache2 restart

/etc/init.d/nagios restart

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Nota! Para confirmar que funciona vamos hacer un check de la config (como un /etc/init.d/apache2ctl -t) y nos dirá si hay errores y donde.

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

Total Warnings: 0
Total Errors: 0

Ya nos podemos conectar a la web http://servidor/nagios con el usuario y contraseña que hemos configurado.

Nagios Login

INSTALACIÓN PHPMYADMIN

Procedemos a la instalación del PhpMyAdmin (por si las moscas 😛 )

cd /tmp

wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.4/phpMyAdmin-3.3.4-all-languages.tar.gz?use_mirror=freefr

tar xzf phpMyAdmin-3.3.4-all-languages.tar.gz

mv phpMyAdmin-3.3.4-all-languages /var/www/phpmyadmin

Login PhpMyAdmin

Entramos en la web http://servidor/phpmyadmin

INSTALACIÓN CACTI


apt-get install mysql-server rrdtool snmp

Activaremos la extensión para el SNMP añadiendo la siguientes lineas;

vim /etc/php5/conf.d/snmp.ini

; Enable snmp extension module

extension=snmp.so

file_uploads = On

vim /etc/apache2/mods-enabled/php5.conf (Añadimos o modificamos los siguientes campos)

# PHP is an HTML-embedded scripting language which attempts to make it

# easy for developers to write dynamically generated webpages.

LoadModule php5_module modules/libphp5.so

# Cause the PHP interpreter to handle files with a .php extension.

AddHandler php5-script .php

AddType text/html .php

# Add index.php to the list of files that will be served as directory

# indexes.

DirectoryIndex index.php

vim /etc/apache2/httpd.conf

Include conf.d/*.conf

Vamos  a preparar la MySQL para la instalación de CACTI;

mysqladmin -u root –p create cacti

cd /tmp

wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz

tar xzvf cacti-0.8.7e.tar.gz

mv cacti-0.8.7e /var/www/cacti

cd /var/www/cacti/

mysql -u root -p cacti < cacti.sql

adduser cacti

mysql -u root -p mysql

mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ’somepassword’;

mysql> flush privileges;

mysql> quit

Agregamos las siguientes lineas;

vim include/config.php

$database_type = “mysql”;

$database_default = “cacti”;

$database_hostname = “localhost”;

$database_username = “cacti”;

$database_password = “cacti”;

Con los passwords que hemos puesto y el usuario que toca.

chown -R cacti log

chown -R cacti rra

Agregamos;

vim /etc/crontab

*/5 *   * * *   cacti   php /var/www/cacti/poller.php > /dev/null 2>&1

Nos conectamos con http://website_host/cacti y pulsamos Next 2 veces y Finish

Cacti

Cacti

Cacti Resumen Instalación

Cacti Login

Nos logamos como Admin y passwd : admin. Luego cambiamos el password y ya podremos añadir los hosts

Ya tenemos nuestro entorno de gráficas 😉

Cacti Inside

Procedemos al Centreon…

INSTALACIÓN CENTREON

Vamos a empezar…

apt-get install tofrodos php5-cli php-db php-date php5-gd php5-mysql php5-snmp php5-ldap php-mail php-mail-mime php-net-smtp php-net-socket php5-xmlrpc rrdtool librrds-perl libconfig-inifiles-perl

Si aparece el siguiente mensaje (debería…);

Fichero de configuración `/etc/php5/conf.d/snmp.ini’
==> Fichero en el sistema creado por usted o por algún script.
==> Fichero también en el paquete.
¿Qué quisiera hacer al respecto? Sus opciones son:
Y o I : instalar la versión del paquete
N o O : conservar la versión actualmente instalada
D : mostrar las diferencias entre versiones
Z : ir a un shell para examinar la situación
La acción por omisión es conservar la versión actual.
*** snmp.ini (Y/I/N/O/D/Z) [por omisión=N] ?

Le damos a D

Seguimos…

apt-get install snmp snmpd libnet-snmp-perl lsb-release mailx libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl libnet-snmp-perl libsnmp-perl

vim /etc/snmp/snmpd.conf

Buscamos a linea #com2sec readonly default public y eliminamos la “#”. Guardamos y salimos

Reiniciamos

invoke-rc.d snmpd restart

Miramos si funciona

snmpget -v1 -c public localhost sysDescr.0

Actualizamos PEAR

pear channel-update pear.php.net

pear upgrade pear

pear install -f -a DB_DataObject DB_DataObject_FormBuilder MDB2 Numbers_Roman Numbers_Words HTML_Common HTML_QuickForm HTML_QuickForm_advmultiselect HTML_Table Auth_SASL HTTP Image_Canvas Image_Color Image_Graph Image_GraphViz Net_Traceroute Net_Ping Validate XML_RPC SOAP

y para finalizar antes de instalar… los ndo..

apt-get install nagios-nrpe-plugin ndoutils-nagios3-mysql

Nos va a pedir el WORKGROUP (por el SAMBA) y el  WINS. Dejamos los valores por defecto.

Nota! En la configuración de ndoutils (pantalla azul) le damos a SI

Descargamos…

cd /tmp

wget http://download.centreon.com/centreon/centreon-2.1.5.tar.gz

tar xzvf centreon-2.1.5.tar.gz

cd centreon-2.1.5

ln -s /usr/sbin/nagios2 /usr/sbin/nagios

bash ./install.sh -i

NOTA!! En mitad de la instalación nos pedirá el fichero de NDOUTILS, este por defecto esta en /usr/sbin/ndomod.o pero en la instalación esta en /etc/nagios3/ndomod.cfg por lo que aparecerá la siguiente pantalla.

El típico error de /usr/sbin/ndomod.o is not a valid file. 😉

NDO ERROR NAGIOS

Le pondremos que la ruta correcta es  /etc/nagios3/ndomod.cfg

NDO OK

Despues de muchos checks llegamos al final y ya podemos entrar en la web: http://servidor/centreon

Centreon Config

Seguimos confirmando la licencia

Centreon Config

Parece que ya esta todo ok…

Centreon Confirmado

De nuevo todo ok

Centreon Confirmado

Configuración Base de datos

Configuración Base de datos

Ya queda poco..

Confirmación Base de datos

La configuración de acceso a centreon…

Configuración de acceso

LDAP, a gusto del consumidor, seria aconsejable en un entorno “perfecto” pero no es el caso…

LDAP Config

Una de las ultimas y siguiente siguiente..

Mas...

Y ya lo tenemos…

Login

Por ultimo editamos el siguiente fichero

vim /etc/default/ndoutils

Modificamos “ENABLE_NDOUTILS=0” y lo dejamos como “ENABLE_NDOUTILS=1

Apache, PHP y MySQL en Fedora

Vamos a instalar y configurar Apache, Mysql y PHP para poder ejecutar una web en wordpress (por ejemplo)

Instalamos Apache, Mysql y PHP;

yum -y install httpd php mysql mysql-server php-mysql

Configuramos para que se inicien automáticamente al inicio del sistema

/sbin/chkconfig httpd on

/sbin/chkconfig –add mysqld

/sbin/chkconfig mysqld on

Iniciamos los servicios:

/sbin/service httpd start

/sbin/service mysqld start

Tendremos que establecer la contraseña de root y quitar el acceso anónimo a la MYSQL

mysqladmin -u root password ‘new-password’

Ahora quitamos el acceso anonimo a la MYSQL:

mysql -u root -p

mysql> DROP DATABASE test;

mysql> DELETE FROM mysql.user WHERE user = ”;

mysql> FLUSH PRIVILEGES;

Vamos a  crear un phpinfo para ver que todo funciona. A diferencia de una Debian, los archivos web, por defecto en Fedora están en  /var/www/html/

Dentro de ese directorio (/var/www/html) creamos el fichero phpinfo.php

vim /var/www/html/phpinfo.php

<?php

phpinfo();

?>

Vamos a crear una base de datos para un wordpress (por ejemplo)

mysql -u root -p

mysql> CREATE DATABASE wordpress;

Establecemos los permisos creando un usuario nuevo;

mysql> GRANT ALL PRIVILEGES ON wordpress.* TO ‘wordpress ‘@’localhost’ IDENTIFIED BY ‘password_nuevo_user’;

MySQL Dumper !

MySQLDumper es una herramienta de PHP y Perl  para hacer copias de bases de datos MySQL. Permite el Backup y Restore de la base de datos sin problemas. Esta especialmente diseñado para entornos de hosting compartido, por eso en su dia a mi me salvo con una base de datos de unas 500Mb en un hosting donde, al hacer el backup en un PHPMyAdmin daba TimeOut, y lógicamente no tenia acceso a la maquina….

MySQLDumper es un proyecto de código abierto y liberado bajo la Licencia GNU.

Su uso al igual que su instalación es como la de un PHPMyAdmin.

si no tienes el zip….

apt-get install unzip

cd /tmp

wget http://sourceforge.net/projects/mysqldumper/files/MySQLDumper/MySQLDumper1.24stable.zip/download

unzip MySQLDumper1.24stable.zip

mv msd1.24stable /var/www/mysqldumper
mkdir /var/www/mysqldumper/work
mkdir /var/www/mysqldumper/work/config
mkdir /var/www/mysqldumper/work/log
mkdir /var/www/mysqldumper/work/backup

chown -R www-data mysqldumper

chmod -R 777 /var/www/mysqldumper/work/

Ahora ya podemos entrar en el servidor por http://servidor/mysqldumper y tenemos lo siguiente;

Instalación MySQLDumper

Es necesario tener ciertos permisos en los ficheros de configuración, si no los tenemos bien tendremos un mensaje como este;

Error en configuración de config.php

Ejecutaremos

chmod 0777 /var/www/mysqldumper/config.php

En mi caso he puesto los datos de administrador (root) de MySQL

Conexión BBDD

Le damos a conectarse a MySQL

Configuración BBDD

Guardar y seguir con la instalación

Si no hemos creado unos directorios nos aparecerá un error parecido a este;

Error en directorios

Y ya lo tenemos!!!!!!!!!

MySQL Dumper


Vamos a crear lo que llaman la “protección de directorio” que no es nada mas que un .htaccess

Le damos al botón de protección de directorio y rellenamos los datos;

Protección de directorio

Y el resultado es;

Password

Con esto ya tenemos nuestro MySQLDumper. Solo nos queda hacer nuestros backups….

Backup DDBB