Instalação do Zabbix Proxy e Agent 4.4.7 em S.O versão 9.5 (Compilado)

Escrito por Hitfy


Instalação do Zabbix Proxy e Agent 4.4.7 em S.O versão 9.5 (Compilado)



1. Instalação de dependências

dnf update -y


dnf groupinstall "Development Tools" -y


dnf install -y epel-release


dnf install -y \\
openssl-devel \\
libcurl-devel \\
libxml2-devel \\
net-snmp-devel \\
sqlite-devel \\
libssh2-devel \\
pkgconf-pkg-config \\
pcre-devel \\
libevent-devel

2. Criação do usuário e grupo Zabbix

groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

3. Download do código-fonte

wget <https://cdn.zabbix.com/zabbix/sources/oldstable/4.4/zabbix-4.4.7.tar.gz>
tar -zxvf zabbix-4.4.7.tar.gz
cd zabbix-4.4.7

4. Ajuste para SNMP no código-fonte

Editar o arquivo:

vim src/zabbix_server/poller/checks_snmp.c

Adicionar as linhas abaixo após os #includes:


/* Fallback para DES se usmDESPrivProtocol não estiver definido */ #ifndef usmDESPrivProtocol

define usmDESPrivProtocol usmAESPrivProtocol

#endif


5. Configuração e compilação

./configure \
  --prefix=/usr \
  --enable-proxy \
  --with-sqlite3 \
  --with-net-snmp \
  --with-libcurl \
  --with-libxml2 \
  --with-ssh2 \
  --with-openssl \
  --with-unixodbc


make install

6. Configuração do ambiente

mkdir -p /etc/zabbix
cp conf/zabbix_proxy.conf /etc/zabbix/
chown -R zabbix:zabbix /etc/zabbix


mkdir -p /var/lib/zabbix
mkdir -p /var/log/zabbix
chown -R zabbix:zabbix /var/lib/zabbix /var/log/zabbix


mkdir -p /run/zabbix
chown zabbix:zabbix /run/zabbix


mkdir -p /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix


7 - Editar /etc/zabbix/zabbix_proxy.conf


Após abrir o arquivo “zabbix_proxy.conf” são necessárias as seguintes alterações:


  1. Server = 127.0.0.1. Alterar para o DNS do Server: hproxy.hit.com.vc
  2. Hostname= Zabbix server. Alterar para a o código da organização.
  3. LogFileSize=0. Alterar para: LogFileSize=10
  4. EnableRemoteCommands=0. Alterar para: EnableRemoteCommands=1
  5. DBName=zabbix_proxy. Alterar para /var/lib/zabbix/zabbix_proxy.db
  6. LogFile=/var/log/zabbix/zabbix_proxy.log
  7. Adicionar as linhas abaixo no fim do arquivo:

TLSConnect=psk

TLSPSKFile=/etc/zabbix/zabbix_proxy.psk

TLSPSKIdentity=CÓDIGO_DA_ORG


Criptografia Zabbix Proxy:

vim /etc/zabbix/zabbix_proxy.psk 

Colar a mesma chave encontrada no Zabbix Server na aba Proxies


Desabilite o SELINUX

"vim /etc/selinux/config"
"SELINUX=" de "enforced" para "disabled" 
:wq!


Setenforce 0

Desabilite o Firewall.D

service firewalld stop
systemctl disable firewalld

8. Criação de serviço systemd

cat << EOF > /etc/systemd/system/zabbix-proxy.service
[Unit]
Description=Zabbix Proxy
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/zabbix_proxy -c /etc/zabbix/zabbix_proxy.conf
User=zabbix
Restart=on-failure
RuntimeDirectory=zabbix
RuntimeDirectoryMode=0755
PIDFile=/run/zabbix/zabbix_proxy.pid
WorkingDirectory=/etc/zabbix
[Install]
WantedBy=multi-user.target
EOF


systemctl daemon-reexec
systemctl daemon-reload
systemctl enable --now zabbix-proxy
systemctl start zabbix-proxy

Verifique o status do serviço:

systemctl status zabbix-proxy


Se estiver running está Ok


9. Compilando o Zabbix Agent


Se estiver na pasta zabbix-4.4.7, rode:


./configure \\
--prefix=/usr \\
--enable-agent \\
--with-openssl \\
--with-libcurl \\
--with-net-snmp


make install

10. Configuração do ambiente do Agent

mkdir -p /etc/zabbix
cp conf/zabbix_agentd.conf /etc/zabbix/
chown -R zabbix:zabbix /etc/zabbix

Editar /etc/zabbix/zabbix_agentd.conf

  1. Server=<IP_DO_SERVIDOR_ZABBIX>
  2. ServerActive=<IP_DO_SERVIDOR_ZABBIX>
  3. “EnableRemoteCommands=0”. Alterar para: EnableRemoteCommands=1
  4. “LogFileSize=0”. Alterar para: LogFileSize=10
  5. Hostname=<NOME_DO_AGENT>
  6. LogFile=/var/log/zabbix/zabbix_agentd.log
  7. Timeout=30

11. Criação de serviço systemd para o Agent

cat << EOF > /etc/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
User=zabbix
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF


systemctl daemon-reexec
systemctl daemon-reload
systemctl enable --now zabbix-agent
systemctl start zabbix-agent

12. Verificação do Agent

systemctl status zabbix-agent

Se estiver running está Ok