Instalando zabbix-agent no XenServer 7.

O monitoramento de performance e incidentes em tempo real a partir de um ambiente de TI corporativo é algo imprescindível nos dias de hoje, precisamos cada vez mais obter controle sobre nossos ativos, mensurando cargas e escalonando soluções. Neste artigo será demostrado a implementação do agente de monitoramento de serviços “Zabbix” em um host XenServer 7.

CONSIDERAÇÕES

Vamos levar em consideração que já possua um servidor com o serviço zabbix instalado e que possua conhecimentos de Linux necessários para realizar os procedimentos deste artigo.

1) ADICIONANDO REPOSITÓRIO.

Antes de iniciarmos o download de nosso agente zabbix, precisamos habilitar alguns repositórios extras. O XenServer é baseado no CentOS, e por padrão, bloqueia todos os repositórios do sistema. Podemos observar através da ilustração abaixo.

Vamos realizar o download e a instalação dos nossos novos repositórios e configura-los conforme o padrão adotado pelo XenServer. Realize o download e a instalação dos repositórios conforme ilustrado abaixo.

mkdir ~/downloads/
cd ~/downloads
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

Após a instalação, repare que foram criados alguns novos arquivos referente aos repositórios no diretório padrão “/etc/yum.repos.d“.  Execute o comando ilustrado abaixo para analisarmos novamente nossa lista de repositórios.

yum repolist all

Repare que antes de mostrar a lista contendo os novos repositórios, o yum realizará a atualização da lista de conteúdo. Logo após exibirá uma tela semelhante a ilustrada abaixo.

Nota: A atualização da lista de conteúdo de repositórios também pode ser atualizada através do comando informado abaixo.

yum makecache

Com nossos repositórios instalados, vamos desabilita-los conforme o padrão adotado pelo XenServer. Para isso, vamos utilizar o comando “sed”. Execute os comandos conforme ilustrado abaixo.

sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo
sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/remi.repo
sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/remi-safe.repo
sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/zabbix.repo

Pronto, nossos repositórios já estão instalados e desabilitados por padrão. Liste novamente os diretórios e vamos verificar como ficou.

yum repolist all

Nota: Repare que todos os repositórios estão desabilitados por padrão.

Precisamos agora atualizar nossa repositório principal chamada “base”, vamos aproveitar e atualizar também nossos novos repositórios. Repare que com os repositórios desabilitados precisamos passar para o comando “yum” o argumento “enablerepo”, conforme ilustrado no comando abaixo.

yum --enablerepo=epel --enablerepo=remi --enablerepo=base --enablerepo=zabbix makecache

Após executar o comando foi demostrado a seguinte mensagem na tela:

Essa mensagem é informada porque não foi possível encontrar o link de atualização informado no repositório do base padrão do XenServer. Para resolver este problema, precisamos editar o arquivo e mudar o link.

Acesse o arquivo “/etc/yum.repos.d/CentOS-Base.repo” e substitua a variável “$releasever” da linha “baseurl=” pela última versão de atualização do CentOS encontrada no endereço “http://mirror.centos.org/centos/“. Também descomente a linha, e comente a linha que começa com “mirrorlist”.

Para facilitar a alteração podemos novamente utilizar o comando “sed”. Execute o comando conforme ilustrado abaixo.

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bkp
sed -i -e '/#baseurl/ s/[$]releasever/7.3.1611/' -e 's/#baseurl/baseurl/' -e 's/mirrorlist/#mirrorlist/' /etc/yum.repos.d/CentOS-Base.repo

Nota: No momento da elaboração deste artigo a versão utilizada é a “7.3.1611”.

Pronto, agora já podemos atualizar nosso repositório. Execute novamente o comando ilustrado abaixo.

yum --enablerepo=epel --enablerepo=remi --enablerepo=base --enablerepo=zabbix makecache

Se tudo correr bem é possível visualizar uma tela parecida com a ilustrada abaixo.

2) INSTALANDO O AGENTE ZABBIX

