Escolar Documentos
Profissional Documentos
Cultura Documentos
Histrico de Atualizaes
Data 02 set 2010 03 jan 2012 06 jan 2012 07 jan 2012 16 abr 2012 23 abr 2012 17 mai 2012 18 mai 2012 22 mai 2012 29 mai 2012 13 jun 2012 11 jul 2012 23 ago 2012 Verso 1.0 2.0 2.0 2.1 3.0 3.1 3.5 3.6 4.0 4.1 4.2 4.3 4.5 Responsvel Acio Pires Acio Pires Tiago Santiago Acio Pires Acio Pires Acio Pires Acio Pires Acio Pires Acio Pires Andr Do Adail Spinola Acio Pires Acio Pires Alteraes
Verso inicial para o Zabbix 1.8.3 Reviso e atualizao para o Zabbix 1.8.10 Reviso do contedo Ajuste no texto e nos comandos Reviso e atualizao para o Zabbix 2.0.0rc2 Reviso e atualizao para o Zabbix 2.0.0rc3 Reviso e atualizao para o Zabbix 2.0.0rc5 Reviso e atualizao para o Zabbix 2.0.0rc6 Reviso e atualizao para o Zabbix 2.0.0 Reviso do contedo Reviso do contedo Atualizao para o Zabbix 2.0.1 Atualizao para o Zabbix 2.0.2 e ajustes na configurao
Licena de Uso
Este trabalho est licenciado sob uma Licena Creative Commons AtribuioUso No-Comercial 2.5 Brasil. Para ver uma cpia desta licena, visite http://creativecommons.org/licenses/by-nc/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
Tutorial de instalao do Zabbix 2.0.2 no Ubuntu 10.04 e 12.04 LTS
2
Sumrio
1. Introduo.................................................................................................... 4 2. Instalando e configurando as dependncias ................................................ 6 2.1. Criando o banco de dados ...................................................................... 8 2.2. Configurando o PHP................................................................................ 9 3. Instalando o Zabbix 2.0.2............................................................................. 9 3.1. Populando o banco de dados.................................................................. 9 3.2. Configurando o Zabbix......................................................................... 10 3.3. Scripts de inicializao do Zabbix ....................................................... 11 3.4. Acessando a interface web do Zabbix .................................................. 14 4. Consideraes finais................................................................................... 19 5. Referncias................................................................................................. 19
1. Introduo
Zabbix um sistema web, gratuito e de cdigo aberto usado para o monitoramento e gerenciamento de equipamentos de rede (cmera de segurana, roteador, computador, etc) criado por Alexei Vladishev e, atualmente, desenvolvido pela Zabbix SIA. Ele monitora vrios parmetros de rede e checa a integridade dos equipamentos, usando um mecanismo de notificao flexvel que permite aos usurios configurarem o envio de alertas por e-mail, SMS ou Jabber (gtalk). Esta caracterstica permite uma rpida reao aos problemas que forem detectados. As principais caractersticas e funcionalidades do Zabbix so: Auto-descoberta de dispositivos de rede; Monitoramento distribudo com a administrao centralizada via WEB; Aplicao servidor compatvel com os sistemas operacionais Linux, Solaris, HP-UX, AIX, BSD Livre, Open BSD, Mac OS X; Aplicao cliente de alta performance compatvel com Linux, Solaris, HP-UX, AIX, BSD Livre, Open BSD, OS X, Tru64/OSF1, NT4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista e Windows 7; Monitoramento sem agente (aplicao cliente); Suporte a SNMP; Autenticao segura de usurio; Permisses flexveis de usurio; Auditoria; Entre outras.
O Zabbix composto de vrios componentes de software, os principais so: Zabbix Server => o centro do sistema Zabbix. Ele pode verificar remotamente os servios de rede (como servio web e e-mail), utilizando a checagem simples, mas tambm o componente central para que os agentes enviem informaes e estatsticas a cerca da disponibilidade e integridade do equipamento que est sendo monitorado. Depois que o servidor recebe essas informaes, ele processa, gerencia os equipamentos, exibe relatrios, envia alertas e toma aes dependendo da configurao. Zabbix Proxy => uma parte opcional do Zabbix. O Proxy coleta dados de desempenho e disponibilidade, em nome de um servidor Zabbix com a vantagem de coletar milhares de informaes por segundo, utilizando um hardware modesto.
Agente Zabbix => aplicao cliente do Zabbix que coleta informaes do equipamento e envia ao servidor. O agente capaz de acompanhar ativamente o uso dos recursos e aplicaes locais, tais como: discos rgidos, memria, processador, processos, servios e aplicativos em execuo. Neste tutorial voc aprender a instalar o componente Zabbix Server. Para a elaborao deste tutorial, foi utilizada uma mquina virtual com as seguintes configuraes.
Processador: Intel Dual Core 1.8 GHz Memoria RAM: 2 GB HD: 10 GB Sistema operacional: Ubuntu Desktop 10.04 64 bits e Ubuntu Desktop 12.04 32 bits
OBS.: Depois de instalar o Zabbix, acesse os sites mostrados nas Referncias deste tutorial para obter mais informaes sobre o sistema.
Na pgina: http://www.zabbix.com/documentation/2.0/manual/installation/requirements podem ser encontradas as informaes sobre os pr-requisitos de hardware e software exigidos na instalao do Zabbix.
Software Apache PHP Php-gd PHP TrueType support PHP bc support PHP XML support PHP session support PHP socket support PHP multibyte support PHP gettext support IBM DB2 ibm_db2 MySQL php-mysql Oracle php-oci8 PostgreSQL php-pgsql SQLite php-sqlite3
Descrio Servidor Web Linguagem de programao Mdulo PHP para suporte a imagens --with-ttf php-bcmath, --enable-bcmath php-xml or php5-dom php-session php-net-socket, --enable-sockets. php-mbstring, --enable-mbstring php-gettext, --with-gettext Banco de dados requerido se for usar o IBM DB2 integrado ao Zabbix Banco de dados requerido se for usar o MySQL integrado ao Zabbix Banco de dados requerido se for usar o Oracle integrado ao Zabbix Banco de dados requerido se for usar o PostgreSQL intregrado ao Zabbix Banco de dados requerido se for usar o SQLite integrado ao Zabbix
5.0 ou superior
OBS.: Neste tutorial, ser adotado o PostgreSQL, mas voc pode optar pelo IBM DB2, MySQL, Oracle ou SQLite. OBS.: Os smbolos $, #,postgres=# e psql>, que precedero os comandos ao longo deste tutorial, representam, respectivamente, o prompt de
comando do usurio comum, do root e do sistema de banco de dados, no caso o PostgreSQL. Para instalar os pacotes, execute os comandos abaixo de acordo com o tipo da distro GNU/Linux. OBS.: S execute os comandos abaixo se estiver usando o Ubuntu 10.04: $ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:sun-java-community-team/sun-java6
$ sudo apt-get update
$ sudo apt-get install -y --force-yes make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5 php5-gd php-net-socket postgresql-client libpq5 libpq-dev snmp libiksemel-dev libcurl4-gnutls-dev vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev sun-java6-jre sun-java6-jdk sun-java6plugin curl fping
OBS.: S execute os comandos abaixo se estiver usando o Ubuntu Desktop 12.04: $ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:flexiondotorg/java $ sudo apt-get update $ sudo apt-get install -y --force-yes make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5 php5-gd php-net-socket postgresql-client libpq5 libpq-dev snmp libiksemel-dev libcurl4-gnutls-dev vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev sun-java6-jre sun-java6-jdk sun-java6plugin curl fping
Ao adicionar o repositrio ppa:flexiondotorg/java pode aparecer um aviso que voc est adicionando um repositrio do tipo PPA (Personal Package Archives) e voc pode apertar ENTER para continuar. Depois que executar o comando apt-get update pode aparecer uma mensagem que no foi possvel obter a chave pblica GPG do repositrio ppa:flexiondotorg/java. Pode ignorar este erro e seguir com a instalao. Tambm pode aparecer o aviso de que o PostgreSQL 9.1 mais recomendado do que o 8.4. Ignore este aviso e instale o PostgreSQL 8.4. OBS.: S execute os comandos abaixo se estiver usando o Ubuntu Server 12.04:
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install -y make flex gcc gpp apache2 php5 php5-pgsql postgresql8.4 libapache2-mod-php5 php5-gd php-net-socket postgresql-client libpq5 libpq7
dev snmp libiksemel-dev libcurl4-gnutls-dev vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev oracle-java7-installer curl fping
Pode aparecer o aviso de que o PostgreSQL 9.1 mais recomendado do que o 8.4. Ignore este aviso e instale o PostgreSQL 8.4.
postgres all
trust trust o
Outro arquivo que precisa ser editado /etc/postgresql/8.4/main/postgresql.conf conforme mostrado abaixo. Antes: #listen_addresses = 'localhost' Depois: listen_addresses = '*'
Depois de alterar estes arquivos preciso reiniciar o PostgreSQL para aplicar as configuraes realizadas. Faa isso usando um dos comandos abaixo. $ sudo /etc/init.d/postgresql restart Ou: $ sudo /etc/init.d/postgresql-8.4 restart Crie o banco de dados zabbix, usando os comandos abaixo. $ psql -U postgres postgres=# create database zabbix; postgres=# \q; Crie no sistema operacional, o usurio a ser usado pelo Zabbix para acessar o banco de dados e, em seguida, cadastre-o no PostgreSQL. Faa isso com os comandos abaixo. $ sudo adduser zabbix $ sudo -u postgres createuser -a -d -E -P zabbix
8
OBS.: As senhas do usurio zabbix que ser criado no sistema operacional e no PostgreSQL podem ser diferentes.
$ cd zabbix-2.0.2 $ sudo ./configure --enable-server --enable-agent --enable-java --with-postgresql --with-net-snmp --with-jabber --with-libcurl=/usr/bin/curl-config --with-ssh2 --withopenipmi $ sudo make install $ cd Sobre os parmetros de compilao... --enable-server: habilita o Zabbix server. --enable-agent: habilita o agente Zabbix. --enable-java: habilita o Java gateway, um novo componente do Zabbix 2.0 usado para monitorar aplicaes Java. --with-postgresql: informa que ser usado o banco de dados PostgreSQL. --with-net-snmp: habilita o monitoramento SNMP. --with-jabber: habilita o envio de alertar via Jabber. --with-libcurl=/usr/bin/curl-config: habilita o uso da biblioteca curl, usada no monitoramento de aplicaes Web. Opcionalmente voc pode informar a localizao do comando curl-config (use o comando whereis curl-config para descobrir o caminho). --with-ssh2: habilita o monitoramento via SSH. --with-openipmi: habilita o monitoramento de equipamentos via IPMI (http://goo.gl/OX4ui). Para conhecer mais opes de compilao, execute o comando ./configure --help dentro do diretrio de instalao do Zabbix.
Os arquivos de configurao do Zabbix 2.0 ficam em /usr/local/etc. Edite o arquivo /usr/local/etc/zabbix_agentd.conf e configure conforme mostrado abaixo. PidFile=/tmp/zabbix_agentd.pid LogFile=/tmp/zabbix_agentd.log LogFileSize=2 DebugLevel=3 EnableRemoteCommands=1 LogRemoteCommands=1 Server=127.0.0.1 ListenPort=10050 Hostname=informe o nome exato do host, do jeito que aparece no prompt de comandos antes dos smbolos $, #
10
O parmetro LogFileSize significa o tamanho mximo que o arquivo de log pode ter em mega byte (MB). Edite o arquivo /usr/local/etc/zabbix_server.conf e informe os seguintes dados, como mostra o exemplo abaixo: ListenPort=10051 LogFile=/tmp/zabbix_server.log LogFileSize=2 PidFile=/tmp/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=senha do zabbix para acessar o banco de dados StartIPMIPollers=1 FpingLocation=/usr/bin/fping O parmetro LogFileSize significa o tamanho mximo que o arquivo de log pode ter em mega byte (MB). O parmetro StartIPMIPollers s precisa ser configurado se o Zabbix for compilado com a opo --with-openipmi. Copie os arquivos de frontend do Zabbix para o diretrio /var/www/zabbix, executando os comandos abaixo. $ sudo mkdir /var/www/zabbix $ sudo cp -R zabbix-2.0.2/frontends/php/* /var/www/zabbix/ $ sudo chown -R www-data:www-data /var/www/zabbix/ Reinicie o Apache para carregar os novos arquivos do Zabbix $ sudo /etc/init.d/apache2 restart
test -f $DAEMON || exit 0 set -e case "$1" in start) echo "Starting $DESC: $NAME" start-stop-daemon --oknodo --start --pidfile $PID \ --exec $DAEMON ;; stop) echo "Stopping $DESC: $NAME" start-stop-daemon --oknodo --stop --pidfile $PID \ --exec $DAEMON ;; restart|force-reload) # # If the "reload" option is implemented, move the "force-reload" # option to the "reload" entry above. If not, "force-reload" is # just the same as "restart". # # echo -n "Restarting $DESC: zabbix_server" $0 stop $0 start # start-stop-daemon --stop --quiet --pidfile \ # /tmp/$NAME.pid --user zabbix --exec $DAEMON # sleep 1 # start-stop-daemon --start --quiet --pidfile \ # /tmp/$NAME.pid --user zabbix --exec $DAEMON # echo "$NAME." ;; *) N=/etc/init.d/$NAME # echo "Usage: $N {start|stop|restart|force-reload}" >&2 echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 ====> Crie o arquivo /etc/init.d/zabbix-agentd e adicione o contedo abaixo. #!/bin/sh # # Zabbix agent start/stop script. # # Written by Alexei Vladishev <alexei.vladishev@zabbix.com>.
12
NAME=zabbix_agentd PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin DAEMON=/usr/local/sbin/${NAME} DESC="Zabbix agent daemon" PID=/tmp/$NAME.pid test -f $DAEMON || exit 0 set -e case "$1" in start) echo "Starting $DESC: $NAME" start-stop-daemon --oknodo --start --pidfile $PID \ --exec $DAEMON ;; stop) echo "Stopping $DESC: $NAME" start-stop-daemon --oknodo --stop --pidfile $PID \ --exec $DAEMON ;; restart|force-reload) # # If the "reload" option is implemented, move the "force-reload" # option to the "reload" entry above. If not, "force-reload" is # just the same as "restart". # # echo -n "Restarting $DESC: zabbix_agent" $0 stop $0 start # start-stop-daemon --stop --quiet --pidfile \ # /tmp/$NAME.pid --user zabbix --exec $DAEMON # sleep 1 # start-stop-daemon --start --quiet --pidfile \ # /tmp/$NAME.pid --user zabbix --exec $DAEMON # echo "$NAME." ;; *) N=/etc/init.d/$NAME # echo "Usage: $N {start|stop|restart|force-reload}" >&2 echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 Torne os arquivos executveis com o comando abaixo.
13
$ sudo chmod +x /etc/init.d/zabbix-server /etc/init.d/zabbix-agentd Em seguida, execute os scripts $ sudo /etc/init.d/zabbix-server start $ sudo /etc/init.d/zabbix-agentd start Habilite os scripts para serem executados quando o computador for ligado. $ sudo update-rc.d -f zabbix-server defaults $ sudo update-rc.d -f zabbix-agentd defaults
14
Caso contrrio, reveja os passos executados ao longo deste tutorial para encontrar o problema ou pea ajuda na lista de usurios brasileiros do Zabbix em http://br.groups.yahoo.com/group/zabbix-brasil. Tela 3: Informe o tipo da base de dados, o usurio e a senha. Em seguida, clique no boto Test Connection. Se estiver ok, clique em Next..
15
Tela 4: Informe o IP do servidor Zabbix e a porta em que ele ser executado (a padro 10051). No campo Name voc pode usar um nome qualquer, essa informao til quando voc precisa administrar vrios servidores Zabbix. Depois clique em Next.
16
Tela 6: Clique em Finish. Se nesta tela for exibido um erro de permisso durante a atualizao do arquivo de configurao, cheque a permisso do diretrio /var/www/zabbix e configure da forma mostrada neste tutorial.
Tela 7: Pronto! O Zabbix est instalado. Logue no Zabbix com o usurio Admin e senha zabbix.
Acesse o menu Configuration > Hosts. Como mostra a figura abaixo, o status do host Zabbix server Not monitored (link na cor vermelha).
17
Clique sobre o link Not monitored para habilitar o monitoramento. Ser exibido a caixa mostrada abaixo.
Clique em OK para habilitar o monitoramento. Perceba que o status ser alterado para Monitored (link na cor verde). Depois acesse o menu Monitoring > Dashboard e veja que na linha Zabbix server is running, o valor Yes, o que significa que o componente Zabbix-server est sendo executado.
18
4. Consideraes finais
Neste tutorial foi mostrada a instalao do componente Zabbix 2.0.2 no Ubuntu 10.04 e 12.04 LTS (Long Time Suport). No site da comunidade Zabbix Brasil, mais especificamente na pgina http://zabbixbrasil.org/?page_id=7, voc pode encontrar outros tutoriais que mostram a instalao dos componentes Zabbix Agent e Zabbix Proxy, alm de mostrar como usar a interface Web do Zabbix para monitorar alguns tipos de equipamentos.
5. Referncias
Manual do Zabbix 2.0. Disponvel em: http://www.zabbix.com/documentation/2.0/manual/introduction Acessado em: 11 de julho de 2012. [ZABBIX REQUIREMENTS] Zabbix Requirements. Disponvel em: http://www.zabbix.com/documentation/2.0/manual/installation/requirements Acessado em: 11 de julho de 2012.
19