com PostgreSQL JOO PESSOA-PB NOV/2013 Histrico de Atualiza!es Data Verso Responsvel Alteraes 18 nov 2013 1.0 Acio Pires Verso inicial para o Zabbix 2.2.0 A"cio dos Sa#tos Pires http://aeciopires.com aeciopires@gmail.com Especialista em Segurana da nformao iDEZ, tecnlogo em Redes de Computadores FPB, administrador de sistemas da Dynavdeo e membro da comunidade Zabbix Brasil. $ice#a de %so Este trabalho est licenciado sob uma Licena Creative Commons Atribuio- Uso 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. 2 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% Su&'rio #u!&rio ............................................................................................................ 3 1. 'ntroduo .................................................................................................... ( 2. 'nstalando e con)i"urando as depend*ncias ................................................ + 2.1. ,riando o banco de dados ...................................................................... - 2.2. ,on)i"urando o P.P ................................................................................ 8 3. 'nstalando o Zabbix ...................................................................................... 8 3.1. Populando o banco de dados .................................................................. / 3.2. ,on)i"urando o Zabbix ........................................................................... / 3.3. #cripts de iniciali0ao do Zabbix ....................................................... 10 3.(. Acessando a inter)ace 1eb do Zabbix .................................................. 13 (. ,onsidera2es )inais ................................................................................... 1- 3. 4e)er*ncias ................................................................................................. 18 3 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% 1( )#trodu*o 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 SA. 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, AX, BSD Livre, Open BSD, Mac OS X; Aplicao cliente de alta performance compatvel com Linux, Solaris, HP-UX, AX, 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: +a,,i- Ser.er => 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. +a,,i- Pro-/ => 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. ( Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% A0e#te +a,,i- => 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. Processador1 ntel Dual Core 1.8 GHz 2e&oria 3A21 2 GB H41 10 GB Siste&a o5eracio#al1 Ubuntu Desktop 12.04 32 bits OBS(1 Depois de instalar o Zabbix, acesse os sites mostrados nas Referncias deste tutorial para obter mais informaes sobre o sistema. 3 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% 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. 2( )#stala#do e co#6i0ura#do as de5e#d7#cias De acordo com o manual oficial do Zabbix, os pacotes requeridos para a instalao do Zabbix so mostrados na tabela 1. ct5pe p6p7ct5pe 877enable7ct5pe9 lib:;% 2.+.13 or later p6p7x!l or p6p37do!< i) provided as a separate pac=a"e b5 t6e distributor. x!lreader p6p7x!lreader< i) provided as a separate pac=a"e b5 t6e distributor. x!l1riter p6p7x!l1riter< i) provided as a separate pac=a"e b5 t6e distributor. 8a,ela 11 So6t9ares re:uisitos 5ara o 6u#cio#a&e#to do +a,,i-( So6t9are Vers*o 4escri*o Apache 1.3.12 ou superior Servidor Web PHP 5.3.0 ou superior Linguagem de programao Php-gd 2.0 ou superior Mdulo PHP para suporte a imagens ctype php-ctype (--enable-ctype) libXML 2.6.15 ou superior php-xml or php5-dom xmlreader php-xmlreader xmlwriter php-xmlwriter PHP TrueType support --with-ttf PHP bc support php-bcmath, --enable-bcmath PHP XML support php-xml or php5-dom PHP session support php-session PHP socket support php-net-socket, --enable-sockets. PHP multibyte support php-mbstring, --enable-mbstring PHP gettext support php-gettext, --with-gettext BM DB2 ibm_db2 9.7 ou superior Banco de dados requerido se for usar o BM DB2 integrado ao Zabbix MySQL php-mysql 5.0.3 ou superior Banco de dados requerido se for usar o MySQL integrado ao Zabbix + Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% Oracle php-oci8 10 ou superior Banco de dados requerido se for usar o Oracle integrado ao Zabbix PostgreSQL php-pgsql 8.1 ou superior Banco de dados requerido se for usar o PostgreSQL intregrado ao Zabbix SQLite php-sqlite3 3.3.5 ou superior Banco de dados requerido se for usar o SQLite integrado ao Zabbix ;o#te1 <+ABB)= 3E>%)3E2EN8S? OBS(1 Neste tutorial, ser adotado o PostgreSQL, mas voc pode optar pelo BM DB2, MySQL, Oracle ou SQLite. OBS(1 Os smbolos "@, "A,5ost0resBA e "5s:lC, 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(1 S execute os comandos abaixo se estiver usando o %,u#tu 4esDto5 ou Ser.er 12(0E: $ sudo apt-get -y install python-software-properties $ sudo add-apt-repository -y ppa:webupd8team/java $ sudo add-apt-repository -y ppa:chris-lea/postgresql-9.3 $ sudo apt-get update $ sudo apt-get install -y --force-yes make flex gcc gpp apache2 php5 php5-pgsql postgresql-9.3 postgresql-client 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 oracle-java7-installer curl fping libxml2 libxml2-dev >epois ?ue executar o co!ando @apt7"et updateA pode aparecer u!a !ensa"e! ?ue no )oi possBvel obter a c6ave pCblica DPD do repositErio @55a16le-io#dotor0/Fa.aG. Pode ignorar este erro e seguir com a instalao. 2(1( Hria#do o ,a#co de dados Edite o arquivo /etc/5ost0res:l/I(3/&ai#/50JK,a(co#6 e configure o arquivo como mostrado abaixo. Antes: local all postgres peer local all all peer host all 127.0.0.1/32 md5 - Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% Depois: local all postgres trust local all all trust host all 127.0.0.1/32 trust Outro arquivo que precisa ser editado o /etc/5ost0res:l/I(3/&ai#/5ost0res:l(co#6 conforme mostrado abaixo. Antes: #listen_addresses = 'localhost' Depois: listen_addresses = 'localhost' 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 Crie o banco de dados zabbix, usando o comando abaixo. $ sudo su # sudo -u postgres createdb zabbix # exit 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 OBS(1 As senhas do usurio za,,i- que ser criado no sistema operacional e no PostgreSQL podem ser diferentes. 2(2( Ho#6i0ura#do o PHP Edite o arquivo /etc/5K5L/a5acKe2/5K5(i#i delete o smbolo "M, que porventura estiver no incio da linha de cada parmetro abaixo, e atribua os seguintes valores em negrito. date.timezone = NA&erica/BrasOliaN max_execution_time = 300 max_input_time = 300 post_max_size = 1P2 8 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% Reinicie o Apache para aplicar as configuraes realizadas. $ sudo /etc/init.d/apache2 restart 3( )#stala#do o +a,,i- Agora que as dependncias esto instaladas, instale o Zabbix. Hoje (18/11/2013) a verso mais nova a 2(2(0. Para instal-la preciso baixar e compilar o cdigo fonte seguindo os passos abaixo. Obtenha e descompacte o pacote de instalao do Zabbix. $ wget http://downloads.sourceforge.net/project/zabbix/ZABBX%20Latest %20Stable/2.2.0/zabbix-2.2.0.tar.gz $ tar xzvf zabbix-2.2.0.tar.gz $ sudo chmod -R +x zabbix-2.2.0 Os comandos acima so usados para obter o pacote de instalao do Zabbix, salvar no diretrio atual (veja qual em diretrio que voc est, usando o comando 59d) e descompactar o pacote, criando o diretrio za,,i--2(2(0 com os arquivos de instalao. 3(1( Po5ula#do o ,a#co de dados Execute os comandos abaixo para popular o banco. $ cat zabbix-2.2.0/database/postgresql/schema.sql | psql -U zabbix zabbix $ cat zabbix-2.2.0/database/postgresql/images.sql | psql -U zabbix zabbix $ cat zabbix-2.2.0/database/postgresql/data.sql | psql -U zabbix zabbix nstale o Zabbix executando os comandos abaixo. $ cd zabbix-2.2.0 $ sudo ./configure --enable-server --enable-agent --enable-java --with-postgresql --with-net-snmp --with-jabber --with-libcurl=/usr/bin/curl-config --with-ssh2 --with- openipmi --with-libxml2 $ sudo make install $ cd - Sobre os parmetros de compilao... --enable-serverF 6abilita o Zabbix server. --enable-agentF 6abilita o a"ente Zabbix. --enable-javaF 6abilita o Gava "ate1a5< u! novo co!ponente do Zabbix 2.0 usado para !onitorar aplica2es Gava. --wit-postgres!lF in)or!a ?ue ser& usado o banco de dados Post"re#$%. --wit-net-snmpF 6abilita o !onitora!ento #H;P. --wit-lib"ml#F 6abilita o uso da %ib:;%< u! novo pr7re?uisito para o !onitora!ento de !&?uinas virtuais do tipo V;Iare. --wit-jabberF 6abilita o envio de alertar via Gabber. / Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% --wit-libc$rl%&$sr&bin&c$rl-con'igF 6abilita o uso da biblioteca curl< usada no !onitora!ento de aplica2es Ieb. Jpcional!ente voc* pode in)or!ar a locali0ao do co!ando curl7con)i" 8use o co!ando @wereis c$rl-con'ig( para descobrir o ca!in6o9. --wit-ss#F 6abilita o !onitora!ento via ##.. --wit-openipmiF 6abilita o !onitora!ento de e?uipa!entos via 'P;' 86ttpFKK"oo."lKJ:(ui9. Para con6ecer !ais op2es de co!pilao< execute o co!ando @.&con'ig$re --elpA dentro do diretErio de instalao do Zabbix. 3(2( Ho#6i0ura#do o +a,,i- Os arquivos de configurao do Zabbix 2.2 ficam em /usr/local/etc. Edite o arquivo /usr/local/etc/za,,i-Ja0e#td(co#6 e configure conforme mostrado abaixo. PidFile=/tmp/zabbix_agentd.pid LogFile=/tmp/zabbix_agentd.log LogFileSize=2 DebugLevel=3 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 "@, "A O parmetro $o0;ileSize significa o tamanho mximo que o arquivo de log pode ter em mega byte (MB). Edite o arquivo /usr/local/etc/za,,i-Jser.er(co#6 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 StartPMPollers=1 StartDiscoverers=5 Timeout=3 FpingLocation=/usr/bin/fping O parmetro $o0;ileSize significa o tamanho mximo que o arquivo de log pode ter em mega byte (MB). O parmetro Start)P2)Pollers s precisa ser configurado se o Zabbix for compilado com a opo --9itK-o5e#i5&i( Copie os arquivos de frontend do Zabbix para o diretrio /.ar/999/za,,i-, executando os comandos abaixo. 10 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% $ sudo mkdir /var/www/zabbix $ sudo cp -R zabbix-2.2.0/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 3(3( Scri5ts de i#icializa*o do +a,,i- Coloque o Zabbix para iniciar automaticamente, no boot do sistema operacional, criando os scripts abaixo. ====> Crie arquivo /etc/i#it(d/za,,i--ser.er e adicione o contedo abaixo. #!/bin/sh # # Zabbix daemon start/stop script. # # Written by Alexei Vladishev <alexei.vladishev@zabbix.com>. NAME=zabbix_server PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin DAEMON=/usr/local/sbin/${NAME} DESC="Zabbix server daemon" PD=/tmp/$NAME.pid test -f $DAEMON || exit 0 set -e case "$1" in start) echo "Starting $DESC: $NAME" start-stop-daemon --oknodo --start --pidfile $PD \ --exec $DAEMON ;; stop) echo "Stopping $DESC: $NAME" start-stop-daemon --oknodo --stop --pidfile $PD \ --exec $DAEMON ;; restart|force-reload) $0 stop $0 start ;; *) N=/etc/init.d/$NAME 11 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 ====> Crie o arquivo /etc/i#it(d/za,,i--a0e#td e adicione o contedo abaixo. #!/bin/sh # # Zabbix agent start/stop script. # # Written by Alexei Vladishev <alexei.vladishev@zabbix.com>. NAME=zabbix_agentd PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin DAEMON=/usr/local/sbin/${NAME} DESC="Zabbix agent daemon" PD=/tmp/$NAME.pid test -f $DAEMON || exit 0 set -e case "$1" in start) echo "Starting $DESC: $NAME" start-stop-daemon --oknodo --start --pidfile $PD \ --exec $DAEMON ;; stop) echo "Stopping $DESC: $NAME" start-stop-daemon --oknodo --stop --pidfile $PD \ --exec $DAEMON ;; restart|force-reload) $0 stop $0 start ;; *) 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 12 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% Torne os arquivos executveis com o comando abaixo. $ 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 3(E( Acessa#do a i#ter6ace 9e, do +a,,i- Usando um navegador acesse o Zabbix no endereo http://ip-do- servidor/zabbix e siga as recomendaes abaixo. Tela 1: Clique no boto Ne-t( Tela 2: Cheque as dependncias do Zabbix. Se estiver tudo ok, clique em Ne-t. 13 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% 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: nforme o tipo da base de dados, o usurio e a senha. Em seguida, clique no boto Test Connection. Se estiver ok, clique em Next.. Tela 4: nforme o P do servidor Zabbix e a porta em que ele ser executado (a padro 10051). No campo Na&e voc pode usar um nome qualquer, essa informao til quando voc precisa administrar vrios servidores Zabbix. Depois clique em Ne-t. 1( Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% Tela 5: Revise as configuraes e se estiver ok, clique em Ne-t. Tela 6: Clique em ;i#isK. Se nesta tela for exibido um erro de permisso durante a atualizao do arquivo de configurao, cheque a permisso do diretrio /.ar/999/za,,i- e configure da forma mostrada neste tutorial. 13 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% Tela 7: Pronto! O Zabbix est instalado. Logue no Zabbix com o usurio Ad&i# e senha za,,i-. Acesse o menu Ho#6i0uratio# C Hosts( Como mostra a figura abaixo, o status do host Zabbix server Not &o#itored (link na cor vermelha)( 1+ Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% Clique sobre o link Not &o#itored para habilitar o monitoramento. Ser exibido a caixa mostrada abaixo. Clique em OK para habilitar o monitoramento. Perceba que o status ser alterado para 2o#itored (link na cor verde). Depois acesse o menu 2o#itori#0 C 4asK,oard e veja que na linha +a,,i- ser.er is ru##i#0Q o valor ResQ o que significa que o componente Zabbix-server est sendo executado. 1- Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$% E( Ho#sidera!es 6i#ais Neste tutorial foi mostrada a instalao do componente Zabbix 2.2.0 no Ubuntu 12.04 LTS (Long Time Suport) usando PostgreSQL. Foi uma instalao simples sem se preocupar com a segurana do sistema. Para instalar o Zabbix aplicando os itens mnimos de segurana leia este artigo e adapte-o a sua realidade. http://zabbixbrasil.org/files/Artigo_Aecio_Pires- Aplicando_recomendacoes_de_seguranca_na_instalacao_do_Zabbix_VERSAO _10.pdf 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. Abrao e que Deus o(a) abenoe. Leia Joo 3:16-21. Jesus bom, te ama e quer salar tua alma. :-) L( 3e6er7#cias 2a#ual do +a,,i- 2(0( Disponvel em: https://www.zabbix.com/documentation/2.2/manual/introduction Acessado em: 18 de novembro de 2013. <+ABB)= 3E>%)3E2EN8S? Zabbix Requirements. Disponvel em: https://www.zabbix.com/documentation/2.2/manual/installation/requirements Acessado em: 18 de novembro de 2013. 18 Tutorial de instalao do Zabbix 2.2 no buntu co! Post"re#$%