terça-feira, 4 de novembro de 2008

Iniciando o Zabbix (Compilado) automáticamente pelo ntsysv no CentOS 5.2

Introdução:
Realizei a instalação do Zabbix 1.6 compilando a partir dos fontes de acordo com minhas necessidades, sistema configurado e instalado veio a dúvida, e agora como fazer para que o mesmo inicie automáticamente através do ntsysv?
Bom vamos lá:
Primeiramente fui ao site do zabbix na seção de downloads ver o que eu encontrava, na seção Distributions existe um link para o cvs do fedora, entrei na pasta do EL-5, já que estou usando CentOS 5.2, e foi lá que encontrei os arquivos bases, os quais adaptei para minhas necessidades. São eles zabbix-server.init e zabbix-agent.init.
Com os arquivos em mãos, precisei apenas acertar os caminhos do binário, arquivo de configuração e pidfile do zabbix.

Criando os arquivos:
# cd /etc.init.d/

# vi zabbix-server
#!/bin/sh

#

# chkconfig: - 85 15

# description: zabbix server daemon

#



### BEGIN INIT INFO

# Provides: zabbix

# Required-Start: $local_fs $network

# Required-Stop: $local_fs $network

# Default-Start:

# Default-Stop: 0 1 2 3 4 5 6

# Short-Description: start and stop zabbix server

# Description: Zabbix Server

### END INIT INFO



# zabbix details

ZABBIX=/usr/local/sbin/zabbix_server

CONF=/etc/zabbix/zabbix_server.conf

PIDFILE=/var/tmp/zabbix_server.pid



# Source function library.

. /etc/rc.d/init.d/functions



# Source networking configuration.

. /etc/sysconfig/network



# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0



[ -x $ZABBIX ] || exit 5

[ -e $CONF ] || exit 6



RETVAL=0



case "$1" in

start)

echo -n "Starting zabbix server: "

daemon $ZABBIX -c $CONF

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/zabbix

;;

stop)

echo -n "Shutting down zabbix server: "

killproc zabbix_server

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zabbix

;;

restart|reload)

$0 stop

$0 start

RETVAL=$?

;;

status)

status zabbix_server

RETVAL=$?

;;

*)

echo "Usage: $0 {start|stop|restart|reload|status}"

exit 1

;;

esac



exit $RETVAL

# vi zabbix-agent

#! /bin/sh

#

# chkconfig: - 85 15

# description: zabbix agent daemon

#



### BEGIN INIT INFO

# Provides: zabbix-agent

# Required-Start: $local_fs $network

# Required-Stop: $local_fs $network

# Default-Start:

# Default-Stop: 0 1 2 3 4 5 6

# Short-Description: start and stop zabbix agent

# Description: Zabbix Agent

### END INIT INFO



# zabbix details

ZABBIX_AGENTD=/usr/local/sbin/zabbix_agentd

CONF=/etc/zabbix/zabbix_agentd.conf

PIDFILE=/var/tmp/zabbix_agentd.pid



# Source function library.

. /etc/rc.d/init.d/functions



# Source networking configuration.

. /etc/sysconfig/network



# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0



[ -x $ZABBIX_AGENTD ] || exit 5

[ -e $CONF ] || exit 6



RETVAL=0



case "$1" in

start)

echo -n "Starting zabbix agent: "

daemon $ZABBIX_AGENTD -c $CONF

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/zabbix-agent

;;

stop)

echo -n "Shutting down zabbix agent: "

killproc zabbix_agentd

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zabbix-agent

;;

restart|reload)

$0 stop

$0 start

RETVAL=$?

;;

status)

status zabbix_agentd

RETVAL=$?

;;

*)

echo "Usage: $0 {start|stop|restart|reload|status}"

exit 1

;;

esac



exit $RETVAL

Tornando os arquivos executáveis:
# chmod +x zabbix-server
# chmod +x zabbix-agent

Criando os links simbólicos nos diferentes níveis de init:
# cd ../rc0.d/
# ln -s ../init.d/zabbix-server zabbix-server
# ln -s ../init.d/zabbix-agent zabbix-agent
# cp zabbix-* ../rc1.d/
# cp zabbix-* ../rc2.d/
# cp zabbix-* ../rc3.d/
# cp zabbix-* ../rc4.d/
# cp zabbix-* ../rc5.d/
# cp zabbix-* ../rc6.d/

Adicionando o serviço ao sistema:
# chkconfig –add zabbix-server
# chkconfig –add zabbix-agent

Selecionando o serviço para iniciar automáticamente:
# ntsysv

Marque as opções zabbix-agent e zabbix-server
Clique em OK

Referências:
Site Oficial Zabbix
CVS Fedora
Fórum CentOSBR
Viva o Linux

Um comentário:

Fabiano Souza disse...

Cara estou lendo o seu blog aqui e preciso de uma ajuda, tenho que configurar o Zabbix para monitorar Processamento, Memória e I/O mas eu nunca usei ele e estou tomando um coro no manual oficial e na internet não achei nada falando ao respeito, você poderia me ajudar?

Obrigado