Icinga2 mit Grafana und Influxdb: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 15: Zeile 15:
 
*vi /etc/icinga2/features-enabled/influxdb.conf
 
*vi /etc/icinga2/features-enabled/influxdb.conf
 
<pre>
 
<pre>
    object InfluxdbWriter "influxdb" {
+
library "perfdata"
    host = "127.0.0.1"
+
 
    port = 8086
+
object InfluxdbWriter "influxdb" {
    database = "icinga2"
+
  host = "127.0.0.1"
    username = "icinga2"
+
  port = 8086
    password = "geheim"
+
  database = "icinga2"
    enable_send_thresholds = true
+
  username = "icinga2"
    enable_send_metadata = true
+
  password = "sysadm"
    host_template = {
+
  #enable_send_thresholds = true
    measurement = $host.check_command$
+
  #enable_send_metadata = true
    tags = {
+
  host_template = {
    hostname = $host.name$
+
  measurement = "$host.check_command$"
    }
+
  tags = {
    }
+
  hostname = "$host.name$"
 +
  }
 +
  }
 +
  service_template = {
 +
  measurement = "$service.check_command$"
 +
  tags = {
 +
  hostname = "$host.name$"
 +
  service = "$service.name$"
 +
  }
 +
  }
 +
}
  
    service_template = {
 
    measurement = “$service.check_command$”
 
    tags = {
 
    hostname = “$host.name$”
 
    service = “$service.name$”
 
    }
 
    }
 
  
    }
 
 
</pre>
 
</pre>
  

Version vom 3. Mai 2017, 10:38 Uhr

Vorraussetzungen

InfluxDB

  • apt-get install influxdb influxdb-client
root@localhost:~# influx
Connected to http://localhost:8086 version 0.13.0
InfluxDB shell version: 0.13.0
> create database icinga2;
> create user icinga2 with password ‘geheim’;
> grant all on icinga2 to icinga2;
  • vi /etc/icinga2/features-enabled/influxdb.conf
library "perfdata"

object InfluxdbWriter "influxdb" {
  host = "127.0.0.1"
  port = 8086
  database = "icinga2"
  username = "icinga2"
  password = "sysadm"
  #enable_send_thresholds = true
  #enable_send_metadata = true
  host_template = {
  measurement = "$host.check_command$"
  tags = {
  hostname = "$host.name$"
  }
  }
  service_template = {
  measurement = "$service.check_command$"
  tags = {
  hostname = "$host.name$"
  service = "$service.name$"
  }
  }
}


Feature enabled

  • icinga2 feature enable influxdb
  • systemctl restart icinga2.service

Grafana

Installation

Module hinzufügen

Module enabled

  • icingacli module enable grafana
  • systemctl restart icinga2.service

Configuration

  • vi /etc/icingaweb2/modules/grafana/config.ini
[grafana]
username = "icinga2"
host = "hostname:3000"
protocol = "http"
password = "geheim"
height = "280"
width = "640"
timerange = "3h"
enableLink = "yes"
defaultdashboard = "icinga2-default"
datasource = "influxdb"
defaultdashboardstore = "db"
accessmode = "direct"
directrefresh = "yes"
  • vi /etc/icingaweb2/modules/grafana/graphs.ini
[icinga2 default]
dashboard = "icinga2-default.json"
panelId = "1, 2, 3, 5, 6, 8, 9"
height = "280"
width = "460"

Im Grafana-Webinterface

Influxdb hinzufügen

  • Klick auf das Grafana-Symbol und im sich öffnenden Menü auf "Data Source"

Influxdb-icinga2-1.png

  • In dem sich öffnenden Bildschirm auf "Add Data Source" klicken

Influxdb-icinga2-2.png

  • Wie im unteren Screenshot die Daten ausfüllen und auf "Save & Test" klicken

Influxdb-icinga2-3.png

Dashboard downloaden

Dashboard hinzufügen

  • Klick auf das Grafana-Symbol und im sich öffnenden Menü auf "Dashboards"

Influxdb-icinga2-1.png

  • Im sich öffnenden Bildschirm auf "Home" und im sich öffnenden Menü unten auf "Import"

Dashboard-icinga2-2.png

  • Nun auf "Upload .json File" und die weiter oben herunter geladene Datei auswählen und auf "load" klicken

Dashboard-icinga2-3.png

  • Unbedingt im Feld "Name" "icinga2-default" eintragen und bei InfluxDB "icinga2" auswählen und auf "Import" klicken

Dashboard-icinga2-4.png

Im Icinga2-Webinterface

Der folgende Vorgang muss für jeden einzellnen Graphen im Dashboard wiederholt werden!

  • Links auf "Configuration" und dort auf "Grafana Graphs"

Icingaweb2-grafana-1.png

  • Es müsste eine Liste der bereits vorhandenen Grafana Graphen erscheinen über der sich wie im unteren Screenshot der Button "Add Grafana Graph" befinden müsste

Icingaweb2-grafana-2.png

  • Das sich öffnende Formular wie unten ausfüllen und auf "Add Graph" klicken

Icingaweb2-grafana-3.png