Nagios Varnish_check

Nagios Varnish_check_health


Vamos configurara el puglin de nagios para Varnish, con este monitor nos monitorizara que la conexión al backend funciona correctamente. Acordaros que en la configuración del myconfig.vcl tenemos los backends monitorizados.

[#] vi /etv/varnish/myconfig.vcl

## Backend definition. 
# set default backend if no server cluster specified

backend backend_default {
    .host = "img01";
    .port = "81";
    .probe = {
    .url = "/test.jpg";
    .interval = 10s;
    .timeout = 5 s;
    .window = 5;
    .threshold = 3;
      }
}


Varnish on Centos

Varnish on CentOs
Que es Varnish??? Si quieres instalarlo seguro que ya sabes lo que es y para que sirve…
 Nosotros vamos a utilizar Varnish como proxy inverso (reverse-proxy) de contenido estático, pero este “Open Source”  está diseñado  como acelerador de contenidos, ya sea estático o dinámico. De momento solo vamos a utilizarlo como cache de imágenes, de nuestro portal.
La instalación es sencilla, pero tendremos que familiarizarnos con su propio lenguaje de VCL http://www.varnish-cache.org/trac/wiki/VCL, luego explicare el fichero de configuración que tenemos aplicado en nuestro sistema.
La estructura, tenemos dos servidores Varnish, que atienden por el puerto 80 (estos dos server están balanceado) a su vez tenemos dos backend que contienen los repositorios de imágenes, que responden al puerto 81 con un LighttpD sobre Windows.
Desglose técnico:
Varnish Server:
PROXY01 -> CentOs 5.6 kernel 2.6.18-238.9.1.el5 x64 – 12 GB RAM – 136 GB disco.
PROXY02 -> CentOs 5.6 kernel 2.6.18-238.9.1.el5 x64 – 12 GB RAM – 136 GB disco.
Backend Server:
IMG01 -> Windows 2008 Enterprise R2 x64 – 9 GB RAM – 1.5 TB imágenes (1 TB ocupado)
IMG02 -> Windows 2008 Enterprise R2 x64 – 9 GB RAM – 1.5 TB imágenes (1 TB ocupado)
Storage System:
Cabina de disco HP EVA 4400 (fibra SCSI), conexión por fibra a los backend.

                           

Añadir servidor on Nagios

Añadir servidor Linux
Una vez instalado el paquete NRPE en nuestro server Linux, tenemos que añadirlo al nuestro entorno de monitorización Nagios. Si has leído el artículo Nagios on Centos podrás seguir este.
Vamos a añadir un servidor SQUID (reverse proxy cache) en nuestra estructura, lo primero que tenemos que hacer es añadir un nuevo grupo de server
shell> vi /usr/local/nagios/etc/objects/sys-files/grupos-hosts.cfg
#############################################################
define hostgroup{
        hostgroup_name            SQUID-Servers
        alias                                Servidores De Cache Imagenes
        }
#############################################################
Tenemos que añadir un nuevo servidor al entorno Nagios
shell> vi /usr/local/nagios/etc/objects/hosts.cfg
######################################################################
define host{
use           Standard-Linux
host_name     SQUID01       ; The name we're giving to this switch
alias         SQUID01       ; A longer name associated with the switch
address       xx.xx.xx.xx   ; IP address of the switch
hostgroups    SQUID-Servers
}
######################################################################
Añadimos el fichero de configuración del nuevo servidor.
shell> vi /usr/local/nagios/etc/objects/server-files/SQUID01.cfg
# Create a service to PING to server
define service {
use                              Standard-Service               ; Inherit values from a template
host_name                             SQUIDD01                        ; The name of the host the service is associated with
servicegroups              SYS-Networks                   ; Grupo al que pertenece el servicio
service_description       PING                                 ; The service description
check_command          check_ping!200.0,20%!600.0,60%      ; The command used to monitor the service
normal_check_interval           5            ; Check the service every 5 minutes under normal conditions
retry_check_interval              1           ;Re-check the service every minute until its final/hard state is determined
 }
Tenemos que ir añadiendo los servicios que queremos monitorizar, solo el puesto el del PING.
Solo nos queda recargar la configuración de Nagios y comprobar que funciona todo los servicios que hemos puesto.
shell> service nagios reload
Si nos da un error podemos mirar en que nos hemos equivocado
shell>/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Chek_hp

Nagios Chek_hp
Iré poniendo los servicios que tenemos monitorizados en nuestro entorno.
Para monitorizar los agentes de HP, tenemos que tener instalado el net-snmp la configuración del snmp la realizaremos con la instalación del pulgin  check_hp
shell> yum install net-snmp

======================================================================
 Package        Arch         Version          Repository         Size
======================================================================
Installing:
net-snmp      x86_64   1:5.3.2.2-9.el5_5.1     updates           702 k
Installing for dependencies:
lm_sensors   x86_64    2.10.7-9.el5            base              525 k
net-snmp-libs  x86_64  1:5.3.2.2-9.el5_5.1     updates           1.3 M
Nos tenemos que acordar que arranque el servicio en el inicio del server
shell> chkconfig snmpd on

Nagios Chek_disk

Nagios Chek_disk
Iré poniendo los servicios que tenemos monitorizados en nuestro entorno.
Para monitorizar los discos, tenemos que modificar  la configuración de nrpe.cfg para que monitorice los diferentes volúmenes.
shell> vi /usr/local/nagios/etc/nrpe.cfg
command[check_dev]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/cciss/c0d0p2
Para ver los diferentes volúmenes que queremos monitorizar

Nagios Chek_mem

Nagios Chek_mem
Iré poniendo los servicios que tenemos monitorizados en nuestro entorno.
Para monitorizar la memoria, tenemos que añadir el plugin check_mem
/usr/local/nagios/libexec/
Darle permisos para que lo acceda el usuario nagios
shell> chown nagios.nagios /usr/local/nagios/libexec
shell> chmod –R 777 /usr/local/nagios/libexec
Modificamos el fichero de configuración y añadimos la siguiente línea.
shell> vi /usr/local/nagios/etc/nrpe.cfg
command[check_mem]=/usr/local/nagios/libexec/check_mem -w 80 -c 90
Ahora tendremos que definir el servicio
shell> vi  /usr/local/nagios/etc/objects/server-files/SERVER.cfg

###################################################################
define service{
        use                     Standard-Service
        host_name               SERVER
        servicegroups           Sys-Services
        service_description     Memory Usage
        check_command           check_nrpe_linux!check_mem
        }
###################################################################

Nagios on Centos

No tardare mucho en subir el manual...

Instalar NPRE

Instalar NPRE  Nagios.
Lo primero que tenemos que hacer es crear la cuenta de usuario que utilizara Nagios para monitorizar remotamente este servidor. Este usuario es el mismo que utilizamos en el servidor que tiene el Nagios.
shell> useradd nagios
shell> passwd nagios
Instalar los “Plugins de Nagios” (Nagios Plugins)
Miramos la última versión estable que tengamos disponible http://www.nagios.org/download/plugins
En la carpeta que lo hemos descargado
shell> tar xzf nagios-plugins-1.4.15.tar.gz
shell> cd nagios-plugins-1.4.15
Si no tenemos instalado el paquete openssl-devel tenemos que instalarlo, yum  -y para instalar todas las dependencias  del paquete.
shell> yum –y install openssl-devel

firewall cluster on Centos


Este sera el resultado final de nuestro linux-firewall en clúster mediante heartbeat administrado con fwbuilder y sincronizado entre los nodos con conntrack-tools.


daemon conntrack-tools

Para configurar el daemon de conntrackd, tenemos que crear la carpeta del trabajo para dicho daemon, en nuestro caso
shell> mkdir /etc/conntrackd/
Tenemos que copiar el fichero de configuración
shell> cp /root/conntrack/conntrack-tools-0.9.15/doc/sync/ftfw/conntrackd.conf /etc/conntrackd/conntrackd.conf
Podemos mira el fichero de configuración conntrackd.conf es bastante extenso y tiene muchas configuraciones posibles, en nuestro caso vamos a modificar dos conceptos:
*Sincronización utilizando el protocolo unicast sobre el puerto UDP
* Las IP que no tiene que controlar
UDP {
            IPv4_address 10.10.10.102
            IPv4_Destination_Address 10.10.10.101
            Port 3780
            Interface eth5
      }
...
Address Ignore {
                  IPv4_address 127.0.0.1       # loopback
                  IPv4_address 192.168.0.100   # virtual IP
                  IPv4_address 192.168.0.102   # dedicated link ip
               }
Nota: La configuración que estamos realizando está enfocada a la instalación del firewall en clúster, la herramienta de conntrack se utilizara para la sincronización de nodos.
Tenemos que informar al conntrackd que su fichero de configuración lo tenemos en la nueva ruta, para que cuando iniciemos el daemon cargué nuestra configuración.
shell> /usr/sbin/conntrackd -C /etc/conntrackd/conntrackd.conf

conntrack-tools on Centos

En un firewall de alta disponibilidad es necesario tener instalado el paquete conntrack-tools esta herramienta nos servirá para sincronizar la tablas de conexiones de nuestro nodo  MASTER al nodo ESCLAVO cuando este primero este caído, esta herramienta sincronizara la tabla Netfilter/Iptables de un nodo a otro.
Para la instalación tenemos que revisar la versión del kernel que estamos utilizando
shell> uname -a
Es necesario tener una versión igual o superior 2.6.18
Requisitos previos
*Conexión del sistema de seguimiento
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m (Si utilizes IPv6)
*nfnetlink: La interface genérica de mensajería de Netfilter.
CONFIG_NETFILTER_NETLINK=m
*nf_conntrack_netlink: La interface de mensajería de seguimiento de conexiones de sistema.
CONFIG_NF_CT_NETLINK=m
* connection tracking event notification API: La interface de notificacion de eventos basados en el flujo.
CONFIG_NF_CONNTRACK_EVENTS=y
Para instalar conntrak-tools necesitamos tener instalado las librerias libnetfilter_conntrack, libnfnetlink y que el kernel este peraparo para utiliza el subsistema netnetlink_conntrack (kernel >= 2.6.18)
Necesitamos tener el gcc instalado
shell> yum install gcc

heartbeat on Centos

Tenemos que tener configurado los ficheros hosts de los servidores que forman parte del clúster, todos los servidores se tienen que conocer, esto es muy importante para en buen funcionamiento de los servicios de clúster.
shell> vi /etc/hosts
127.0.0.1        localhost.localdomain localhost
192.168.0.101     fw01.dominio.local      fw01
192.168.0.102     fw02.dominio.local      fw02
Instalamos heartbeat
shell> yum install heartbeat
==========================================================================================================
 Package Arch Version Repository Size
==========================================================================================================
Installing: heartbeat x86_64 2.1.3-3.el5.centos extras 1.8 M
 Installing for dependencies: PyXML x86_64 0.8.4-4.el5_4.2 base 1.0 M
heartbeat-pils x86_64 2.1.3-3.el5.centos extras 220 k
heartbeat-stonith x86_64 2.1.3-3.el5.centos extras 348 k
Puede que nos de un error de en la instalación, tendríamos que volver a lanzar el yum install.
shell> yum install hearbeat
Tenemos que ponerlo en el inicio
shell> chkconfig –add hearbeat
Para configurar y poner en marcha el heartbeat necesitamos tres ficheros, estos están en la carpeta de la instalación, los copiamos en la carpeta de trabajo.

cacti on Centos

Primero tenemos que instalar todos los componentes que vamos a necesitar.
1. Instalar net-snmp :
shell> yum install net-snmp net-snmp-utils
2. Instalar RRDTool: Para poder instalar este paquete, es necesario crear un archivo de repositorio para este paquete.
2.1 Crear un fichero dag.repo dentro de  /etc/yum.repos.d :
shell> vi /etc/yum.repos.d/dag.repo

2.2 Copia el  códido y guardalo:
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1

2.3 Instalar RRDTool:
shell> yum install perl-rrdtool rrdtool
3. Instalar RPHP y HTTP:
shell> yum install php httpd
4. Instalar MYSQL:
shell> yum install mysql mysql-server php-mysql php-snmp
5. Instalar componente para el CRONTAB:
shell> yum install vixie-cron
Una vez instalados todos los componentes que vamos a necesitar para que funcione el CACTI, pasamos a configurar los componentes.
 

cacti Architecture Plugins

Para poder instalar los "plugins" de CACTI, necesitmos instalar primero el componete "Cacti Architecture Plugins" para instalarlo, desde la consola: 
shell> wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip

shell> unzip cacti-plugin-0.8.7e-PA-v2.6.zip

shell> cd cacti-plugin-arch

shell> cp –R cacti-plugin-0.8.7e-PA-v2.6.diff /var/www/cacti
Instalar el parche para CACTI
shell> cd /var/www/cacti

shell> patch –p1 –N < cacti-plugin-0.8.7e-PA-v2.6.diff
Hay que modificar el fichero de configuración “config.php”
shell> vi /var/www/cacti/include/config.php
Copiar el código:
/* Do not edit this line */
$config = array();
$config['url_path'] = '/cacti/';
Ahora ya podemos instralar los plugins
Referencia:

SOLR en Centos


1.- Crear estructura de directorio:
                1.1.-  APPS
shell> cd /
shell> mkdir solr
shell> cd solr
shell> mkdir apps
shell> mkdir tu_apps
                1.2.- INDEX
shell> cd solr
shell> mkdir index
shell> mkdir index/tu_apps
Siempre en “minúsculas” que el amigo Linux es Key-Sensity
Tenemos que modificar los permisos de las carpetas, pero lo haremos más
2.- Copiar la aplicación:
Con el SSH, copiamos la aplicación...aqui necesitas los conocimientos de algún programador que tenga desarrollado la aplicacion de solr. Puesdes encontrar mas información http://lucene.apache.org/solr/ 

3.- Modificar los ficheros de configuración adecuándola a nuestra estructura de ficheros.
Los ficheros que tenemos que configurar están en la carpeta:
Configurarnos la carpeta de destino del índice
shell> solr/conf/advert/conf/solrconfig.xml
Configuramos los puertos de escuha y la memoria a utilizar por el WS:
shell> solr/apps/tu_apps/jetty.xml
El fichero jettyReindx.xml se configura el puerto del reindexador.