Palestrei dia 07/10/08 na
Jornada Acadêmica da FAC 2 e resolvi transformar a
apresentação (Zappix na Prática - FAC II) neste artigo.
Sobre a escolha do SO:Escolhi o CentOS por ser um SO Corporativo e ao mesmo tempo fácil de administrar para a maioria das pessoas, pois os procedimentos são os mesmos para Fedora, Red Hat Enterprise e CentOS.
Requisitos para a Instalação do Zabbix (CentOS):Apache httpd 2.2.3-11.el5.centos
Php php-5.1.6-20.el5_2.1
Módulos Php:php-gd-5.1.6-20.el5_2.1
php-bcmath-5.1.6.-20.el5_2.1
php-common-5.1.6.-20.el5_2.1
MySQL mysql-5.0.45-7.el5
MySQL Server mysql-server-5.0.45-7.el5
MySQL Devel mysql-devel- 5.0.45-7.el5
Net-Snmp net-snmp-5.3.1-19.el5
Net-Snmp-Devel net-snmp-devel-5.3.1-24.el5_2.1
Net-Snmp-Utils net-snmp-utils-5.3.1-19.el5
Net-Snmp-Libs net-snmp-libs-5.3.1-19.el5
Zabbix zabbix-1.4.5-2. el5
Zabbix Web zabbix-web-1.4.5-2. el5
Zabbix Agent zabbix-agent-1.4.5-2. el5
Resolvendo as Dependências:Precisamos suprir as dependências de pacotes antes de instalarmos o Zabbix:
# yum -y install mysql-devel net-snmp-devel php-common php-gd php-bcmathIrá surgir uma tela semelhante a esta:
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
net-snmp-devel i386 1:5.3.1-24.el5_2.1 updates 1.8 M
php-bcmath i386 5.1.6-20.el5_2.1 updates 32 k
php-gd i386 5.1.6-20.el5_2.1 updates 113 k
Updating:
mysql-devel i386 5.0.45-7.el5 base 2.4 M
php-common i386 5.1.6-20.el5_2.1 updates 154 k
Installing for dependencies:
beecrypt-devel i386 4.1.2-10.1.1 base 160 k
elfutils-devel i386 0.125-3.el5 base 52 k
elfutils-devel-static i386 0.125-3.el5 base 78 k
elfutils-libs i386 0.125-3.el5 base 105 k
Updating for dependencies:
mysql i386 5.0.45-7.el5 base 4.1 M
mysql-server i386 5.0.45-7.el5 base 9.7 M
php i386 5.1.6-20.el5_2.1 updates 1.1 M
php-cli i386 5.1.6-20.el5_2.1 updates 2.1 M
php-ldap i386 5.1.6-20.el5_2.1 updates 35 k
php-mysql i386 5.1.6-20.el5_2.1 updates 84 k
php-pdo i386 5.1.6-20.el5_2.1 updates 62 k
Transaction Summary
=============================================================================
Install 7 Package(s)
Update 9 Package(s)
Remove 0 Package(s)
Total download size: 22 M
Installed: net-snmp-devel.i386 1:5.3.1-24.el5_2.1 php-bcmath.i386 0:5.1.6-20.el5_2.1 php-gd.i386 0:5.1.6-20.el5_2.1
Dependency Installed: beecrypt-devel.i386 0:4.1.2-10.1.1 elfutils-devel.i386 0:0.125-3.el5 elfutils-devel-static.i386 0:0.125-3.el5 elfutils-libs.i386 0:0.125-3.el5
Updated: mysql-devel.i386 0:5.0.45-7.el5 php-common.i386 0:5.1.6-20.el5_2.1
Dependency Updated: mysql.i386 0:5.0.45-7.el5 mysql-server.i386 0:5.0.45-7.el5 php.i386 0:5.1.6-20.el5_2.1 php-cli.i386 0:5.1.6-20.el5_2.1 php-ldap.i386 0:5.1.6-20.el5_2.1 php-mysql.i386 0:5.1.6-20.el5_2.1 php-pdo.i386 0:5.1.6-20.el5_2.1
Complete!
Adicionando o EPEL (Extra Packages for Enterprise Linux):O EPEL é um repositório confiável onde podemos encontrar os pacotes nas versões que precisamos:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm# yum -y install fooInstalando do Zabbix:# yum -y install zabbix zabbix-web zabbix-agentIrá surgir uma tela semelhante a esta:
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
zabbix i386 1.4.5-2.el5 epel 2.1 M
zabbix-agent i386 1.4.5-2.el5 epel 199 k
zabbix-web i386 1.4.5-2.el5 epel 933 k
Installing for dependencies:
fping i386 2.4b2-7.el5 epel 30 k
iksemel i386 1.2-13.el5 epel 47 k
Transaction Summary
=============================================================================
Install 5 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 3.3 M
Installed: zabbix.i386 0:1.4.5-2.el5 zabbix-agent.i386 0:1.4.5-2.el5 zabbix-web.i386 0:1.4.5-2.el5
Dependency Installed: fping.i386 0:2.4b2-7.el5 iksemel.i386 0:1.2-13.el5
Complete!Criaremos agora base de dados zabbix, vamos setar as permissões e importar os dados do Zabbix para o banco:Iniciando o Banco de dados:# service mysqld start
Entrando no Banco de dados:
# mysql -u rootWelcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Criando a base de dados:mysql> create database zabbix;Query OK, 1 row affected (0.00 sec)
Definindo os privilégios:mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';Query OK, 0 row affected (0.00 sec)
Saindo do Banco de dados:mysql> exitByeImportando as tabelas do Zabbix para dentro do banco:# mysql -D zabbix < /usr/share/doc/zabbix-1.4.5/dbinit/schema/mysql.sql# mysql -D zabbix < /usr/share/doc/zabbix-1.4.5/dbinit/data/data.sql# mysql -D zabbix < /usr/share/doc/zabbix-1.4.5/dbinit/data/images_mysql.sqlIniciando o servidor Web:# service httpd startAbra um Browser e acesse:http://localhost/zabbix/setup.phpCom isso, irá abrir o assistente de configuração do zabbix!