Vamos então realizar a instalação do nosso agente zabbix. Para isso, execute o comando conforme ilustrado abaixo.

yum --enablerepo=epel --enablerepo=remi --enablerepo=base --enablerepo=zabbix install zabbix-agent

3) LIBERANDO PORTA DE ACESSO

Para que nosso agente zabbix funcione corretamente precisamos liberar a porta 10050 no firewall do XenServer para permitir a conexão do agente. Edite o arquivo /etc/sysconfig/iptables e adicione as informações conforme ilustrado abaixo.

# Zabbix-Agent
-A RH-Firewall-1-INPUT -p tcp --dport 10050 -j ACCEPT

4) CONFIGURANDO AGENTE ZABBIX

Precisamos agora configurar nosso agente, devemos informar qual é o endereço de nosso servidor de serviços Zabbix. Para isso, acesse o arquivo “/etc/zabbix/zabbix_agentd.conf” e realize as alterações conforme ilustrado abaixo.

Server=ENDEREÇO_IP_SERVIDOR_ZABBIX
ServerActive=ENDEREÇO_IP_SERVIDOR_ZABBIX
Hostname=HOSTNOME_DO_SERVIDOR

5) REINICIANDO SERVIÇOS

Agora que nosso agente zabbix está instalado e configurado, precisamos reinicializar os serviços para que nossas alterações surtam efeito. Para isso, realize o procedimento conforme ilustrado abaixo.

systemctl restart iptables
systemctl start zabbix-agent

Adicione também o agente zabbix para iniciar junto com o sistema em caso de reinicialização

systemctl enable zabbix-agent

Pronto, nosso agente zabbix está instalado e configurado.

CONCLUSÃO

Neste artigo demostrando de maneira simples e objetiva a configuração de um agente de monitoramento do serviço Zabbix em um host XenServer 7.

Se você gostou deste post e através dele pude lhe ajudar, o que acha de aproximarmos nosso contato? Siga meu blog e me adicione no Linkedin, aproveite para classificar algumas das minhas competências/recomendações, este simples gesto faz toda a diferença.

Rafael Oliveira
SysAdmin

 

Você pode compartilhar esse artigo.

Siga o Blog Via E-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 46 outros assinantes

Sobre o Autor

Rafael Oliveira Maria - Linux

Rafael Oliveira

Bacharel em Sistemas de Informação, SysAdmin, Professor, Blogueiro e Entusiasta Linux.

Certificados:

LPIC-1-Large
LPIC-2
LinuxPlus Logo Certified
itil-foundation-digital-badge

Gostou do conteúdo? Ajude-me a manter o blog.

PicPay - Linux

Aceitamos pagamentos e doações via PicPay link picpay.me/rafaeloliveimar

