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
25 respostas
Boa tarde, fiz todo o passo a passo mas continua dando erro:
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://mirror.centos.org/centos/7.9.2009/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 403 – Forbidden
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! 🙁
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
Massa Ale! que bom que foi útil, tmj abr.
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!!
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.
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!
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,
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
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,
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
Show Bruno obrigado pela contribuição!
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
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,
No meu caso o Zabbix não consegue encontrar o servidor que foi instalado o agent
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.
Então, tudo funcional, se enxergam e nada de funcionar.
Já habilitou o template?
Sim, fiz tudo e fica vermelho o icone ZBX
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,
Nada, já estou quase desistindo rs
Sensacional esse artigo, consegui instalar de boa o Agente do Zabbix, muito obrigado.
Que bom Ronald! Fico feliz em poder ajudar. Precisando estamos ai. Abr.
boa tarde, tem template ??
boa tarde!
https://share.zabbix.com/cat-app/cluster/monitoring-citrix-xenserver-host-and-vms-based-on-pyton-xenapi