Instalação e Configuração do Zabbix 2.0.5 no Debian Squeeze

E ai galera, aqui eu vou abordar a instalação e configuração do servidor Zabbix mais a configuração de um Cliente Debian, CentOS e Windows Server 2008 R2.

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.

  • Zabbix Server
    • IP: 192.168.0.180/24
    • Nome: zabbix
  • Cliente Debian
    • IP: 192.168.0.181/24
    • Nome: debian
  • Cliente CentOS 6
    • IP: 192.168.0.182/24
    • Nome: centos6
  • Cliente Windows Server 2008 R2
    • IP: 192.168.0.183/24
    • Nome: win2008r2

Vamos atualizar os repositório e fazer um update do sistema.

aptitude update && aptitude dist-upgrade -y

Agora precisamos instalar as dependências

aptitude install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl3-dev apache2 fping curl -y

Aqui informe a senha para o usuário root e confirme ela

Agora precisamos criar um usuário para o zabbix

useradd zabbix -s /bin/false

Agora vamos inserir este usuário no grupo de adm

gpasswd -a zabbix adm

Agora vamos criar um diretório para armazenar os fontes do zabbix

mkdir /usr/src/zabbix

Agora vamos acessar o diretório

cd /usr/src/zabbix

Agora vamos obter o código fonte

wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/zabbix-2.0.5.tar.gz

Agora vamos desempacotar o zabbix

tar -xzvf zabbix-2.0.5.tar.gz

Agora vamos acessar o diretório do zabbix

cd zabbix-2.0.5

Agora vamos criar o diretório que vai armazenar os arquivos de configuração do zabbix

mkdir /etc/zabbix

Agora vamos acertar as permissões do nosso diretório

chown -R zabbix:zabbix /etc/zabbix

Agora vamos mandar gerar a configuração do zabbix

./configure --sysconfdir=/etc/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl

Agora vamos mandar instalar ele

make install clean

Agora vamos acessar o diretório que contém os arquivos de configuração do zabbix

cd /etc/zabbix

Agora vamos mandar remover os diretórios que não vamos utilizar.

rm -rf zabbix_*.conf.d

Agora vamos acertar a permissão do diretório do zabbix

chown -R zabbix:zabbix /etc/zabbix

Agora vamos criar um banco de dados para o zabbix

mysql -u root -p
CREATE DATABASE zabbix;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'senha';
FLUSH PRIVILEGES;
quit

Agora vamos ajustar o arquivo de configuração do servidor zabbix

vim /etc/zabbix/zabbix_server.conf
[...]
LogFile=/var/log/zabbix/zabbix_server.log
[...]
PidFile=/var/run/zabbix/zabbix_server.pid
[...]
DBName=zabbix
[...]
DBUser=zabbix
[...]
DBPassword=senha

Agora vamos acessar o diretório que contém o banco do zabbix

cd /usr/src/zabbix/zabbix-2.0.5/database/mysql

Agora vamos mandar importar o schema do banco

mysql -u zabbix -psenha -D zabbix < schema.sql

Agora vamos mandar importar o arquivo com as imagens

mysql -u zabbix -psenha -D zabbix < images.sql

Agora vamos mandar importar os dados do banco

mysql -u zabbix -psenha -D zabbix < data.sql

Agora vamos copiar os scripts de inicialização do zabbix

cp /usr/src/zabbix/zabbix-2.0.5/misc/init.d/debian/zabbix-* /etc/init.d/

Agora vamos acertar as permissões deles

chmod 755 /etc/init.d/zabbix-*

Agora vamos fazer o sistema identificar as portas 10050 e 10051

echo "zabbix_agent    10050/tcp" >> /etc/services
echo "zabbix_trap     10051/tcp" >> /etc/services

Agora vamos acertar a localização dos arquivos de log e o pid do zabbix

vim /etc/zabbix/zabbix_agentd.conf
[...]
PidFile=/var/run/zabbix/zabbix_agentd.pid
[...]
LogFile=/var/log/zabbix/zabbix_agentd.log
[...]

Agora vamos criar os diretórios para armazenar os logs e o pid do zabbix

mkdir /var/log/zabbix
mkdir /var/run/zabbix

Agora vamos acertar as permissões dos diretório

chown -R zabbix:zabbix /var/log/zabbix /var/run/zabbix

Agora vamos iniciar os serviços

/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start

Agora vamos inserir o zabbix na inicialização do sistema

insserv -f -v zabbix-agent
insserv -f -v zabbix-server

Agora vamos consultar os processos do zabbix

