Tutorial Zabbix

16
 Jeferson R. Costa [email protected] www.jefersonrc.com.br

Transcript of Tutorial Zabbix

  • 5/22/2018 Tutorial Zabbix

    1/16

    Jeferson R. Costa

    [email protected]

  • 5/22/2018 Tutorial Zabbix

    2/16

    1.Pr-InstalaoAntes de comear a instalao do Zabbix, precisamos antes atender alguns pr-requisitos para

    a instalao como compilador, Java, MySQL, PHP, Apache e algumas bibliotecas. Para

    instalarmos os pacotes necessrios, vamos utilizar os seguintes comandos:

    # 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-5.5 mysql-client wget

    libmysqld-dev curl fping openjdk-6-jdk

    Obs: Na instalao do MySQL ser solicitado a senha do root.

    Pronto, depois de instalarmos as dependncias para a instalao do Zabbix, vamos criar os

    diretrios onde ficaro os arquivos.

    # mkdir -pv /etc/zabbix/install

    # cd /etc/zabbix/install

    J dentro do diretrio, vamos baixar e descompactar o pacote do Zabbix:

    # wget

    http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.8/zabbix-

    2.0.8.tar.gz

    # tar -xzvf zabbix-2.0.8.tar.gz

    Pronto, agora vamos as configuraes.

  • 5/22/2018 Tutorial Zabbix

    3/16

    2.ConfiguraoO que devemos fazer agora criar e configurar a base do MySQL que ser usado pelo Zabbix,

    criar um usurio para o Zabbix no Unix e configurar o Apache/PHP.

    # mysql

    u root

    p

    mysql> create database zabbix character set utf8;

    mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'password'

    WITH GRANT OPTION;

    mysql> quit;

    Obs:Em passwordcoloque a senha da base de dados para o usurio Zabbix.

    # useradds /bin/false zabbix

    Vamos agora, alterar algumas configuraes do Apache/PHP, editando o seguinte arquivo:

    # pico /etc/php5/apache2/php.ini

    date.timezone = "America/Sao_Paulo"

    max_execution_time = 300

    max_input_time = 300

    post_max_size = 16M

    Como alteramos as configuraes do Apache/PHP, vamos reinicia-lo:

    # /etc/init.d/apache2 restart

  • 5/22/2018 Tutorial Zabbix

    4/16

    3.InstalaoVamos agora, comear realmente a instalao do Zabbix, o primeiro passo popular a base de

    dados que criamos acima:

    # cat /etc/zabbix/install/zabbix-2.0.8/database/mysql/schema.sql | mysql -u zabbix -p zabbix# cat /etc/zabbix/install/zabbix-2.0.8/database/mysql/images.sql | mysql -u zabbix -p zabbix

    # cat /etc/zabbix/install/zabbix-2.0.8/database/mysql/data.sql | mysql -u zabbix -p zabbix

    Depois de popular o banco de dados, vamos configurar o pacote para a instalao:

    # ./configure --prefix=/etc/zabbix --enable-server --enable-agent --enable-java --with-mysql --with-

    net-snmp --with-jabber --with-libcurl=/usr/bin/curl-config --with-ssh2 --with-openipmi

    --prefix=/etc/zabbixIndicando o diretrio dos arquivos de instalao.

    --enable-serverHabilitando o servidor Zabbix.

    --enable-agent

    Habilitando o agente Zabbix.--enable-javaHabilitando o java.

    --with-mysqlIndicando qual ser a nossa base de dados, no nosso caso o MySQL.

    --with-net-snmpHabilitando o monitoramento SNMP.

    --with-jabberHabilitando o envio de mensagens via Jabber.

    --with-libcurl=/usr/bin/curl-configHabilitando a biblioteca Curl e indicando o seu diretrio.

    --with-ssh2Habilitando o modulo ssh2 para comandos remotos e monitoramento via ssh.

    --with-openipmiHabilitando o monitoramento IPMI

    Obs: Caso queira verificar todos os mdulos disponveis no Zabbix execute o comando:

    # ./configure --help

    Depois de configurarmos o pacote, vamos compilar e instalar:

    # make; make install

    Vamos editar o arquivo /etc/servicesadicionando as portas necessrias para comunicao do

    Zabbix:

    # pico /etc/services

    zabbix-agent 10050/tcp #Zabbix Agentzabbix-agent 10050/udp #Zabbix Agent

    zabbix-trapper 10051/tcp #Zabbix Trapper

    zabbix-trapper 10051/udp #Zabbix Trapper

    Obs: Como possvel reparar neste arquivo, as portas esto em ordem, adicione as linhas

    acima nesta ordem. Lembrando que em alguns casos a linha adicionada automaticamente,

    ento tente localiza-las antes de inserir manualmente.

    Agora, vamos criar alguns links para ficar mais fcil a localizao dos arquivos de configurao,

    tanto do cliente como do servidor Zabbix:

    # ln -s /etc/zabbix/etc/zabbix_agentd.conf /etc/zabbix# ln -s /etc/zabbix/etc/zabbix_server.conf /etc/zabbix

  • 5/22/2018 Tutorial Zabbix

    5/16

    Vamos editar o arquivo /etc/zabbix/zabbix_agentd.confalterando os seguintes valores:

    # pico /etc/zabbix/zabbix_agentd.conf

    PidFile=/tmp/zabbix_agentd.pidLogFile=/tmp/zabbix_agentd.log

    LogFileSize=2

    DebugLevel=3

    EnableRemoteCommands=1

    LogRemoteCommands=1

    Server=127.0.0.1

    ListenPort=10050

    Hostname=Informe_o_nome_do_seu_servidor

    Depois vamos alterar as configuraes do arquivo /etc/zabbix/zabbix_agentd.conf, que a

    configurao do servidor Zabbix:

    # pico /etc/zabbix/zabbix_server.conf

    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 dadosStartIPMIPollers=1

    StartDiscoverers=5

    FpingLocation=/usr/sbin/fping

    Obs:Certifique-se se o caminho do fping da sua instalao realmente igual ao do nosso

    exemplo com o comando whereis fping para que no haja problemas posteriormente.

    Vamos configurar agora a parte dos frontends:

    # mkdir /var/www/zabbix

    # cp -R /etc/zabbix/install/zabbix-2.0.8/frontends/php/* /var/www/zabbix/# chown -R www-data:www-data /var/www/zabbix/

    # /etc/init.d/apache2 restart

  • 5/22/2018 Tutorial Zabbix

    6/16

    Agora, precisamos criar os scripts de start-stop-restart tanto do servidor quanto do cliente

    Zabbix:

    # pico /etc/init.d/zabbix_agentd

    #!/bin/sh#

    # Zabbix agent start/stop script.

    #

    # Written by Alexei Vladishev .

    NAME=zabbix_agentd

    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin

    DAEMON=/etc/zabbix/sbin/${NAME}

    DESC="Zabbix agent daemon"

    PID=/tmp/$NAME.pid

    test -f $DAEMON || exit 0

    set -ecase "$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

  • 5/22/2018 Tutorial Zabbix

    7/16

    # pico /etc/init.d/zabbix_server

    #!/bin/sh

    #

    # Zabbix daemon start/stop script.

    ## Written by Alexei Vladishev .

    NAME=zabbix_server

    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin

    DAEMON=/etc/zabbix/sbin/${NAME}

    DESC="Zabbix server 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 10

    # 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

  • 5/22/2018 Tutorial Zabbix

    8/16

    Vamos dar permisso aos scripts e iniciar o agente e o servidor Zabbix:

    # chmod +x /etc/init.d/zabbix_server /etc/init.d/zabbix_agentd

    # /etc/init.d/zabbix_server start

    # /etc/init.d/zabbix_agentd start

    Vamos configurar a inicializao do sistema para que os servios sejam devidamente iniciados

    junto com o sistema:

    # update-rc.d -f zabbix_server defaults

    # update-rc.d -f zabbix_agentd defaults

    Pronto, j fizemos todas as configuraes necessrias no Unix, vamos agora a parte grfica do

    negcio, para isso devemos acessar o endereohttp://ip_do_servidor/zabbix,uma janela

    semelhante a essa ser exibida, Clique em Next:

    http://ip_do_servidor/zabbixhttp://ip_do_servidor/zabbixhttp://ip_do_servidor/zabbixhttp://ip_do_servidor/zabbix
  • 5/22/2018 Tutorial Zabbix

    9/16

    Verifique todas as dependncias e se estiver tudo OKclique em Next.

    Preencha os campos para conexo com o banco de dados, clique em Test connection para

    testar a conexo e se estiver OK clique em Next.

  • 5/22/2018 Tutorial Zabbix

    10/16

    Deixe padro o nome do host e a porta, e em Name insira o nome do seu servidor e clique

    Next.

    Confira os dados inseridos e clique em Next.

  • 5/22/2018 Tutorial Zabbix

    11/16

    Pronto, o Zabbix j est configurado. Logo aps clicar em Finishser exibida a tela de login, por

    padro o usurio admine a senha zabbix.

    Por padro, o monitoramento via agente no servidor Zabbix desabilitado, para habilita-lo v

    em Configuration, depois em Hoste logo voc visualizar o servidor e em Statusestar como

    Not monitored, basta clicar em cima que o status ficar como Monitored.

  • 5/22/2018 Tutorial Zabbix

    12/16

    4.Instalao e Configurao Cliente LinuxAntes de configurarmos o cliente, devemos criar os diretrios que iro alocar os arquivos de

    instalao:

    # mkdir

    pv /etc/zabbix/install# cd /etc/zabbix/install

    Agora vamos baixar o pacote do Zabbix que o mesmo que usamos para instalar no servidor:

    # wget

    http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.8/zabbix-

    2.0.8.tar.gz

    Depois devemos descompactar o pacote e depois entrar no diretrio que foi gerado na

    descompactao:

    # tarxzvf zabbix-2.0.8.tar.gz

    # cd zabbix-2.0.8/

    O prximo passo seria a compilao dos mdulos que vamos instalar, mas antes vamos instalar

    o gcc e o make:

    # apt-get update

    # apt-get instally gcc make

    Depois de instalado o gcc e o make, vamos compilar nossa instalao:

    # ./configure --prefix=/etc/zabbix --enable-agent --enable-static

    --prefix=/etc/zabbixIndicando o diretrio dos arquivos de instalao.

    --enable-agentHabilitando o agente Zabbix.

    --enable-staticCriando links estticos para os binrios.

    Depois de compilado, vamos instalar:

    # make; make install

    Vamos agora, depois de instalado criar alguns links para que facilitar o acesso ao arquivo deconfigurao do agente:

    # ln -s /etc/zabbix/etc/zabbix_agentd.conf /etc/zabbix/

    Agora vamos configurar o script de gerenciamento (start / stop / ... /):

    # pico /etc/init.d/zabbix_agentd

  • 5/22/2018 Tutorial Zabbix

    13/16

    #!/bin/sh

    #

    # Zabbix agent start/stop script.

    #

    NAME=zabbix_agentd

    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/binDAEMON=/etc/zabbix/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

    Vamos aplicar permisso de execuo ao script:

    # chmod +x /etc/init.d/zabbix_agentd

  • 5/22/2018 Tutorial Zabbix

    14/16

    Vamos alterar algumas configuraes para que o agente funcione corretamente:

    # pico /etc/zabbix/zabbix_agentd.conf

    PidFile=/tmp/zabbix_agentd.pid

    LogFile=/tmp/zabbix_agentd.logLogFileSize=1

    EnableRemoteCommands=1

    LogRemoteCommands=1

    Server=IP_SERVIDOR_ZABBIX

    ListenPort=10050

    StartAgents=3

    #ServerActive=127.0.0.1

    Hostname=NOME_DO_CLIENTE

    Obs: Note que em Servervoc deve colocar o IPdo seu servidor Zabbix, deve tambm

    comentar a linha ServerActivee em Hostnamevoc deve colocar o nome do seu cliente, domesmo jeito que aparece no shell.

    Antes de iniciarmos o nosso agente, vamos criar um usurio no sistema para o Zabbix:

    # useradds /bin/false zabbix

    Agora vamos finalmente iniciar nosso agente:

    # /etc/init.d/zabbix_agentd start

    Se tudo estiver OK o agente ser iniciado. Vamos configura-lo para iniciar junto com o sistema:

    # update-rc.d -f zabbix_agentd defaults

    Pronto, o nosso agente est configurado no nosso cliente, basta configurar no console de

    administrao do Zabbix para iniciar o monitoramento.

    Obs.: Lembrando que caso haja um firewall rodando no cliente, necessrio abrir as portas

    10050/10051 UDP e 10050/10051 TCP para que o servidor consiga se comunicar com o

    agente.

  • 5/22/2018 Tutorial Zabbix

    15/16

    5.Instalao e Configurao Cliente WindowsPara configurarmos o agente no Windows devemos primeiramente criar um diretrio

    chamado ZABBIX em C:, depois devemos coletar alguns arquivos que esto no pacote que

    baixamos tanto para instalao do servidor quanto para a instalao do cliente Linux, depois

    de descompactado entre no diretrio bin, dentro deste diretrio h duas pastas win32ewin64, verifique a arquitetura do seu Sistema Operacional e copie todo o contedo da pasta

    correspondente para a pasta ZABBIX que criamos anteriormente, voc pode usar o Filezilla por

    exemplo para transferir do Linux para o Windows ou baixar o pacote diretamente no Windows

    pelo link para download do pacote Zabbix, usando o 7-zip ou o Winrar para descompactar.

    Depois de todos os arquivos transferidos, devemos criar o nosso arquivo de configurao com

    o nome zabbix_agentd.conf que dever ter o seguinte contedo:

    # This is a config file for Zabbix Agent (Windows)

    # To get more information about Zabbix, go to http://www.zabbix.com

    ############ GENERAL PARAMETERS #################

    LogFile=c:\ZABBIX\zabbix_agentd.log

    DebugLevel=3

    Server=IP_SERVER

    StartAgents=5

    Hostname=HOSTNAME_CLIENTE

    ############ ADVANCED PARAMETERS #################

    Timeout=3

    Obs: Em IP_SERVERcoloque o que IPdo seu servidor Zabbix e em HOSTNAME_CLIENTE

    coloque o nome do cliente que est sendo configurado.

    Agora, vamos abrir o prompt de comando como administrador, e navegar at o diretrio

    C:\ZABBIXque criamos anteriormente, para isso digite o seguinte comando:

    C:\Windows\System32> cd C:\Zabbix

    Obs:Note que o prefixo C:\Windows\System32> somente para indicar que estamos dentrodo Prompt de comando do Windows.

    Depois vamos criar o servio:

    C:\ZABBIX> zabbix_agentd.exeIc zabbix_agentd.conf

    Agora vamos iniciar o servio:

    C:\ZABBIX> zabbix_agentd.exesc zabbix_agentd.conf

    Pronto, o nosso agente est configurado no nosso cliente, basta configurar no console deadministrao do Zabbix para iniciar o monitoramento.

  • 5/22/2018 Tutorial Zabbix

    16/16

    Obs: Assim como no Linux, caso haja um firewall rodando, deve-se abrir as portas

    10050/10051 UDP e 10050/10051 TCP para que o servidor Zabbix consiga se comunicar com o

    agente.

    6.Criando um Host no Console de AdministraoDepois de configurarmos corretamente os agentes, vamos criar os Hosts no console de

    administrao do Zabbix para que seja iniciado o monitoramento. No console de

    administrao posicione o mouse sobre Configuration e clique em Hosts, j na janela de

    configurao de Hosts, clique em Create Hoste voc ver uma janela semelhante a essa:

    Preencha todos os dados conforme sua necessidade. Depois de preenchido, devemos definir o

    que ser monitorado, para isso utilizado os templates. Para definirmos um template ao

    nosso Host, clique no guia Templatese depois clique em Add, selecione o template desejado,

    clique em Select e depois em Savepara finalizar a configurao do Host.

    H vrios outros parmetros que pode ser configurado, mas para somente iniciarmos o

    monitoramento o que fizemos j o suficiente.

    7.ConcluindoCom os passos acima, voc j ter um servidor Zabbix operacional em sua rede, podendo

    monitorar tudo que possua IP. Em prximas oportunidades postarei a instalao de clientes

    em Slackware, CentOS e se houver oportunidade e demanda posso postar a instalaes do

    Zabbix/Cliente em outras distribuies, alm de configurao de SNMP nos Switchs,

    Roteadores e outros Devices para monitara-los tambm. Obrigado pela ateno.