Páginas

sexta-feira, 20 de março de 2015

Zabbix 2 4 CentOS 7 Tutorial Português

Zabbix 2.4 CentOS 7 Tutorial Instalação

Neste tutorial vamos abordar as etapas de instalação do Zabbix 2.4.x a última versão que foi aplicada em Março de 2015 foi a (2.4.3),consulte a versão atual em http://www.zabbix.com/download.php, conforme documentação você pode optar por instalar via pacotes (repositórios) ou source (compilar as informações manualmente). Neste tutorial vou abordar a opção via pacotes e no próximo vou falar sobre a segunda opção.

Autor: Hernandes Martins

Email: hernandss@gmail.com
Março de 2015

Recursos Utilizados

  • 01 Máquina Virtual com Linux Centos 7.1 (Virtual Box).
  • Putty Release 0.60
  • Acesso a internet
  • Browser para acesso a interface web Google Chrome.

Passos executados

Antes de iniciar, temos que levar em consideração alguns conceitos para entender a lógica deste tipo de monitoramento, abaixo segue os passos executados neste tutorial.
1. Repositório Zabbix
2. Instalando pacotes Zabbix
3. Ajustando Frontend
4. Acessando a interface web

Pré-requisitos para este tutorial.

Para instalação é necessário conhecimentos básicos na plataforma Linux.

As referências deste tutorial estão conforme documentação no link abaixo:
https://www.zabbix.com/documentation/2.4/manual/installation

Todos os passos para este tutorial foram executados com usuário root dentro da pasta /tmp

1. Repositório Zabbix

O que é repositório?
De maneira bem simples no Linux, pacotes são "Instaladores" ou conjunto de arquivos que servem para realizar a instalação de determinado aplicativo e repositórios são os "Locais" onde eu baixo os pacotes instaladores.

1.1. Pré-requisitos do sistema

Atualize o sistema antes de iniciar os passos a seguir.
# yum update -y
Antes de iniciar os procedimentos é necessário desabilitar o SELINUX e alterar a linha "SELINUX=enforcing" ,digite o comando a seguir:

Nota: O “ vi ’’ é um dos editores de texto mais populares em sistemas de tipo Unix/Linux, portanto se você ainda não conhece, faça uma breve pesquisa antes de continuar.

# vi /etc/sysconfig/selinux

Antes:
SELINUX=enforcing

Depois:
SELINUX=disabled

Obs: É importante ao final deste tutorial reiniciar o sistema para que estas configurações do SELINUX sejam efetivadas e o zabbix funcione perfeitamente.

Instale o pacote de configuração do repositório. Este pacote contém arquivos de configuração rpm para Zabbix 2.4 for CentOS 7, para baixar o pacote é necessário ter o wget instalado, digite o comando a seguir e tecle enter.

1.2. Instalar as dependências / repositórios

# yum install -y wget

1.2.1. Repositório Oficial Mysql

# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 
# rpm -ivh mysql-community-release-el7-5.noarch.rpm 

# ls -l /etc/yum.repos.d/mysql-community*

1.2.2. Instalar as dependências

 Observação:  Este tópico é apenas uma linha de comando, portanto confira se todos as dependencias foram instaladas.

yum install -y OpenIPMI.x86_64 net-snmp.x86_64 unixODBC.x86_64
java-1.7.0-openjdk-headless.x86_64 dejavu-sans-fonts gcc.x86_64 mysql-community-server.x86_64
mysql-community-devel.x86_64 libxml2-devel.x86_64 net-snmp-devel.x86_64 libssh2-devel.x86_64
OpenIPMI-devel.x86_64 libcurl-devel.x86_64 java-1.7.0-openjdk-devel.x86_64 httpd php.x86_64
php-mysql.x86_64 php.x86_64 php-mysql.x86_64 php-devel.x86_64 php-xml.x86_64 php-cli.x86_64 php-bcmath.x86_64 php-mbstring.x86_64 php-gd.x86_64

1.2.3. Instalando o Fping


wget http://pkgs.repoforge.org/fping/fping-3.10-1.el7.rf.x86_64.rpm
rpm -ivh fping-3.10-1.el7.rf.x86_64.rpm

1.2.4. Instalando iksemel

rpm -ivh ftp://ftp.muug.mb.ca/mirror/fedora/epel/7/x86_64/i/iksemel-1.4-6.el7.x86_64.rpm

