Icingaweb2 - Debian 11 - Graphite
Wie installiere ich Graphite auf einem Debian 11 mit Icingaweb2?
Vorbereitung:
icinga2 feature enable perfdata
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update
apt-get install docker-ce docker-ce-cli containerd.io -y
docker run -d \
--name graphite \
--restart=always \
--volume $(pwd)/graphite/conf:/opt/graphite/conf \
--volume $(pwd)/graphite/storage:/opt/graphite/storage \
-p 192.168.0.4:9080:80 \
-p 192.168.0.4:2003-2004:2003-2004 \
-p 192.168.0.4:2023-2024:2023-2024 \
-p 192.168.0.4:8125:8125/udp \
-p 192.168.0.4:8126:8126 \
graphiteapp/graphite-statsd
IP 192.168.0.4 durch Ihre IP ersetzen.
Wir haben diese gewählt damit Graphite extern nicht erreichbar ist.
Nun wird festgelegt wie Graphite die Daten erhält:
nano /root/graphite/conf/storage-schemas.conf
Wichtig: fügen Sie dies ganz oben in der Datei ein:
[icinga2_internals]
pattern = ^icinga2\..*\.(max_check_attempts|reachable|current_attempt|execution_time|latency|state|state_type)
retentions = 5m:7d
[icinga2_default]
pattern = ^icinga2\.
retentions = 5m:10d,30m:90d,360m:4y
nano /root/graphite/conf/carbon.conf
ENABLE_TAGS = False
Die IP hier ist die, die wir oben beim Dockercontainer angegeben haben.
echo 'library "perfdata"
object GraphiteWriter "graphite" {
host = "192.168.0.4"
port = 2003
enable_send_thresholds = true
enable_send_metadata = true
}'> /etc/icinga2/features-available/graphite.conf
icinga2 feature enable graphite
Idealerweise jetzt einen Reboot machen, danach sollte Graphite schon anfangen Daten zu sammeln.
Hier mit installieren wir das Icinga Graphite Module und kopieren ein paar Standard Templates:
ICINGAWEB_MODULEPATH="/usr/share/icingaweb2/modules"
REPO_URL="https://github.com/icinga/icingaweb2-module-graphite"
TARGET_DIR="${ICINGAWEB_MODULEPATH}/graphite"
MODULE_VERSION="1.1.0"
git clone "${REPO_URL}" "${TARGET_DIR}" --branch v${MODULE_VERSION}
cp -R /usr/share/icingaweb2/modules/graphite/templates /etc/icingaweb2/modules/graphite/
chown -R www-data:icingaweb2 /etc/icingaweb2/modules/graphite/
icingacli module enable graphite
mkdir /etc/icingaweb2/modules/graphite
echo '[graphite]
url = "http://192.168.0.4:9080"
insecure = "0"' >/etc/icingaweb2/modules/graphite/config.ini
Ales letzte Prüfen wir noch die Datenbank. Graphite konnte bei unseren Test nicht mit utf8 umgehen.
Dazu:
nano /etc/icingaweb2/resources.ini
Abschnitt: [icinga_ido]
Sollte dieser Charset eingestellt sein: charset = "latin1"
Nun das System nochmal neu starten, danach sollte in den nächsten Minuten Grafiken angezeigt werden.