ps aux |grep zabbix
zabbix   14733  0.0  0.4 115368  2540 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14736  0.0  0.3 115368  1856 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14737  0.0  0.3 115368  1528 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14738  0.0  0.5 117136  2560 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14739  0.0  0.5 117136  2560 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14740  0.0  0.5 117136  2560 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14741  0.0  0.5 117136  2560 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14742  0.0  0.5 117136  2560 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14743  0.0  0.5 117136  2560 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14744  0.0  0.2 115368  1496 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14745  0.0  0.2 115368  1496 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14746  0.0  0.2 115368  1496 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14747  0.0  0.3 115456  1708 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14748  0.0  0.2 115368  1496 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14749  0.0  0.2 115696  1524 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14750  0.0  0.2 115368  1520 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14751  0.0  0.3 115368  1592 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14752  0.0  0.2 115368  1508 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14753  0.0  0.3 115368  1532 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14754  0.0  0.5 117100  2568 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14755  0.0  0.2 115368  1516 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14756  0.0  0.2 115368  1516 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14757  0.0  0.2 115368  1516 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14758  0.0  0.2 115368  1516 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14759  0.0  0.3 115368  1540 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14760  0.0  0.2 115368  1516 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14761  0.0  0.2 115368  1284 ?        S    17:16   0:00 /usr/local/sbin/zabbix_server
zabbix   14787  0.0  0.2  68300  1144 ?        S    17:16   0:00 /usr/local/sbin/zabbix_agentd
zabbix   14788  0.0  0.2  68300  1056 ?        S    17:16   0:00 /usr/local/sbin/zabbix_agentd
zabbix   14789  0.0  0.1  68304   908 ?        S    17:16   0:00 /usr/local/sbin/zabbix_agentd
zabbix   14790  0.0  0.1  68304   908 ?        S    17:16   0:00 /usr/local/sbin/zabbix_agentd
zabbix   14791  0.0  0.1  68304   908 ?        S    17:16   0:00 /usr/local/sbin/zabbix_agentd
zabbix   14792  0.0  0.2  68316  1120 ?        S    17:16   0:00 /usr/local/sbin/zabbix_agentd
root     14799  0.0  0.1   7800   960 pts/0    S+   17:16   0:00 grep --color=auto zabbix

Agora vamos consultar o agente do zabbix

zabbix_get -s127.0.0.1 -p10050 -kagent.version
2.0.5

Agora vamos preparar a tela web do zabbix

Vamos ajustar a configuração do php

vim /etc/php5/apache2/php.ini
[...]
date.timezone = America/Sao_Paulo
[...]
post_max_size = 16M
[...]
max_execution_time = 300
[...]
max_input_time = 300

Agora vamos reiniciar o serviço do apache

/etc/init.d/apache2 restart

Agora vamos copiar o frontend do zabbix para o diretório /var/www/zabbix

cp -Rf /usr/src/zabbix/zabbix-2.0.5/frontends/php /var/www/zabbix

Agora vamos ajustar as permissões dos arquivos

chown -R www-data:www-data /var/www/zabbix

Agora já podemos acessar http://192.168.0.180/zabbix

Vamos ter uma tela como a abaixo

Aqui vamos ter que selecionar Next, depois vamos ter a seguinte tela

Aqui precisamos selecionar Next, depois vamos ter a seguinte tela

Aqui temos que informar os dados para conexão com o banco, o banco de dados é zabbix o usuário é zabbix e a senha é senha, depois selecione Test Connection e depois Next, depois vamos ter a seguinte tela

Aqui vamos ter a configuração da porta do servidor zabbix, aqui vamos somente selecionar Next, e depois vamos ter a seguinte tela

Aqui precisamos somente confirmar as configuração e selecionar Next, e vamos ter a seguinte tela

Aqui precisamos somente selecionar Finish, e depois já temos a tela de login do zabbix

Aqui o usuario é admin e a senha zabbix

Depois de logar vamos ter uma tela como a abaixo.

Agora para mudar o idioma para Português selecione Profile no canto superior direito

Vamos ter a seguinte tela

Aqui é só selecionar em Language Portuguese (pt_BR)

E selecionar Save

Agora vamos habilitar o servidor Zabbix ser motirado

Selecione Configuração/Hosts

Aqui vamos ter um único host e o status dele está Não monitorado como abaixo.

Agora clique em Não monitorado e confirme que deseja ativar o host.

Agora vamos ter algo como abaixo.

Agora podemos ver alguns relatório em Configuração/Telas Zabbix server vai ser algo como abaixo.

Configuração do Cliente Debian

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.

Agora precisamos criar um usuário para o zabbix

useradd zabbix -s /bin/false

Agora vamos inserir este usuário no grupo de adm

gpasswd -a zabbix adm

Agora vamos criar um diretório para armazenar os fontes do zabbix

mkdir /usr/src/zabbix

Agora vamos acessar o diretório

cd /usr/src/zabbix