Bem Vindo

Licença GPL V2

Pré-requisitos
Para resolvermos estes erros precisamos acertar alguns parâmetros no php.ini:# vi /etc/php.inidate.timezone = "America/Sao_Paulo"max_execution_time = 300Após alterarmos os parâmetros precisamo reiniciar o Apache:# service httpd restart
Pré-requisitos

Conexão com o Banco
Alterando o usuário de conexão com o Banco:Observe que ele tenta se conectar com o usuário
root e
sem senha, mas precisamos mudar para o usuário
zabbix, com a senha
zabbix.

Conexão com o Banco

Resumo das informções de conexão com o Banco

Arquivo zabbix.conf.php
Corrigindo o zabbix.conf.php:Primeiro clique em "save configuration file" e salve o arquivo no Desktop.
Observação: A tela diz para salvar em /usr/share/zabbix/conf/, porém:
# ls -las /usr/share/zabbix/conf/zabbix.conf.php
0 rwx rwx rwx 1 root root 38 Out 3 16:31 /usr/share/zabbix/conf/zabbix.conf.php
-> ../ ../ ../ ../etc/zabbix/zabbix.conf.phpVeja que é um link para: /etc/zabbix/zabbix.conf.php
Por isso vamos fazer um backup do arquivo original:# mv /etc/zabbix/zabbix.conf.php /etc/zabbix/zabbix.conf.php.origE depois mover o arquivo que salvamos no Desktop para o local correto:# mv ~/Desktop/zabbix.conf.php /etc/zabbix
Arquivo de configuração
OK
Finalizando
LoginObserve nesta tela acima que temos uma série de mensagens inúteis no topo, vamos remove-las:# vi /etc/zabbix/zabbix.conf.phpApague as seguintes linhas:# This file is a place-holder. When you run through the zabbix # web setup, a proper configuration file should be generated # for you to drop in this location.
Recarregue a página:
LoginLogue como admin sem senhaObservação: Na versão
atual (1.6) a senha padrão é
zabbixEntre em Reports // Status os ZABBIX
Observe que o
Status do
Zabbix está como No (Não está rodando)
Iniciando o Zabbix:# service zabbix start
# service zabbix-agent start
Verificando o status do serviço:# service zabbix statuszabbix_server está parado# service zabbix-agent statuszabbix_agentd (pid XXX XXX ...XXXX) está rodandoO Zabbix Server não está rodando, por isso vamos verificar os logs:# cat /var/log/zabbix/zabbix_server.log2946:20081004:141745
Starting zabbix_
server.
ZABBIX1.4.5.
2946:20081004:141745 ****
Enabled features ****
2946:20081004:141745
SNMP monitoring:
YES2946:20081004:141745 WEB
monitoring:
YES2946:20081004:141745
Jabber notifications:
YES2946:20081004:141745
IPv6
support: NO
2946:20081004:141745 **************************
2946:20081004:141745
Failed to connect to database: Error: Access denied for user 'zabbix'@'localhost' (using password: NO) [1045]
Corrigindo o zabbix_server.conf:# vi /etc/zabbix/zabbix_server.confAltere o
paramêtro:
DBPassword=zabbixObservação: Na tela do assistente nós só testamos a conexão, mas é neste arquivo que fazemos a configuração definitiva.
Verificando o status do serviço:# service zabbix statuszabbix_server (pid XXX XXX ...XXXX) está rodando# service zabbix-agent statuszabbix_agentd (pid XXX XXX ...XXXX) está rodandoRecarregue a tela:
Observe que o
Status do
Zabbix está como
Yes (Está rodando)
Colocando os serviços para iniciar automáticamente:# ntsysvMarque as opções:[*]
httpd[*]
mysqld[*]
zabbix[*]
zabbix-
agent
Ntsysv
Instalação dos Agentes:Red Hat Enterprise / Fedora / CentOS:# yum -y install zabbix-agentAgente Plataforma *nix:Criar um usuário chamado zabbix, este usuário não precisa de shell:# adduserUsername: zabbix
Shell: nologin
Criar um diretório chamado zabbix em /etc:# mkdir /etc/zabbixFaça o download do agente no site do Zabbix:
Descompacte o arquivo:# tar -xzvf zabbix_agents_XXX.tar.gzEntre no diretório que foi descompactado:# cd zabbix_agentsCopie todo o conteúdo para o diretório /etc/zabbix:# cp * /etc/zabbixAltere as permissões deste diretório para o usuário zabbix e grupo users:# chown -R zabbix:users /etc/zabbixPrecisamos configurar o arquivo zabbix_agentd.conf:# vi /etc/zabbix/zabbix_agentd.confConteúdo mínimo do arquivo:Server=IP do Servidor do Zabbix
Hostname=Nome da máquina Cliente
StartAgents=5
DebugLevel=3
# Specifies debug level# 0 - debug is not created# 1 - critical information# 2 - error information# 3 - warnings (default)# 4 - for debugging (produces lots of information)PidFile=/var/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Timeout=3
Executando o agente:# /etc/zabbix/zabbix_agentdVerificando a execução do serviço: # ps -e | grep zabbix16182 ? 00:00:00 zabbix_agentd
16183 ? 00:00:00 zabbix_agentd
16184 ? 00:00:05 zabbix_agentd
16185 ? 00:00:05 zabbix_agentd
16186 ? 00:00:05 zabbix_agentd
Agente Plataforma Windows:Faça o download do agente no site do Zabbix:
Descompactar o arquivoCopiar o diretório zabbix para C:\zabbixCopiar o arquivo zabbix_agentd.conf para C:\zabbix_agentd.confConteúdo mínimo do arquivo zabbix_agentd.conf:Server=IP do Servidor do Zabbix
Hostname=Nome da máquina Cliente
StartAgents=5
DebugLevel=3
PidFile=c:\zabbix\zabbix_agentd.pid
LogFile=c:\zabbix\zabbix_agentd.log
Timeout=3
Executando o agente:Duplo cliquem em
c:\zabbix\zabbix_agentd.exe
Como esta tela fica em execução, qualquer pessoa que tenha acesso à máquina pode fechar esta janela, intencionalmente ou não, por isso o ideal é que o agente do zabbix rode como um serviço da máquina.
Gerando um serviço do Windows:zabbix_agentd.exe -i
Observe que o próprio agente do zabbix já possui uma série de opções.
Verificando o status do serviço do zabbix:Iniciar // Painel de Controle // Ferramentas administrativas // Serviços:

Serviço do Agente do Zabbix
Verificando as propriedades do serviço:Duplo clique em ZABBIX Agent

Propriedades do serviço no Windows
Removendo o serviço:zabbix_agentd.exe -d
Observe que o próprio agente do zabbix já possui uma série de opções.
Verificando se o serviço do zabbix foi removido:Iniciar // Painel de Controle // Ferramentas administrativas // Serviços:

Verificando que o Agente do Zabbix foi removido
Referências:Site do Zabbix:http://www.zabbix.comLicença Zabbix:http://www.zabbix.com/licence.phpManual do Zabbix:http://www.zabbix.com/documentation.phpSite da Comunidade Brasileira:http://www.zabbixbrasil.orgLista da Comunidade Brasileira:http://br.groups.yahoo.com/group/zabbix-brasilArtigos:http://www.linuxchix.org.br/files/evento/2005/palestras/zabbix.pdfhttp://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=3951http://www.dicas-l.com.br/dicas-l/20070728.phphttp://www.slacklife.com.br/article.php?sid=1498http://gentoo-wiki.com/HOWTO_Zabbix