1.3. Repositório Oficial Zabbix

wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-server-2.4.3-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-server-mysql-2.4.3-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-web-2.4.3-1.el7.noarch.rpm
wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-web-mysql-2.4.3-1.el7.noarch.rpm

rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-2.4.3-1.el7.x86_64.rpm
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-agent-2.4.3-1.el7.x86_64.rpm
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-get-2.4.3-1.el7.x86_64.rpm
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-java-gateway-2.4.3-1.el7.x86_64.rpm
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-sender-2.4.3-1.el7.x86_64.rpm
rpm -ivh zabbix-server-2.4.3-1.el7.x86_64.rpm zabbix-server-mysql-2.4.3-1.el7.x86_64.rpm
rpm -ivh zabbix-web-mysql-2.4.3-1.el7.noarch.rpm zabbix-web-2.4.3-1.el7.noarch.rpm

2. Procedimentos Mysql

Habilitando o serviço mysqld.service
# systemctl enable mysqld.service

Iniciando o serviço mysql.service
# systemctl start mysqld.service

Checando status do mysqld.service
# systemctl status mysqld.service | grep Active

Verificando se o serviço mysqld.service foi habilitado
# systemctl list-unit-files --type service | grep mysqld.service


# mysql -u root

2.1. Criar UsuárioMysql

Criar Usuário
mysql> CREATE USER 'zabbixuser'@'localhost' IDENTIFIED BY '123456';

Criar Banco

mysql> create database zabbixdb character set utf8 collate utf8_bin;

Dar permissão de acesso

mysql> grant all privileges on zabbixdb.* to zabbixuser@localhost identified by '123456';
mysql> exit

2.2. Criando o schema mysql zabbix

Acesse o diretório

# cd /usr/share/doc/zabbix-server-mysql-2.4.3/create/


# mysql -uroot zabbixdb < schema.sql

# mysql -uroot zabbixdb < images.sql

# mysql -uroot zabbixdb < data.sql


2.3. Serviços Zabbix

Adicionando parâmetros ao arquivo de configuração /etc/zabbix/zabbix_server.conf"

# vi /etc/zabbix/zabbix_server.conf
 

Antes

#ListenPort=10051
#DBHost=localhost
DBName=zabbix

DBUser=zabbix
#DBPassword=


Depois

ListenPort=10051
DBHost=localhost
DBName=zabbixdb

DBUser=zabbixuser
DBPassword=123456


Salve o arquivo para que as configurações sejam efetividas.

Inserindo o zabbix-server na inicialização do sistema

Habilitando o serviço zabbix-server.service
# systemctl enable zabbix-server.service

Inserindo o zabbix-agentd na inicialização do sistema

Habilitando o serviço zabbix_agentd
# systemctl enable zabbix-agent.service

Iniciando o serviço zabbix_agentd
# systemctl start zabbix-agent.service

Verificando Status do serviço zabbix_server.service
# systemctl status zabbix-agent.service | grep Active

Inserindo o zabbix-java-gateway.service na inicialização do sistema

Habilitando o serviço zabbix-java-gateway.service
#systemctl enable zabbix-java-gateway.service

Iniciando o serviço zabbix-java-gateway.service
#systemctl start zabbix-java-gateway.service

Verificando Status do serviço zabbix-java-gateway.service
#systemctl status zabbix-java-gateway.service | grep Active

Verificando se o serviços foram habilitados
#systemctl list-unit-files --type service | grep zabbix



3. Ajustando o Frontend do Zabbix.


3.1. Configuração do PHP para Zabbix frontend.


Edite o arquivo de configuração do apache para o Zabbix frontend que está localizado no diretório / etc/php.ini.


Digite o comando.
# vi /etc/php.ini 

Nota: Observe que algumas configurações do PHP já estão preenchidas , neste caso alterei apenas a linha: # php_value date.timezone Europa/Riga.

max_execution_time 300

post_max_size 16M

max_input_time 300


Antes
; date.timezone

Depois
date.timezone = America/Sao_Paulo


É necessário remover o comentário da configuração "date.timezone" e defina o fuso horário correto para você. Depois de alterar o arquivo de configuração, reinicie o servidor web apache com os comandos a seguir.

3.2. Serviços httpd