Agora vamos obter o código fonte

wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/zabbix-2.0.5.tar.gz

Agora vamos desempacotar o zabbix

tar -xzvf zabbix-2.0.5.tar.gz

Agora vamos acessar o diretório do zabbix

cd zabbix-2.0.5

Agora vamos criar o diretório que vai armazenar os arquivos de configuração do zabbix

mkdir /etc/zabbix

Agora vamos acertar as permissões do nosso diretório

chown -R zabbix:zabbix /etc/zabbix

Agora vamos mandar gerar a configuração do zabbix agent

./configure --sysconfdir=/etc/zabbix --enable-agent

Agora vamos mandar instalar ele

make install clean

Agora vamos acessar o diretório que contém os arquivos de configuração do zabbix

cd /etc/zabbix

Agora vamos mandar remover os diretórios que não vamos utilizar.

rm -rf zabbix_*.conf.d

Agora vamos acertar a permissão do diretório do zabbix

chown -R zabbix:zabbix /etc/zabbix

Agora vamos copiar o script de inicialização

cp /usr/src/zabbix/zabbix-2.0.5/misc/init.d/debian/zabbix-agent /etc/init.d/

Agora vamos acertar as permissões

chmod 755 /etc/init.d/zabbix-agent

Agora vamos fazer o sistema reconhecer o nome das portas 10050 e 10051

echo "zabbix_agent    10050/tcp" >> /etc/services
echo "zabbix_trap     10051/tcp" >> /etc/services

Agora vamos configurar o agentd do zabbix

vim /etc/zabbix/zabbix_agentd.conf
[...]
PidFile=/var/run/zabbix/zabbix_agentd.pid
[...]
LogFile=/var/log/zabbix/zabbix_agentd.log
[...]
Server=127.0.0.1,192.168.0.180
[...]
Hostname=debian

Agora vamos criar os diretórios para armazenar os logs e o pid do zabbix agent

mkdir /var/log/zabbix
mkdir /var/run/zabbix

Agora vamos acertar as permissões

chown -R zabbix:zabbix /var/log/zabbix /var/run/zabbix

Agora vamos mandar iniciar o serviço

/etc/init.d/zabbix-agent start

Agora vamos testar o acesso ao cliente no cliente mesmo

zabbix_get -s127.0.0.1 -p10050 -kagent.version
2.0.5

Agora vamos testar o acesso ao cliente do servidor

zabbix_get -s192.168.0.181 -p10050 -kagent.version
2.0.5

Agora no cliente vamos colocar o zabbix na inicialização

insserv -f -v zabbix-agent

Agora na interface web do Zabbix

Configuração/Hosts do lado direito superior selecione Criar host

Vamos ter uma tela como abaixo.

Aqui precisamos informar o nome do Cliente, o nome de exibição, vamos colocar ele no Grupos Linux servers, depois disso precisamos informar o endereço ip dele e depois, em Template selecione adicionar e selecione Template OS Linux e depois Salvar

Quando ele reconhecer o cliente vamos ter uma tela como abaixo.

Depois de adicionar o cliente você precisa configurar as telas e os gráficos.

Configuração do Cliente CentOS

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialcentos6_en para que não falte nenhum pacote ou configuração.

Agora precisamos criar um usuário para o zabbix

useradd zabbix -s /bin/false

Agora vamos inserir este usuário no grupo de adm

gpasswd -a zabbix adm

Agora vamos criar um diretório para armazenar os fontes do zabbix

mkdir /usr/src/zabbix

Agora vamos acessar o diretório

cd /usr/src/zabbix

Agora vamos obter o código fonte

wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/zabbix-2.0.5.tar.gz

Agora vamos desempacotar o zabbix

tar -xzvf zabbix-2.0.5.tar.gz

Agora vamos acessar o diretório do zabbix

cd zabbix-2.0.5

Agora vamos criar o diretório que vai armazenar os arquivos de configuração do zabbix

mkdir /etc/zabbix

Agora vamos acertar as permissões do nosso diretório

chown -R zabbix:zabbix /etc/zabbix

Agora vamos mandar gerar a configuração do zabbix agent

./configure --sysconfdir=/etc/zabbix --enable-agent

Agora vamos mandar instalar ele

make install clean

Agora vamos acessar o diretório que contém os arquivos de configuração do zabbix

cd /etc/zabbix

Agora vamos mandar remover os diretórios que não vamos utilizar.

rm -rf zabbix_*.conf.d

Agora vamos acertar a permissão do diretório do zabbix

chown -R zabbix:zabbix /etc/zabbix

Agora vamos copiar o script de inicialização

cp /usr/src/zabbix/zabbix-2.0.5/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

Agora vamos acertar as permissões

chmod 755 /etc/init.d/zabbix_agentd

