#!/bin/bash
set -e

# Vérification des privilèges root
if [ "$EUID" -ne 0 ]; then
  echo "Erreur : Ce script doit être exécuté en root (ou via sudo)." >&2
  exit 1
fi

# Récupère le nom d'hôte passé en paramètre $1, ou demande sur /dev/tty si absent
ZABBIX_HOSTNAME="${1:-}"

if [ -z "$ZABBIX_HOSTNAME" ]; then
  read -rp "Entrez le Hostname pour cet agent Zabbix : " ZABBIX_HOSTNAME < /dev/tty
fi

if [ -z "$ZABBIX_HOSTNAME" ]; then
  echo "Erreur : Le Hostname ne peut pas être vide." >&2
  exit 1
fi

ZABBIX_SERVER="192.168.0.253"
CONFIG_FILE="/etc/zabbix/zabbix_agentd.conf"

echo "=== Installation des dépendances et de l'agent Zabbix ==="
apt-get update -qq
apt-get install -y -qq zabbix-agent

echo "=== Configuration de /etc/zabbix/zabbix_agentd.conf ==="

# Sauvegarde du fichier d'origine si non existante
if [ ! -f "${CONFIG_FILE}.bak" ]; then
    cp "$CONFIG_FILE" "${CONFIG_FILE}.bak"
fi

# Mise à jour des directives dans le fichier de configuration
sed -i "s/^Server=.*/Server=${ZABBIX_SERVER}/" "$CONFIG_FILE"
sed -i "s/^ServerActive=.*/ServerActive=${ZABBIX_SERVER}/" "$CONFIG_FILE"
sed -i "s/^Hostname=.*/Hostname=${ZABBIX_HOSTNAME}/" "$CONFIG_FILE"

echo "=== Redémarrage et activation du service ==="
systemctl restart zabbix-agent
systemctl enable zabbix-agent

echo "=== Installation terminée ! ==="
echo "Agent Zabbix configuré avec :"
echo "  - Server / ServerActive : ${ZABBIX_SERVER}"
echo "  - Hostname              : ${ZABBIX_HOSTNAME}"