MySQL JOO PESSOA-PB OUT/2013 Histrico de Atualiza!es Data Verso Responsvel Alteraes 05 jun 2012 1.0 Acio Pires Verso inicial para o Zabbix 2.0.0 no Debian 6.0 11 jul 2012 1.1 Acio Pires Atualizao para o Zabbix 2.0.1 0 a!o 2012 1.2 Acio Pires Atualizao para o Zabbix 2.0.2 2" a!o 2012 1." Acio Pires Ajustes na con#i!urao 22 out 2012 1.$ Acio Pires Atualizao para o Zabbix 2.0." 0$ abr 201" 1.5 Acio Pires Atualizao para o Zabbix 2.0.5% ajustes e& al!uns co&an'os e instalao 'o (a)a su!eri'os por *obias +ette 1, out 201" 1.6 Acio Pires Atualizao para o Zabbix 2.0.- e suporte ao Debian .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 Uso 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 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 Su%&rio 1. .ntro'uo .................................................................................................... $ 2. .nstalan'o e con#i!uran'o as 'epen'/ncias ................................................ 6 2.1. 0rian'o o banco 'e 'a'os ...................................................................... 2.2. 0on#i!uran'o o P1P ................................................................................ ". .nstalan'o o Zabbix ...................................................................................... , ".2. 0on#i!uran'o o Zabbix ........................................................................... - ".". +cripts 'e inicializao 'o Zabbix ....................................................... 10 ".$. Acessan'o a inter#ace 2eb 'o Zabbix .................................................. 12 $. 0onsi'era3es #inais ................................................................................... 1, 5. 4e#er/ncias ................................................................................................. 1, " *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 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. $ *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 A/e#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. Processador0 ntel Dual Core 1.8 GHz 1e%oria 2A10 2 GB H30 10 GB Siste%a o4eracio#al0 Debian 7.0 32 bits OBS'0 Depois de instalar o Zabbix, acesse os sites mostrados nas Referncias deste tutorial para obter mais informaes sobre o sistema. 5 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 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#5i/ura#do as de4e#d6#cias De acordo com o manual oficial do Zabbix, os pacotes requeridos para a instalao do Zabbix so mostrados na tabela 1. Ta+ela 10 So5t7ares re8uisitos 4ara o 5u#cio#a%e#to do *a++i,' So5t7are 9ers)o 3escri)o Apache 1.3.12 ou superior Servidor Web PHP 5.1.6 ou superior Linguagem de programao Php-gd 2.0 ou superior Mdulo PHP para suporte a imagens 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 Banco de dados requerido se for usar o BM DB2 integrado ao Zabbix MySQL php-mysql 5.0 ou superior Banco de dados requerido se for usar o MySQL integrado ao Zabbix Oracle php-oci8 Banco de dados requerido se for usar o Oracle integrado ao Zabbix PostgreSQL php-pgsql 8.0 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#te0 ;*ABB(< 2E=U(2E1E>TS? OBS'0 Neste tutorial, ser adotado o MySQL, mas voc pode optar pelo BM DB2, PostgreSQL, Oracle ou SQLite. OBS'0 Os smbolos "@, "A e%.s8lB, 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 MySQL. 6 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 Para instalar os pacotes, execute os comandos abaixo de acordo com o tipo da distro GNU/Linux. OBS'0 S execute os comandos abaixo se estiver usando o 3e+ia# C'0: $ su - # echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list # apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886 # echo "deb http://ftp.br.debian.org/debian stable main" >> /etc/apt/sources.list # apt-get update # apt-get install -y --force-yes make flex gcc gpp apache2 php5 php5-mysql libapache2-mod-php5 php5-gd php-net-socket libpq5 libpq-dev snmp libiksemel- dev libcurl4-gnutls-dev vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev mysql-server mysql-client wget libmysqld-dev curl fping oracle-java7-installer oracle-java7-set-default 5a instalao 'o 67+89 ser: solicita'a u&a sen;a para o usu:rio <root= 'o ban'o 'e 'a'os. 2'1' Dria#do o +a#co de dados Crie o banco de dados e o usurio zabbix, usando os comandos abaixo. # mysql -u root -p mysql> create database zabbix character set utf8; mysql> GRANT ALL PRVLEGES ON *.* TO zabbix@localhost DENTFED BY 'password' WTH GRANT OPTON; mysql> quit Crie no sistema operacional, o usurio a ser usado pelo Zabbix. # adduser zabbix OBS'0 As senhas do usurio za++i, que ser criado no sistema operacional e no MySQL podem ser diferentes. 2'2' Do#5i/ura#do o PHP Edite o arquivo /etc/4E4F/a4acEe2/4E4'i#i delete o smbolo "G, que porventura estiver no incio da linha de cada parmetro abaixo, e atribua os seguintes valores em negrito. date.timezone = HA%erica/BrasIliaH
*utorial 'e instalao 'o Zabbix 2.0.- no Debian .0
max_execution_time = 300 max_input_time = 300 post_max_size = 1J1 Reinicie o Apache para aplicar as configuraes realizadas. # /etc/init.d/apache2 restart 3' (#stala#do o *a++i, Agora que as dependncias esto instaladas, instale o Zabbix. Hoje (18/10/2013) a verso mais nova a 2'0'K. 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.0.9/zabbix-2.0.9.tar.gz # tar xzvf zabbix-2.0.9.tar.gz # chmod -R +x zabbix-2.0.9 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 47d) e descompactar o pacote, criando o diretrio za++i,-2'0'K com os arquivos de instalao. Execute os comandos abaixo para popular o banco. # cat zabbix-2.0.9/database/mysql/schema.sql | mysql -u zabbix -p<password> zabbix # cat zabbix-2.0.9/database/mysql/images.sql | mysql -u zabbix -p<password> zabbix # cat zabbix-2.0.9/database/mysql/data.sql | mysql -u zabbix -p<password> zabbix OBS'0 Atente para o fato de que a senha deve estar junto opo "-4". Se houver um espao em branco entre eles, o comando no vai funcionar. nstale o Zabbix, executando os comandos abaixo. # cd zabbix-2.0.9 # ./configure --enable-server --enable-agent --enable-java --with-mysql --with-net- snmp --with-jabber --with-libcurl=/usr/bin/curl-config --with-ssh2 --with-openipmi # make install # cd - , *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 Sobre os parmetros de compilao... --enable-server> ;abilita o Zabbix ser)er. --enable-agent> ;abilita o a!ente Zabbix. --enable-java> ;abilita o &onitora&ento 'e aplica3es (a)a. --wit-m!s"l> in#or&a ?ue ser: usa'o o banco 'e 'a'os 67+89. --wit-net-snmp> ;abilita o &onitora&ento +56P. --wit-jabber> ;abilita o en)io 'e alertar )ia (abber. --wit-libc#rl$%#sr%bin%c#rl-con&ig> ;abilita o uso 'a biblioteca curl% usa'a no &onitora&ento 'e aplica3es @eb. Apcional&ente )oc/ po'e in#or&ar a localizao 'o co&an'o curlBcon#i! Cuse o co&an'o <wereis c#rl-con&ig' para 'escobrir o ca∈oD. --wit-ss(> ;abilita o &onitora&ento )ia ++1. --wit-openipmi> ;abilita o &onitora&ento 'e e?uipa&entos )ia .P6. C;ttp>EE!oo.!lEAF$uiD. Para con;ecer &ais op3es 'e co&pilao% execute o co&an'o <.%con&ig#re --elp= 'entro 'o 'iretGrio 'e instalao 'o Zabbix. 3'2' Do#5i/ura#do o *a++i, Os arquivos de configurao do Zabbix 2.0 ficam em /usr/local/etc. Edite o arquivo /usr/local/etc/za++i,La/e#td'co#5 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 #ServerActive=127.0.0.1 Hostname=informe o nome exato do host, do jeito que aparece no prompt de comandos antes dos smbolos "@, "A O parmetro $o/:ileSize significa o tamanho mximo que o arquivo de log pode ter em mega byte (MB). Edite o arquivo /usr/local/etc/za++i,Lser-er'co#5 e informe os seguintes dados, como mostra o exemplo abaixo: ListenPort=10051 LogFile=/tmp/zabbix_server.log LogFileSize=2 DebugLevel=3 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 FpingLocation=/usr/bin/fping - *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 O parmetro $o/:ileSize significa o tamanho mximo que o arquivo de log pode ter em mega byte (MB). O parmetro Start(P1(Pollers s precisa ser configurado se o Zabbix for compilado com a opo --7itE-o4e#i4%i' Copie os arquivos de frontend do Zabbix para o diretrio /-ar/777/za++i,, executando os comandos abaixo. # mkdir /var/www/zabbix # cp -R zabbix-2.0.9/frontends/php/* /var/www/zabbix/ # chown -R www-data:www-data /var/www/zabbix/ Reinicie o Apache para carregar os novos arquivos do Zabbix # /etc/init.d/apache2 restart 3'3' Scri4ts 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 ;; 10 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 restart|force-reload) $0 stop $0 start ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 ====> Crie o arquivo /etc/i#it'd/za++i,-a/e#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 11 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 exit 1 ;; esac exit 0 Torne os arquivos executveis com o comando abaixo. # chmod +x /etc/init.d/zabbix-server /etc/init.d/zabbix-agentd Em seguida, execute os scripts # /etc/init.d/zabbix-server start # /etc/init.d/zabbix-agentd start Habilite os scripts para serem executados quando o computador for ligado. # update-rc.d -f zabbix-server defaults # update-rc.d -f zabbix-agentd defaults 3'M' Acessa#do a i#ter5ace 7e+ 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 >e,t' 12 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 Tela 2: Cheque as dependncias do Zabbix. Se estiver tudo ok, clique em >e,t. 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.. 1" *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 Tela 4: nforme o P do servidor Zabbix e a porta em que ele ser executado (a padro 10051). No campo >a%e voc pode usar um nome qualquer, essa informao til quando voc precisa administrar vrios servidores Zabbix. Depois clique em >e,t. Tela 5: Revise as configuraes e se estiver ok, clique em >e,t. 1$ *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 Tela 6: Clique em :i#isE. Se nesta tela for exibido um erro de permisso durante a atualizao do arquivo de configurao, cheque a permisso do diretrio /-ar/777/za++i, e configure da forma mostrada neste tutorial. 15 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 Tela 7: Pronto! O Zabbix est instalado. Logue no Zabbix com o usurio Ad%i# e senha za++i,. Acesse o menu Do#5i/uratio# B Hosts' Como mostra a figura abaixo, o status do host Zabbix server >ot %o#itored (link na cor vermelha)' Clique sobre o link >ot %o#itored para habilitar o monitoramento. Ser exibido a caixa mostrada abaixo. 16 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 Clique em OK para habilitar o monitoramento. Perceba que o status ser alterado para 1o#itored (link na cor verde). Depois acesse o menu 1o#itori#/ B 3asE+oard e veja que na linha *a++i, ser-er is ru##i#/N o valor OesN o que significa que o componente Zabbix-server est sendo executado. 1 *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0 M' Do#sidera!es 5i#ais Neste tutorial foi mostrada a instalao do componente Zabbix 2.0.9 no Debian 7.0. 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 o Salmo 55:22. Jesus bom, te ama e quer salvar tua alma. :-) F' 2e5er6#cias (#stalli#/ Ja-a C o# 3e+ia#' Disponvel em: http://alexander.holbreich.org/2011/11/java-7-on-debian/ Acessado em: 18 de outubro de 2013. Ho7 to i#stall Oracle Ja-a C i# 3e+ia# -ia re4ositor.' Disponvel em: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html Acessado em: 18 de outubro de 2013. 1a#ual do *a++i, 2'0' Disponvel em: http://www.zabbix.com/documentation/2.0/manual/introduction Acessado em: 18 de outubro de 2013. ;*ABB(< 2E=U(2E1E>TS? Zabbix Requirements. Disponvel em: http://www.zabbix.com/documentation/2.0/manual/installation/requirements Acessado em: 18 de outubro de 2013. 1, *utorial 'e instalao 'o Zabbix 2.0.- no Debian .0