Agora vamos fazer o sistema reconhecer o nome das portas 10050 e 10051

echo "zabbix_agent    10050/tcp" >> /etc/services
echo "zabbix_trap     10051/tcp" >> /etc/services

Agora vamos configurar o agentd do zabbix

vim /etc/zabbix/zabbix_agentd.conf
[...]
PidFile=/var/run/zabbix/zabbix_agentd.pid
[...]
LogFile=/var/log/zabbix/zabbix_agentd.log
[...]
Server=127.0.0.1,192.168.0.180
[...]
Hostname=centos6

Agora vamos criar os diretórios para armazenar os logs e o pid do zabbix agent

mkdir /var/log/zabbix
mkdir /var/run/zabbix

Agora vamos acertar as permissões

chown -R zabbix:zabbix /var/log/zabbix /var/run/zabbix

Agora vamos mandar iniciar o serviço

/etc/init.d/zabbix_agentd start

Agora vamos testar o acesso ao cliente no cliente mesmo

zabbix_get -s127.0.0.1 -p10050 -kagent.version
2.0.5

Agora vamos testar o acesso ao cliente do servidor

zabbix_get -s192.168.0.182 -p10050 -kagent.version
2.0.5

Agora no cliente vamos colocar o zabbix na inicialização

chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on

Agora na interface web do Zabbix

Configuração/Hosts do lado direito superior selecione Criar host

Vamos ter uma tela como abaixo.

Aqui precisamos informar o nome do Cliente, o nome de exibição, vamos colocar ele no Grupos Linux servers, depois disso precisamos informar o endereço ip dele e depois, em Template selecione adicionar e selecione Template OS Linux e depois Salvar

Quando ele reconhecer o cliente vamos ter uma tela como abaixo.

Depois de adicionar o cliente você precisa configurar as telas e os gráficos.

Configurando Cliente Windows Server 2008 R2

Vamos criar um diretório para armazenar o Zabbix, eu vou levar em consideração que o seu Windows está em Inglês e seja 64 Bits caso não esteja mude os nomes

mkdir "C:\Program Files\Zabbix\logs"

Agora vamos obter o cliente Zabbix para Windows em http://www.zabbix.com/downloads/2.0.4/zabbix_agents_2.0.4.win.zip

Mande descompactar ele

Agora vamos copiar os arquivos

xcopy /A /Y C:\User\Adminstrator\Downloads\zabbix_agents_2.0.4.win\bin\win64\* "C:\Program Files\Zabbix"
C:\User\Adminstrator\Downloads\zabbix_agents_2.0.4.win\bin\win64\zabbix_agentd.exe
C:\User\Adminstrator\Downloads\zabbix_agents_2.0.4.win\bin\win64\zabbix_get.exe
C:\User\Adminstrator\Downloads\zabbix_agents_2.0.4.win\bin\win64\zabbix_sender.exe
3 File(s) copied

Agora vamos copiar o arquivo de configuração

copy C:\User\Adminstrator\Downloads\zabbix_agents_2.0.4.win\conf\zabbix_agentd.win.conf "C:\Program Files\Zabbix"
1 file(s) copied.

Agora abra com o Wordpad o arquivo C:\Program files\zabbix\zabbix_agentd.win.conf

Vamos fazer as seguintes modificações no arquivo

[...]
LogFile=c:\Program Files\Zabbix\logs\zabbix_agentd.log
[...]
Server=127.0.0.1,192.168.0.99
[...]
Hostname=Win2008R2

Agora vamos mandar instalar o serviço

"C:\Program Files\Zabbix\zabbix_agentd.exe" -i -c "c:\Program Files\Zabbix\zabbix_agentd.win.conf"
zabbix_agentd.exe [1172]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [1172]: event source [Zabbix Agent] installed successfully

Agora precisamos iniciar o serviço do Zabbix agent chame o mmc de controle de serviços Menu Start/run digite services.msc

No último serviço que é o Zabbix Agent mande iniciar ele

Agora abra a configuração avançada de Firewall do Windows

Agora crie uma regra de entrada para a porta 10050 no protocolo tcp libere todas as conexões

Agora no servidor Zabbix vamos testar a conexão com o Windows

zabbix_get -s192.168.0.183 -p10050 -kagent.version
2.0.4

Agora vamos cadastrar o servidor Windows no Zabbix

Agora vamos em configuração/Grupo de hosts

  • Agora selecione criar grupo de hosts
  • Agora em Nome do Grupo informe Windows Servers

Agora vamos em configuração/Hosts agora selecione Criar hosts vamos ter algo como abaixo.

Em template selecione OS Windows e depois selecione Salvar

Depois vamos ter algo como abaixo.

Agora é só ir administrando.

Referências