85 lines
2.8 KiB
Bash
85 lines
2.8 KiB
Bash
#!/bin/bash
|
|
# Script de Instalação do Pacote de Otimização Zabbix 7.0 LTS
|
|
# Executar como ROOT
|
|
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "❌ Por favor, execute como root (sudo ./install.sh)"
|
|
exit 1
|
|
fi
|
|
|
|
echo "======================================================="
|
|
echo "🚀 Iniciando Otimização do Zabbix 7.0 LTS"
|
|
echo "======================================================="
|
|
|
|
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
BACKUP_DIR="/root/zabbix_backup_$TIMESTAMP"
|
|
|
|
echo "📂 Criando diretório de backup: $BACKUP_DIR"
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
# Função para backup e cópia
|
|
install_config() {
|
|
SRC=$1
|
|
DEST=$2
|
|
if [ -f "$DEST" ]; then
|
|
echo " ↪ Backup de $DEST..."
|
|
cp "$DEST" "$BACKUP_DIR/"
|
|
fi
|
|
echo " ↪ Instalando $SRC em $DEST..."
|
|
cp "$SRC" "$DEST"
|
|
}
|
|
|
|
# 1. Zabbix Server
|
|
echo "🔧 Configurando Zabbix Server..."
|
|
install_config "zabbix_server.conf" "/etc/zabbix/zabbix_server.conf"
|
|
|
|
# 2. PostgreSQL
|
|
echo "🔧 Configurando PostgreSQL 16..."
|
|
# Ajuste o caminho se a versão for diferente
|
|
if [ -d "/etc/postgresql/16/main" ]; then
|
|
install_config "postgresql.conf" "/etc/postgresql/16/main/postgresql.conf"
|
|
else
|
|
echo "⚠️ Diretório PostgreSQL 16 não encontrado. Pulando config automática."
|
|
echo " Arquivo disponível em: $(pwd)/postgresql.conf"
|
|
fi
|
|
|
|
# 3. Nginx
|
|
echo "🔧 Configurando Nginx..."
|
|
install_config "nginx.conf" "/etc/nginx/nginx.conf"
|
|
install_config "zabbix.conf" "/etc/nginx/conf.d/zabbix.conf"
|
|
# Remover default se existir
|
|
[ -f "/etc/nginx/sites-enabled/default" ] && rm "/etc/nginx/sites-enabled/default"
|
|
|
|
# 4. PHP
|
|
echo "🔧 Configurando PHP 8.3..."
|
|
# Ajuste o caminho se a versão for diferente
|
|
if [ -d "/etc/php/8.3/fpm" ]; then
|
|
install_config "99-zabbix.ini" "/etc/php/8.3/fpm/conf.d/99-zabbix.ini"
|
|
install_config "zabbix_fpm.conf" "/etc/php/8.3/fpm/pool.d/zabbix.conf"
|
|
else
|
|
echo "⚠️ Diretório PHP 8.3 não encontrado. Pulando config automática."
|
|
fi
|
|
|
|
# 5. Redis
|
|
echo "🔧 Configurando Redis..."
|
|
install_config "redis.conf" "/etc/redis/redis.conf"
|
|
chown redis:redis /etc/redis/redis.conf
|
|
chmod 640 /etc/redis/redis.conf
|
|
|
|
# 6. Database Setup
|
|
echo "🗄️ ATENÇÃO: Configuração de Banco de Dados"
|
|
echo " Para aplicar as otimizações TimescaleDB, execute manualmente:"
|
|
echo " sudo -u postgres psql -d zabbix -f timescaledb_setup.sql"
|
|
|
|
# Finalização
|
|
echo "======================================================="
|
|
echo "✅ Arquivos copiados com sucesso!"
|
|
echo "🔄 Lembre-se de ajustar as SENHAS nos arquivos:"
|
|
echo " - /etc/zabbix/zabbix_server.conf (DBPassword)"
|
|
echo " - /etc/redis/redis.conf (requirepass)"
|
|
echo " - /etc/php/8.3/fpm/conf.d/99-zabbix.ini (session.save_path)"
|
|
echo ""
|
|
echo "Para aplicar as alterações, reinicie os serviços:"
|
|
echo "systemctl restart postgresql redis-server php8.3-fpm nginx zabbix-server"
|
|
echo "======================================================="
|