Inserindo httpd na inicialização do sistema

Habilitando o serviço httpd.service
#systemctl enable httpd.service

Iniciando o serviço httpd.service
#systemctl start httpd.service

Verificando Status do serviço httpd
#systemctl status httpd.service | grep Active

Verificando se o serviço foi habilitado
#systemctl list-unit-files --type service | grep httpd


3.3. Serviços de Firewall


Liberando acesso via interface web

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --permanent --zone=public --add-port=10050/tcp

firewall-cmd --permanent --zone=public --add-port=10050/udp
firewall-cmd --permanent --zone=public --add-port=10051/tcp
firewall-cmd --permanent --zone=public --add-port=10051/udp

Validando as configurações do Firewalld
#systemctl restart firewalld.service


Reinicie o Servidor
#reboot 


É obrigatório reiniciar o servidor para validar as configurações efetuadas nos passos anteriores.

4.     Acessando a interface web do Zabbix


Depois de reiniciar o servidor utilize um browser de qualquer computador na rede e acesse o Zabbix no endereço http://ip-do-servidor/zabbix e siga as telas abaixo.


Clique em Next

 ·        Verifique se todos os itens estão ok e clique em next.


Clique em Next

Clique em Next

Clique em Next
Clique em Next
 Clique em Finish e acesse a interface com usuário e senha.

 Observe a tela inicial do Zabbix


Conclusão

Este tutorial teve como objetivo apresentar as etapas de instalação do Zabbix 2.4.3 via repositório, conforme documentação você pode optar por instalar via pacotes (repositórios) ou source (compilar as informações manualmente). Lembrando que existem alguns fatores devem ser revisados e planejados antes de qualquer instalação tais como, hardware, banco de dados e usuários e senhas.
Consulte a documentação em:

47 comentários:

  1. Olá Hernanes, parabéns pelo tutorial, mto bom.
    Gostaria de uma ajuda sua, fiz todos os passos corretamente, porém os serviços zabbix-server.service, zabbix-agent.service e zabbix-java-gateway.service não inicializam. Habilitam mas não inicializam.

    ResponderExcluir
  2. Ola meu caro,

    O que aparece nos logs ?

    ResponderExcluir
  3. Olá Hernandes !

    Segui todos os passos, deu certo , só que na hora de colocar User e Password, não pega.
    O que poderia ser ? Ou onde poderia adicionar um usuário ?

    ResponderExcluir
    Respostas
    1. Higor,

      O usuário de acesso ao Zabbix é Admin (com o "a" maiúsculo) e a senha é zabbix.
      Eu também me bati um pouco porque pensei que seria o mesmo usuário e senha do banco!

      :P

      Excluir
    2. Caramba quebrei a cabeça por um Z maiúsculo rsrsrs :) , obrigado pela ajuda, o tutorial está excelente.

      Excluir
  4. Hernandes,

    EXCELENTE tutorial cara!!!
    Segui e deu tudo certinho, sem um erro sequer! Parabéns cara!!
    Quem dera todo tutorial fosse feito com essa qualidade!!!

    :D

    ResponderExcluir
  5. Parabéns cara!
    Instalou certinho e sem nenhum problema!
    Salvou minha vida! Rsrs

    ResponderExcluir
  6. Hernandes,

    Parabéns excelente material ...

    ResponderExcluir
  7. Hernandes,

    Boa tarde.

    Meus parabéns pela iniciativa, hoje está tão difícil de conseguirmos conciliar o trabalho, a família e o lazer...e você dedicou seu tempo para criar esse material!!!

    ResponderExcluir
  8. para mim esta dando o erro

    Zabbix server is running No

    ResponderExcluir
  9. bom dia amigo, ótimo tutorial, porém quando vou habilitar o serviço "Habilitando o serviço mysqld.service
    # systemctl enable mysqld.service"
    aparece a seguinte mensagem de erro:

    [root@bacula douglas.david]# systemctl enable mysqld.service
    Failed to issue method call: No such file or directory
    [root@bacula douglas.david]# systemctl start mysqld.service
    Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.

    gostaria por favor de uma ajuda , abrigado.

    ResponderExcluir
  10. bom dia amigo, ótimo tutorial, porém quando vou habilitar o serviço "Habilitando o serviço mysqld.service
    # systemctl enable mysqld.service"
    aparece a seguinte mensagem de erro:

    [root@bacula douglas.david]# systemctl enable mysqld.service
    Failed to issue method call: No such file or directory
    [root@bacula douglas.david]# systemctl start mysqld.service
    Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.

    gostaria por favor de uma ajuda , abrigado.

    ResponderExcluir
  11. Este comentário foi removido pelo autor.

    ResponderExcluir
  12. Muito obrigado pelo tutorial Hernandes. Segui os passos descritos e alterei somente a versão de 2.4.3 para a última 2.4.6 na linha de comando e funcionou perfeitamente também! Zabbix Atualizado! :)

    ResponderExcluir
  13. Boa tarde Hernandes! Realmente um passo a passo muito bem detalhado. Parabéns!
    Não consegui executar os passos do item 2.2. Criando o schema mysql zabbix

    Acesse o diretório

    # cd /usr/share/doc/zabbix-server-mysql-2.4.3/create/ (o diretório /zabbix-server-mysql-2.4.3/create/ não é encontrado. por consequência os próximos passos também não são encontrados). Porém o restante dos comandos foram executados com sucesso. Se puder me ajudar, desde já agradeço a atenção.


    # mysql -uroot zabbixdb < schema.sql

    # mysql -uroot zabbixdb < images.sql

    # mysql -uroot zabbixdb < data.sql

    ResponderExcluir
  14. Hernandes,

    Excelente material, você teria algum neste mesmo cenário para alertas via email, vi alguns matérias porém não sem êxito.

    ResponderExcluir
  15. 1.2.4. Instalando iksemel
    rpm -ivh ftp://ftp.muug.mb.ca/mirror/fedora/epel/7/x86_64/i/iksemel-1.4-6.el7.x86_64.rpm

    não estou conseguindo instalar esse arquivo.

    ResponderExcluir
    Respostas
    1. ele estava fora do ar, mas acredito que já tenha normalizado.

      Excluir
  16. Parabéns pelo artigo! TEm alguma diga para instalaçao do extras no CentOS 7? Obrigado!

    ResponderExcluir
  17. Olá pessoal Obrigado a todos pelos comentários, abraços

    ResponderExcluir
  18. Este comentário foi removido pelo autor.

    ResponderExcluir
  19. Hernandes,

    Muito bom o seu tutorial meu brother, gostaria de agradecer por ter tido essa iniciativa e ajudar as pessoas a tirar as dúvidas que elas tem, acabei de tirar a certificação e estou aprendendo muito, é um pouco complicado mais estou conseguindo aos poucos desenrolar, o curso da o caminho das pedras, o restante é com a gente. Forte abraço e fica na paz de Cristo

    ResponderExcluir
    Respostas
    1. Obrigado meu caro Neto Oliveira e sucesso nesta nova etapa do mundo da monitoração.

      Abraços

      Excluir
  20. Hernandes, Quando coloco o usuário: Admin e senha Zabbix para acessar o zabbix pela primeira vez não é aceito você sabe oque pode estar errado?

    ResponderExcluir
    Respostas
    1. Olá meu caro Anderson, neste caso , observe que a senha "zabbix" é sempre minuscula.

      Abraços

      Excluir
  21. Boa tarde! Hernandes Martins, fiz o esses procedimentos e instalou tudo certinho, mas o problema é que o zabbix server não está rodando, conforme está me mostrando aqui na interface web que não está rodando. Obrigado!

    ResponderExcluir
    Respostas
    1. Olá meu caro , verifique no o que aparece no log do Zabbix Server digite o comando e observe as informações, tail -f /var/log/zabbix/zabbix_server.log

      Abraços

      Excluir
    2. 2733:20151125:130501.504 [Z3001] connection to database 'zabbixdb' failed: [1045] Access denied for user 'wipy'@'localhost' (using password: NO)
      2733:20151125:130501.504 database is down: reconnecting in 10 seconds

      Me ajude a interpretar, não sei se entendi essa parte.

      Excluir
    3. Parece que as permissões de acesso ao banco de dados não foi efetivada com sucesso.

      Repita os passos de permissão e acesso a banco de dados.

      Dar permissão de acesso

      mysql> grant all privileges on zabbixdb.* to seuusuario@localhost identified by 'suasenha';
      mysql> exit


      Excluir
    4. Estou usando uma máquina virtual para instalar ele. Mas o problema persiste, vou refazer todo o processo e posto aqui pra você. Obrigado!

      Excluir
    5. Meu caro, encontrei o erro, não estava tirando o comentário onde coloca a senha de acesso ao zabbixdb. Muito obrigado pela sua colcaboração.

      Excluir
    6. Sobre o erro:Zabbix server is running No.

      Realmente e o procedimento que o Hernandes Martins explicou, pode ser previlegios ou configuração dentro do : # vi /etc/zabbix/zabbix_server.conf .

      Excluir
  22. Bom dia Hernandes! Parabéns pelo trabalho e muito obrigado por disponibilizar o material.

    Meu nome é Diego, e estou começando com Linux e com ZAbbix propriamente dito e estou seguindo seu tutorial, na hora que tento executar o comando para instalar o Fping acontece o erro abaixo:

    "# rpm -ivh ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el7/en/x86_64/dag/RPMS/fping-3.10.-1.el7.rf.x86_64.rpm
    Obtendo ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el7/en/x86_64/dag/RPMS/fping-3.10.-1.el7.rf.x86_64.rpm
    curl: (6) Could not resolve host: ftp.univie.ac.at; Erro desconhecido
    erro: ignorando ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el7/en/x86_64/dag/RPMS/fping-3.10.-1.el7.rf.x86_64.rpm - a transferência falhou"

    Pode me ajudar? O mesmo acontece para o IKSEMEL

    ResponderExcluir
  23. Olá meu caro,

    Conforme enviei por email, os links foram atualizados e coloquei o comentário la no video, pois a "univie" não tem mais o repositório. Portando no tutorial acima os links estão funcionando normalmente.

    Obrigado Pelo Feedback

    Abraços

    ResponderExcluir
    Respostas
    1. Hernandes,

      me parece que o iksemel tbm não está funcionando. o Fping funcionou com o link que está aqui nessa pagina, porem o iksemel aparece esse erro:

      # rpm -ivh ftp://ftp.muug.mb.ca/mirror/fedora/epel/7/.x86_64/i/iksemel-1.4-6.el7.x86_64.rpm
      Obtendo ftp://ftp.muug.mb.ca/mirror/fedora/epel/7/.x86_64/i/iksemel-1.4-6.el7.x86_64.rpm
      curl: (9) Server denied you to change to the given directory
      erro: ignorando ftp://ftp.muug.mb.ca/mirror/fedora/epel/7/.x86_64/i/iksemel-1.4-6.el7.x86_64.rpm - a transferência falhou

      Vi que no pkgs.repoforge.org tem alguns pacotes iksemel porem nao tem esse especifico.

      Att,

      Excluir
    2. consegui com esse link:

      ftp://mirror.switch.ch/pool/4/mirror/epel/7/x86_64/i/iksemel-1.4-6.el7.x86_64.rpm

      Abraço!

      Excluir
    3. feedback: Funcionou perfeitamente! Agora é brincar nele e aprender sobre.

      Obrigado mais uma vez.

      Excluir
  24. Ótimo tutorial, funcionou perfeitamente. Agradeço a colaboração Hernandes. Agora vou caçar outro tutorial para incluir os hosts que quero monitorar.... Valeuuu abraço!!!

    ResponderExcluir
  25. Obrigado meu caro...depois da uma olhada em outro tutorial meu, neste contem essas etapas.

    https://www.youtube.com/watch?v=twmacjBewnw

    Abraços

    ResponderExcluir
    Respostas
    1. Oi Hernandes, poxa vida muito obrigado, vou seguir o tutorial e vê se consigo adiciona alguns hosts para monitoração. Mais uma vez agradeço seu apoio.

      Excluir
  26. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  27. Hernandes, você tem algum material com instruções para colocar notificações pelo SendEmail?

    Obrigado!

    ResponderExcluir
  28. Olá meu caro,
    Neste o Zabbix 3.0 faz isto de forma nativa não havendo a necessidade de configuração de script, faça o teste e informe os resultados abraços

    ResponderExcluir
    Respostas
    1. Ok, vou fazer!

      E aproveitando, tem algum material que explica a criação ou como colocar MIBs, no meu caso Ubiquiti e Mikrotik, no Zabbix?

      Desde já, grato!

      Excluir