Instalação do Zabbix Proxy e Agent 4.4.7 em S.O versão 9.x (Compilado)
Escrito por Hitfy
Instalação do Zabbix Proxy e Agent 4.4.7 em S.O versão 9.x (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
dnf config-manager --enable ol9_codeready_builder dnf clean all dnf makecache dnf install -y unixODBC unixODBC-devel
./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
vim /etc/zabbix/zabbix_proxy.conf
Após abrir o arquivo zabbix_proxy.conf são necessárias as seguintes alterações:
- Server = 127.0.0.1. Alterar para o DNS do Server: hproxy.hitfy.io
- Hostname= Zabbix server. Alterar para a o código da organização.
- LogFileSize=0. Alterar para: LogFileSize=10
- EnableRemoteCommands=0. Alterar para: EnableRemoteCommands=1
- StartPollers=20
- StartPollersUnreachable=10
- StartPingers=20
- CacheSize=128M
- DataSenderFrequency=30
- Timeout=30
- DBName=zabbix_proxy. Alterar para /var/lib/zabbix/zabbix_proxy.db
- LogFile=/var/log/zabbix/zabbix_proxy.log
- 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
Vá para a pasta zabbix-4.4.7
cd 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
vim /etc/zabbix/zabbix_agentd.conf
- Server=<IP_DO_SERVIDOR_ZABBIX>
- ServerActive=<IP_DO_SERVIDOR_ZABBIX>
- EnableRemoteCommands=0. Alterar para: EnableRemoteCommands=1
- LogFileSize=0. Alterar para: LogFileSize=10
- Hostname=<NOME_DO_AGENT>
- LogFile=/var/log/zabbix/zabbix_agentd.log
- 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
13. Instalação do Salt
Rode:
wget -P /tmp https://app.hitfy.io/automacao/saltinstallv2.sh --no-check-certificate && sudo chmod +x /tmp/saltinstallv2.sh
Instale o telnet:
yum install telnet -y
Depois:
sudo sh /tmp/saltinstallv2.sh
Valide com:
service salt-minion status
14. Instalação do Fping
Instalar dependências:
dnf install -y gcc make automake autoconf
Rode:
cd /usr/src curl -LO https://fping.org/dist/fping-4.2.tar.gz tar -zxvf fping-4.2.tar.gz cd fping-4.2
Aplique o patch:
cd /usr/src/fping-4.2/src sed -i 's/^int random_data_flag;/extern int random_data_flag;/' fping.h grep -q "random_data_flag" fping.c || echo "int random_data_flag = 0;" >> fping.c
Recompile e instale:
cd /usr/src/fping-4.2 make clean make make install
Reinicie o proxy e valide:
systemctl restart zabbix-proxy fping -v