zabbix-install.sh hinzugefügt

main
sebastian.serfling 2025-03-12 14:37:39 +00:00
commit fe8dda51f6
1 changed files with 104 additions and 0 deletions

104
zabbix-install.sh Normal file
View File

@ -0,0 +1,104 @@
#!/bin/bash
# Dieses Skript installiert den zabbix-agent2 auf Debian 11/12
# mittels wget und dpkg, passt die Konfigurationsdatei an und nimmt
# folgende Parameter als Argumente entgegen:
# 1. Zabbix-Server (IP oder Hostname)
# 2. Hostname, der in der Konfiguration gesetzt werden soll
#
# Zusätzlich wird in der Konfigurationsdatei AllowKey=system.run[*] gesetzt
# und das Paket apt-show-versions installiert.
#
# Verwendung:
# ./install_zabbix_agent.sh <zabbix-server> <hostname>
#
# Beispiel:
# ./install_zabbix_agent.sh 192.168.1.100 MeinHost
# Sicherstellen, dass das Skript als root ausgeführt wird.
if [ "$EUID" -ne 0 ]; then
echo "Bitte als root ausführen."
exit 1
fi
# Prüfen, ob beide Parameter übergeben wurden.
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <zabbix-server> <hostname>"
exit 1
fi
# Parameter übernehmen
ZABBIX_SERVER="$1"
ZABBIX_HOSTNAME="$2"
# Prüfen der Debian-Version
if [ -f /etc/debian_version ]; then
DEB_VERSION=$(cut -d'.' -f1 /etc/debian_version)
echo "Gefundene Debian-Hauptversion: $DEB_VERSION"
if [ "$DEB_VERSION" -eq 11 ]; then
# URL für Debian 11 (bitte ggf. anpassen)
PKG_URL="https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian11_all.deb"
elif [ "$DEB_VERSION" -eq 12 ]; then
# URL für Debian 12 (bitte ggf. anpassen)
PKG_URL="https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb"
else
echo "Dieses Skript unterstützt nur Debian 11 und 12."
exit 1
fi
else
echo "Debian-Version konnte nicht ermittelt werden."
exit 1
fi
echo "Lade Zabbix-Agent2-Paket von: $PKG_URL"
wget "$PKG_URL" -O /tmp/zabbix-agent2.deb
if [ $? -ne 0 ]; then
echo "Fehler beim Herunterladen des Pakets."
exit 1
fi
echo "Installiere das Paket..."
dpkg -i /tmp/zabbix-agent2.deb
if [ $? -ne 0 ]; then
echo "Fehler bei der Paketinstallation. Fehlende Abhängigkeiten werden nun installiert..."
apt-get install -f -y
fi
# Installation von apt-show-versions
echo "Installiere apt-show-versions..."
apt update
apt-get install -y apt-show-versions zabbix-agent2
# Konfigurationsdatei sichern und anpassen
CONFIG_FILE="/etc/zabbix/zabbix_agent2.conf"
if [ -f "$CONFIG_FILE" ]; then
cp "$CONFIG_FILE" "${CONFIG_FILE}.bak"
echo "Backup der Konfiguration wurde unter ${CONFIG_FILE}.bak erstellt."
else
echo "Konfigurationsdatei $CONFIG_FILE nicht gefunden!"
exit 1
fi
# Konfigurationsparameter anpassen:
# Server-Adresse setzen
sed -i "s/^Server=127\.0\.0\.1/Server=${ZABBIX_SERVER}/" "$CONFIG_FILE"
# Active Server-Adresse setzen
sed -i "s/^ServerActive=127\.0\.0\.1/ServerActive=${ZABBIX_SERVER}/" "$CONFIG_FILE"
# Hostname setzen: Existiert die Zeile, wird sie ersetzt; ansonsten wird sie angehängt.
if grep -q "^Hostname=" "$CONFIG_FILE"; then
sed -i "s/^Hostname=.*/Hostname=${ZABBIX_HOSTNAME}/" "$CONFIG_FILE"
else
echo "Hostname=${ZABBIX_HOSTNAME}" >> "$CONFIG_FILE"
fi
# AllowKey setzen: Existiert die Zeile, wird sie ersetzt; ansonsten wird sie angehängt.
if grep -q "^AllowKey=system.run\[\*\]" "$CONFIG_FILE"; then
sed -i "s/^AllowKey=system.run\[\*\]/AllowKey=system.run[*]/" "$CONFIG_FILE"
else
echo "AllowKey=system.run[*]" >> "$CONFIG_FILE"
fi
# Zabbix-Agent2 neu starten, damit die Änderungen wirksam werden
systemctl restart zabbix-agent2
echo "Installation und Konfiguration abgeschlossen."