FAQ    Software    Linux   Icingaweb2 - Debian 11 - Graphite

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.