25 respostas

    1. Boa noite Francisco! Que pena cara, esse artigo é de 2017, pode ser que algo mudou, mas não estou mais utilizando o XenServer para poder ti auxiliar melhor. Migrei para o Proxmox! 🙁

  1. Sensacional a unica coisa que mudei foi a versão do zabbix agent, coloquei a 4.2, apanhei também na liberação da regra de firewall mas depois vi que eu estava colocando a regra depois de REJECT, valeu demais esse tópico, parabéns

  2. Parabéns pelo artigo Rafael Oliveira, foi de grande utilidade para mim!!

    @Douglas Moraes : A regra iptables tem que ser colocada ANTES da linha:
    -A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited

    Para quem usa versão antiga do XenServer (o meu é XenServer release 6.1.0-59235p) os repos são do CentOs 5:

    https://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm
    http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
    https://repo.zabbix.com/zabbix/3.2/rhel/5/x86_64/zabbix-release-3.2-2.el5.noarch.rpm

    Edite a linha do “/etc/yum.repos.d/CentOS-Base.repo” e descomente-a:

    baseurl=http://vault.centos.org/5.11/os/$basearch/

    E para habilitar no boot:

    $# chkconfig zabbix-agent on

    Espero ter ajudado!!

    1. Obrigado Julio! Fico feliz por contribuir com algo. Este artigo foi baseado no Xen Server 7, seu comentário ficará registrado aqui, assim se alguém resolver se aventurar na versão anterior também conseguirá. Vlw pelo feedback. Abraço.

  3. Boa tarde Rafael, belo artigo!

    Apesar do passo a passo estar bem simples mas estou com um dificuldade no iptables, quando restarto o serviço me apresenta uma mensagem de erro.

    Job for iptables.service failed because the control process exited with error code. See “systemctl status iptables.service” and “journalctl -xe” for details.

    Se tiver alguma ideia do que pode ser fico agredecido pela ajuda!

    1. Bom dia Daniel!

      Obrigado, é um prazer para mim poder contribuir com a comunidade. Sobre seu problema a mensagem informa que existe um erro no código iptable, verifique se inseriu corretamente a informação do passo 3, você pode utilizar o comando journalctl -xe para ver melhor o problema.

      Att,

  4. Bom dia Rafael, elas se comunicam tranquilamente, ping e ssh… não sei o que fazer mais não, estou na luta ate hj rs

    1. Bom dia Douglas!

      Rapaz tá complicado esse problema ai em rsrs. Já não estou conseguindo pensar em mais nada, se seguiu todos os passos corretamente não era para dar errado, muitos outros usuários já utilizaram o artigo com sucesso. Como você falou da questão de rede divergentes, tenta fazer um teste, coloque os dois na mesma rede e verifique se comunica. Outra questão é referente a porta de comunicação do Zabbix, tenha certeza que a porta esteja liberada.

      Att,

    2. Bom dia Douglas!

      Vi que está passando por um problema de comunicação entre o Zabbix e o XenServer e resolvi me intrometer para tentar ajudar, rsrs.

      Considerando que há comunicação entre as duas redes citadas, sugiro que reveja a etapa: 3) LIBERANDO PORTA DE ACESSO

      Adicione a regra de liberação após a linha 8 do arquivo do iptables no XenServer. No caso, abaixo de :RH-Firewall-1-INPUT – [0:0]

      Faça esse teste e nos dê um retorno quando puder.

      []’s

  5. Rafael, não consegui
    Sera que pode ser rede diferente
    Minha rede é /16
    por exemplo 10.30.0.0/16
    Meu servidor zabbix fica na 10.30.10.43
    O host fica 10.30.9.100

    1. Fala Douglas, bom dia!

      Cara eu por exemplo tenho VLAN’s de redes diferentes e consigo monitorar tranquilamente, porém o que tem que observar e se essas redes se comunicam. Se você não tiver comunicação entre as redes através de um roteador por exemplo, não irá conseguir monitorar. Teste sua rede e tenha certeza que possui comunicação entre ambos. Att,

    1. Fala Douglas blz?

      Seguinte, são duas coisas:

      1) Seu servidor zabbix esta ativo e funcional?
      2) Realizou o cadastro do host no servidor zabbix apontando para o ip do seu servidor que pretende monitorar?
      3) Reforce os passos, principalmente o passo 4, verifique se configurou corretamente.
      4) Também é necessário verificar se está conseguindo enxergar ambas as máquinas na rede. 😉

      Vai por eliminação para encontrar o problema, não tem erro não. Qualquer coisa só postar aqui.

      Abr.

          1. Esse sintoma está relacionado a falta de comunicação entre o agente Zabbix e o Servidor Zabbix. Da uma olhada no arquivo de configuração “/etc/zabbix/zabbix_agentd.conf” localizado no seu Xen que deseja monitorar. Verifique se as opções “ServerActive” = (Aponta para o IP do seu Servidor Zabbix) e “Hostname” = (Nome do seu XenServer que esta tentando monitorar), estão corretamente configuradas. Após isso restart o agente Zabbix.

            Att,

Ficou com dúvida? Alguma Sugestão ou Elogio? Deixe seu comentário!