quarta-feira, 15 de março de 2017

CentOS 7 - Problema - Zabbix agent 3 ("on is unreachable")

Esse problema passou a ocorrer em algumas máquinas Hosts de desenvolvimento após ter sido feito um update.
Edit

Verificando o problema

Edit
Podem existir 2 problemas, porém ambos começaram quando fazemos yum update.
Edit

PROBLEMA 1 - O SELINUX passou a conflitar caso esteja configurado para como "enforcing"

Este caso já é recomendável verificar sempre. FAZENDO APENAS O PASSO 1.1 JÁ É PARA ARRUMAR
Edit

1.1 - Liberando pelo SEMODULE

Execute os comandos:
cd /etc/zabbix
cat /var/log/audit/audit.log | grep zab | audit2allow -M zabbix-agent
semodule -i zabbix-agent.pp
systemctl restart zabbix-agent
systemctl status zabbix-agent

OBS: instalar pacote policycoreutils-python que contem comando semanage

yum install policycoreutils-python -y

E execute a partir do cat novamente. Já é para estar funcionando e não precisa executar os passos abaixo!
Edit

1.2 - Liberando o SELINUX

Edito o arquivo /etc/selinux/config e verifique se o SELINUX está habilitado, se não estiver altere para:
#SELINUX=enforcing
SELINUX=permissive
Configure o enforce para "Permissive", digite o comando:

setenforce 0

OBS: Pode analisar com o comando sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          permissive
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28
Edit

1.3 - Reinicie o Zabbix Agent*

systemctl restart zabbix-agent
systemctl status zabbix-agent

Já iremos obter a saída conforme o exemplo:

# systemctl status zabbix-agent
? zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since Qua 2017-03-15 13:22:12 BRT; 2s ago
  Process: 19888 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 19891 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 19893 (zabbix_agentd)
   CGroup: /system.slice/zabbix-agent.service
           ??19893 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
           ??19894 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
           ??19895 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ??19896 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ??19897 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
           ??19898 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

Mar 15 13:22:12 xx13.xx.br systemd[1]: Starting Zabbix Agent...
Mar 15 13:22:12 xx13.xx.br systemd[1]: Started Zabbix Agent.

*ATENÇÃO: * Nesse caso não é preciso fazer o passo 2, pois significa que o zabbix22 não está instalado, ou a versão não é conflitante.

Caso persista o problema, siga o passo do problema 2...

PROBLEMA 2 - Conflito do zabbix22, que vem da instalação do repositório epel-relese, com o zabbix-agent, que vem do repositório adicionado do Zabbix.

Como podemos analisar no erro ao tentar reinstalar:
Resolvendo dependências
--> Executando verificação da transação
---> O pacote zabbix22.x86_64 0:2.2.16-1.el7 será instalado
--> Resolução de dependências finalizada

Dependências resolvidas

=================================================================================================
 Package                Arq.                 Versão                     Repo                Tam.
=================================================================================================
Instalando:
 zabbix22               x86_64               2.2.16-1.el7               epel               223 k

Resumo da transação
=================================================================================================
Instalar  1 Package

Tamanho total do download: 223 k
Tamanho depois de instalado: 802 k
Downloading packages:
zabbix22-2.2.16-1.el7.x86_64.rpm                                          | 223 kB  00:00:00     
Running transaction check
Running transaction test

Transaction check error:
  file /etc/zabbix/zabbix_agentd.conf from install of zabbix22-2.2.16-1.el7.x86_64 conflicts with file from package zabbix-agent-3.0.8-2.el7.x86_64

ANOTAÇÕES:
1 - Caso não repositório do Zabbix 3.0 não funcione - temos a opção do 2.4, que também já tem o agente 3.0: rpm -Uvh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
2 - Caso precise remover, execute os comandos abaixo:

rpm -e zabbix-release
yum clean all
yum update
Edit

2.1 - No cliente: remover o Zabbix e reinstalá-lo, sem o zabbix22

yum remove -y zabbix zabbix-agent
yum -y install zabbix-agent
Edit

2.2 - Esse passo pode não precisar, caso já tenha executado o semodule.

Nesse caso o arquivo /etc/zabbix/zabbix-agent.conf pode não existir, procure por /etc/zabbix/zabbix_agent.conf (repare que não é o traço ("-"), mas sim underline ("_")), caso o arquivo esteja configurado corretamente como antes, basta pular para o passo 2.3, mas caso exista o arquivo e ele tenha voltado a configuração original, edite-o alterando as seguinte variáveis:

#Server=127.0.0.1
Server=xx12.xx.br
...
#ServerActive=127.0.0.1
ServerActive=xx12.xx.br
...
#Hostname=Zabbix server
Hostname=xx3.xx.br

Edit

2.3 - Reinicie o Zabbix agente

systemctl enable zabbix-agent
systemctl restart zabbix-agent
Edit

2.4 -Verificando se funcionou

systemctl status zabbix-agent
netstat -tulpn|grep zabbix

OBS: Irá obter as saídas conforme o exemplo:

[root@xx13 ~]# systemctl status zabbix-agent
? zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since Qua 2017-03-15 12:14:36 EDT; 6s ago
  Process: 13452 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=1/FAILURE)
  Process: 13482 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 13484 (zabbix_agentd)
   CGroup: /system.slice/zabbix-agent.service
           ??13484 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
           ??13485 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
           ??13486 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ??13487 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ??13488 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
           ??13489 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
Mar 15 12:14:36 xx13.xx.br systemd[1]: Starting Zabbix Agent...
Mar 15 12:14:36 xx13.xx.br systemd[1]: PID file /run/zabbix/zabbix_agentd.pid no...t.
Mar 15 12:14:36 xx13.xx.br systemd[1]: Started Zabbix Agent.
Hint: Some lines were ellipsized, use -l to show in full.
[root@xx13 ~]# netstat -tulpn|grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               OUÇA       13484/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    OUÇA       13484/zabbix_agentd 


Tudo OK! :)

Nenhum comentário:

Postar um comentário