Vou mostrar, nesta dica, como fazer a instalação do agente do
Zabbix em um
CentOS GNU/Linux.
Vamos baixar o source do Zabbix em:
Crie um diretório
/srv/zabbix e copie o source do Zabbix.
Ou digite wget e o caminho do download:
# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz/download
Extraia os arquivos:
tar -xvzf zabbix-[Versão].tar.gz
Dentro do diretório descompactado, digite:
# ./configure --enable-agent
Obs.: devem estar instalados no servidor os pacotes (make e gcc).
# make install
Crie o usuário zabbix:
# groupadd zabbix
# useradd -g zabbix zabbix
Adicione estas linhas no arquivo
/etc/services:
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
O comando ./configure --enable-agent, criou um arquivo de configuração que você deve mudar as permissões e depois editar:
# chown zabbix:zabbix /usr/local/etc/zabbix_agentd.conf
Edite estas configurações no arquivo
/usr/local/etc/zabbix_agentd.conf:
Server=[IP_DO_SERVIDOR]
ListenPort=10050
StartAgents=3
ServerActive=[IP_DO_SERVIDOR]
Hostname=[Nome do computar que está configurando o agente]
Timeout=3
Configuração de firewall
Adicione as seguintes linhas no arquivo
/etc/sysconfig/iptables:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
Obs.: estas linhas devem ser adicionadas antes das regras de REJECT, deste arquivo.
Agora atualize as regras:
# iptables-restore /etc/sysconfig/iptables
Temos também que desabilitar o SELinux para o site funcionar.
Edite o arquivo
/etc/sysconfig/selinux para:
SELINUX=permissive
Agora vamos configurar a inicialização do sistema:
Obs.: estamos usando o exemplo do CentOS, caso você use outro sistema copie o executável apropriado.
# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
Configure para iniciar automaticamente:
# chkconfig --add zabbix_agentd
# chkconfig --level 35 zabbix_agentd on
Agora inicie o serviço:
# /etc/init.d/zabbix_agentd start
Veja se o processo está em execução:
# ps -ef|grep zabbix
Ele deve retornar algo como:
zabbix 13617 1 0 12:36 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 13618 13617 0 12:36 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 13619 13617 0 12:36 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 13620 13617 0 12:36 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 13621 13617 0 12:36 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 13622 13617 0 12:36 ? 00:00:00 /usr/local/sbin/zabbix_agentd
root 13624 1595 0 12:36 pts/0 00:00:00 grep --color=auto zabbix
Pronto, agora, por fim vamos adicionar o host que será monitorado no Zabbix.
Abra o frontend: http://[IP_DO_SERVIDOR]/zabbix
Vá em Configuration > Hosts > Create host:
Configure com os dados apropriados:
E clique em "Save".
Pronto, agora é só checar se a máquina está sendo monitorada.
Extras
Para ajudar na resolução de problemas comuns, seguem alguns truques:
Testando a conectividade entre cliente e servidor: o cliente deve conseguir comunicação pelas portas 10050 e 10051 com o servidor e o servidor deve conseguir comunicação pela porta 10050.
Cliente:
# telnet 192.168.1.199 10051
Trying 192.168.1.199...
Connected to 192.168.1.199.
Escape character is '^]'.
Connection closed by foreign host.
# telnet 192.168.1.199 10050
Trying 192.168.1.199...
Connected to 192.168.1.199.
Escape character is '^]'.
Connection closed by foreign host.
Servidor:
# telnet 192.168.1.106 10050
Trying 192.168.1.106...
Connected to 192.168.1.106.
Escape character is '^]'.
Connection closed by foreign host.
Checando se o servidor recebe resposta do agente:
Servidor:
# zabbix_get -s 192.168.1.106 -p 10050 -k "net.tcp.service[ssh]"
1
Caso estes testes falhem, pode haver alguma falha nos passos desta configuração ou talvez será preciso uma configuração de firewall.