Zabbix - Instalação do frontend e Grafana

Zabbix 7 LTS 

 vim instalaZabbixFront.sh 

 #!/bin/bash

# ────────────────────────────────────────────────────────────────

# Script de instalação completa do Zabbix 7 no Debian 13 + Apache

# ────────────────────────────────────────────────────────────────

SERVER_ADDRESS='192.168.100.121'

PHPINI="/etc/php/8.4/apache2/php.ini"

MEU_IP=$(hostname -I | awk '{print $1}')

TIMEZONE="America/Porto_Velho" # Veja os fusos suportados aqui https://www.php.net/manual/pt_BR/timezones.php

echo "[1/8] INSTALANDO O REPOSITORIO OFICIAL DA ZABBIX SIA..."

wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian13_all.deb

dpkg -i zabbix-release_latest_7.0+debian13_all.deb

echo "[2/8] ATUALIZANDO O SISTEMA..."

apt update && apt upgrade -y

echo "[3/8] Instalando pacotes do Zabbix..."

apt install -y zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-agent2

echo "[4/8] Habilitando e iniciando serviços..."

systemctl enable --now apache2 zabbix-agent2 

echo "[5/8] Ajustando PHP.ini..."

sed -i "s|memory_limit = .*|memory_limit = 512M|" $PHPINI

sed -i "s|max_execution_time = .*|max_execution_time = 600|" $PHPINI

sed -i "s|upload_max_filesize = .*|upload_max_filesize = 100M|" $PHPINI

sed -i "s|;date.timezone =|date.timezone = $TIMEZONE|" $PHPINI

echo "[6/8] Configurando front to server..."

sed -i "s#// \$ZBX_SERVER.*= '';#$ZBX_SERVER = '$SERVER_ADDRESS';#" /etc/zabbix/web/zabbix.conf.php

sed -i "s#// \$ZBX_SERVER_PORT.*= '';#$ZBX_SERVER_PORT = '10051';#" /etc/zabbix/web/zabbix.conf.php

sed -i '/^\s*DocumentRoot \/var\/www\/html/a \ \ \ \ RedirectMatch permanent ^/$ /zabbix' /etc/apache2/sites-available/000-default.conf

echo "[6/8] Configurando Zabbix Agent2..."

sed -i "s/Server=127.0.0.1/Server=$SERVER_ADDRESS/g" /etc/zabbix/zabbix_agent2.conf

sed -i "s/ServerActive=127.0.0.1/ServerActive=$SERVER_ADDRESS/g" /etc/zabbix/zabbix_agent2.conf

sed -i "s/Hostname=Zabbix server/Hostname=ZBXFRONT/g" /etc/zabbix/zabbix_agent2.conf

echo "[8/8] Ajustando timezone do Apache para Zabbix..."

echo "php_value date.timezone $TIMEZONE" >> /etc/zabbix/apache.conf

echo "🔧 Ajustes extras de segurança e desempenho..."

# Apache

a2enmod rewrite headers deflate ssl

sed -i "s|ServerTokens OS|ServerTokens Prod|" /etc/apache2/conf-available/security.conf

sed -i "s|ServerSignature On|ServerSignature Off|" /etc/apache2/conf-available/security.conf

# PHP Opcache

cat <<EOF >> /etc/php/8.4/apache2/conf.d/10-opcache.ini

opcache.enable=1

opcache.memory_consumption=128

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=10000

opcache.revalidate_freq=2

EOF

echo "🔁 Reiniciando serviços..."

systemctl restart apache2 zabbix-agent2

echo "✅ Instalação concluída. Acesse http://$MEU_IP/zabbix no navegador."

echo "Login padrão: Admin / zabbix" 

 Agora dê as pemissões e execute o script 

 chmod +x instalaZabbixFront.sh

./instalaZabbixFront.sh 

 Conferindo os logs do agent2 

 tail -f /var/log/zabbix/zabbix_agent2.log