Jul 5, 2010

Instalación del cliente Zabbix a partir del código fuente

En uno de los artículos anteriores vimos la forma de instalar el servidor de Zabbix desde su propio código fuente. En el presente artículo vamos a desarrollar la instalación del cliente Zabbix (1.8.2) en una máquina RHEL 5.5 de 32 bits.

Vamos a comenzar instalando en nuestro sistema el compilador gcc, necesario para generar el binario del cliente de Zabbix.

[root@rhel ~]# yum install -y gcc

A continuación descargaremos el código fuente de Zabbix, lo descomprimiremos y seguidamente lo compilaremos, generando los binarios correspondientes.

[root@rhel ~]# wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.2/zabbix-1.8.2.tar.gz?use_mirror=freefr

[root@rhel ~]# tar xvzf zabbix-1.8.2.tar.gz ; cd zabbix-1.8.2

[root@rhel zabbix-1.8.2]# ./configure --enable-agent

[root@rhel zabbix-1.8.2]# make ; make install

Si hubiéramos querido obtener un binario que incluyera las librerías de forma estática, tendríamos que haber añadido la opción --enable-static al script configure.

El siguiente paso consistirá en crear todos los directorios necesarios para Zabbix, añadir un usuario denominado zabbix al sistema y copiar los archivos de arranque y configuración a sus respectivos directorios.

[root@rhel zabbix-1.8.2]# mkdir -p /etc/zabbix/alert.d /var/log/zabbix-agent /var/run/zabbix-agent

[root@rhel zabbix-1.8.2]# adduser -r -d /var/run/zabbix-agent -s /sbin/nologin zabbix

[root@rhel zabbix-1.8.2]# cp -a misc/conf/zabbix_agentd.conf /etc/zabbix

[root@rhel zabbix-1.8.2]# cp -a misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d

[root@rhel zabbix-1.8.2]# chown -R zabbix:zabbix /var/run/zabbix* /var/log/zabbix* /etc/zabbix

[root@rhel zabbix-1.8.2]# chown root:root /etc/init.d/zabbix_agentd

Una vez copiados los ficheros, modificaremos ciertos parámetros que por defecto vienen establecidos en dichos archivos.

[root@rhel zabbix-1.8.2]# cat /etc/zabbix/zabbix_agentd.conf
...
# Nombre del archivo de log
LogFile=/var/log/zabbix-agent/zabbix_agentd.log

# Habilitar el uso de comandos remotos
EnableRemoteCommands=1

# Número máximo de segundos para el procesamiento
Timeout=10

# Nombre del host (salida del comando hostname)
Hostname=rhel.local

# Dirección IP del servidor Zabbix
Server=192.168.1.10


[root@rhel zabbix-1.8.2]# cat /etc/init.d/zabbix_agentd
# Ubicación del binario
progdir="/usr/local/sbin/"

# Retardo de 5 sg para el reinicio
...
restart() {
stop
sleep 5
start
...

En el fichero /etc/services definiremos los servicios para el agente de Zabbix.

[root@rhel ~]# echo "zabbix-agent    10050/tcp  Zabbix Agent"   >> /etc/services
[root@rhel ~]# echo "zabbix-trapper 10051/tcp Zabbix Trapper" >> /etc/services

Ahora sólo nos quedará por iniciar el agente y hacer que éste se inicie automáticamente al arrancar el sistema.

[root@rhel ~]# chkconfig zabbix_agentd on

[root@rhel ~]# chmod +x /etc/init.d/zabbix_agentd

[root@rhel ~]# service zabbix_agentd start

En caso de querer utilizar SELinux, recomiendo tenerlo activado (Enforcing) durante todo el proceso de instalación del cliente, ya que la primera vez que configuré el cliente de Zabbix tenía desabilitado SELinux (disabled), y al volver a reiniciar el sistema con SELinux activado (enforcing), tuve varios problemas.

No comments:

Post a Comment