From 3f826ef752d35002f3eb412bcab070484a9ffdc9 Mon Sep 17 00:00:00 2001
From: anima
Date: Sun, 2 Feb 2025 12:40:13 +0100
Subject: [PATCH] inital version
---
compose.yml | 207 +++++++++++++++++++++++
env.sample | 62 +++++++
grafana/default.dashboard.yml | 7 +
grafana/default.source.yml | 15 ++
grafana/icinga2-default.json | 308 ++++++++++++++++++++++++++++++++++
5 files changed, 599 insertions(+)
create mode 100644 compose.yml
create mode 100644 env.sample
create mode 100644 grafana/default.dashboard.yml
create mode 100644 grafana/default.source.yml
create mode 100644 grafana/icinga2-default.json
diff --git a/compose.yml b/compose.yml
new file mode 100644
index 0000000..544c1a4
--- /dev/null
+++ b/compose.yml
@@ -0,0 +1,207 @@
+services:
+##### ICINGAWEB2 #####
+ icingaweb2:
+ image: git.ao-it.net/docker/icingaweb2:latest
+ hostname: icingaweb2
+ depends_on:
+ - db_icingaweb
+ restart: always
+ volumes:
+ - ./files/icingaweb2:/data
+ ports:
+ - 8080:8080
+ networks:
+ - icinga
+ environment:
+ ## icingaweb2 general
+ - ICINGAWEB2_DB_RESOURCE_NAME=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
+ - ICINGAWEB2_DEFAULT_ADMIN_USER=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
+ - ICINGAWEB2_DEFAULT_ADMIN_PASS=${ICINGAWEB_DEFAULT_ADMIN_PASS:-icingaadmin}
+ ## icingaweb2: conf.ini
+ - ICINGAWEB2_CONF__logging__log=php
+ - ICINGAWEB2_CONF__logging__level=ERROR
+ - ICINGAWEB2_CONF__logging__application=icingaweb2
+ - ICINGAWEB2_CONF__global__config_backend=db
+ - ICINGAWEB2_CONF__global__config_resource=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
+ ## icingaweb2: resources.ini
+ ### user & resource db for icingaweb2
+ - ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__type=db
+ - ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__db=mysql
+ - ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__host=${ICINGAWEB_DB_HOST:-db_icingaweb}
+ - ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__dbname=${ICINGAWEB_DB:-icingaweb}
+ - ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__username=${ICINGAWEB_DB_USER:-icingaweb}
+ - ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__password=${ICINGAWEB_DB_PASS:-icingaweb}
+ - ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__charset=utf8mb4
+ ### module: icingadb db resource
+ - ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__type=db
+ - ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__db=mysql
+ - ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__host=${ICINGA_DB_HOST:-db_icinga}
+ - ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__dbname=${ICINGA_DB:-icingadb}
+ - ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__username=${ICINGA_DB_USER:-icingadb}
+ - ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__password=${ICINGA_DB_PASS:-icingadb}
+ - ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__charset=utf8mb4
+ ## icingaweb2: authencitation.ini
+ - ICINGAWEB2_AUTH__icingaweb2__backend=db
+ - ICINGAWEB2_AUTH__icingaweb2__resource=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
+ ## icingaweb2: groups.ini
+ - ICINGAWEB2_GROUPS__icingaweb2__backend=db
+ - ICINGAWEB2_GROUPS__icingaweb2__resource=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
+ ## icingaweb2: roles.ini
+ - ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__groups=${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}
+ - ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__permissions="*"
+ - ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__users=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
+ ## module: icingadb
+ ### icingadb: conf.ini
+ - ICINGAWEB2_ICINGADB_CONF__icingadb__resource=icingadb
+ ### icingadb: redis.ini
+ - ICINGAWEB2_ICINGADB_REDIS__redis1__host=${ICINGADB_REDIS_HOST:-db_redis}
+ - ICINGAWEB2_ICINGADB_REDIS__redis1__port=${ICINGADB_REDIS_PORT:-6379}
+ ### icingadb: commandtransports.ini
+ - ICINGAWEB2_ICINGADB_CMD__icinga2__transport=${ICINGADB_CMD_TYPE:-api}
+ - ICINGAWEB2_ICINGADB_CMD__icinga2__host=${ICINGA_API_HOST:-icinga2}
+ - ICINGAWEB2_ICINGADB_CMD__icinga2__port=${ICINGA_API_PORT:-5665}
+ - ICINGAWEB2_ICINGADB_CMD__icinga2__username=${ICINGA_API_ICINGAWEB_USER:-icingaweb}
+ - ICINGAWEB2_ICINGADB_CMD__icinga2__password=${ICINGA_API_ICINGAWEB_PASS:-icingaweb}
+ ## module: grafana
+ ### grafana: conf.ini
+ - ICINGAWEB2_GRAFANA_CONF__grafana__host=${GRAFANA_HOST:-grafana}:${GRAFANA_PORT:-3000}
+ - ICINGAWEB2_GRAFANA_CONF__grafana__defaultdashboard=${GRAFANA_DASHBOARD_NAME:-icinga2-default}
+ - ICINGAWEB2_GRAFANA_CONF__grafana__defaultdashboarduid=${GRAFANA_DASHBOARD_UID:-icinga2-default}
+ - ICINGAWEB2_GRAFANA_CONF__grafana__defaultdashboardpanelid=1
+ - ICINGAWEB2_GRAFANA_CONF__grafana__defaultorgid=1
+ - ICINGAWEB2_GRAFANA_CONF__grafana__timerange=12h
+ - ICINGAWEB2_GRAFANA_CONF__grafana__shadows="1"
+ - ICINGAWEB2_GRAFANA_CONF__grafana__accessmode=iframe
+
+ db_icingaweb:
+ image: mariadb:latest
+ hostname: ${ICINGAWEB_DB_HOST:-db_icingaweb}
+ restart: always
+ volumes:
+ - ./files/dbs/icingaweb:/var/lib/mysql
+ networks:
+ - icinga
+ environment:
+ MARIADB_RANDOM_ROOT_PASSWORD: yes
+ MARIADB_DATABASE: ${ICINGAWEB_DB:-icingaweb}
+ MARIADB_USER: ${ICINGAWEB_DB_USER:-icingaweb}
+ MARIADB_PASSWORD: ${ICINGAWEB_DB_PASS:-icingaweb}
+
+ grafana:
+ image: grafana/grafana:latest
+ hostname: grafana
+ depends_on:
+ - icingaweb2
+ restart: always
+ #user: '0'
+ ports:
+ - ${GRAFANA_PORT:-3000}:3000
+ networks:
+ - icinga
+ volumes:
+ - ./grafana/default.source.yml:/etc/grafana/provisioning/datasources/default.yml
+ - ./grafana/default.dashboard.yml:/etc/grafana/provisioning/dashboards/default.yml
+ - ./grafana/icinga2-default.json:/var/lib/grafana/dashboards/${GRAFANA_DASHBOARD_FILE:-icinga2-default.json}
+ environment:
+ ## required configs
+ GF_AUTH_ANONYMOUS_ENABLED: true
+ GF_SECURITY_ALLOW_EMBEDDING: true
+ GF_AUTH_ANONYMOUS_ORG_ROLE: Viewer
+ GF_AUTH_ANONYMOUS_HIDE_VERSION: true
+ ## user settings
+ GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-grafanaadmin}
+ GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASS:-grafanaadmin}
+ ## default data source
+ GRAFANA_DEFAULT_SOURCE_NAME: ${ICINGA_INFLUX_HOST:-db_influxdb}
+ GRAFANA_DEFAULT_SOURCE_UID: ${ICINGA_INFLUX_HOST:-db_influxdb}
+ GRAFANA_DEFAULT_SOURCE_DB: ${ICINGA_INFLUX_DB:-icinga}
+ GRAFANA_DEFAULT_SOURCE_HOST: ${ICINGA_INFLUX_HOST:-db_influxdb}
+ GRAFANA_DEFAULT_SOURCE_PORT: ${ICINGA_INFLUX_PORT:-8086}
+ GRAFANA_DEFAULT_SOURCE_USER: ${ICINGA_INFLUX_USER:-icinga}
+ GRAFANA_DEFAULT_SOURCE_PASS: ${ICINGA_INFLUX_PASS:-icinga}
+ ## default dashboard
+ GRAFANA_DEFAULT_DASHBOARD_NAME: ${GRAFANA_DASHBOARD_NAME:-icinga2-default}
+ GRAFANA_DEFAULT_DASHBOARD_FILE: ${GRAFANA_DASHBOARD_FILE:-icinga2-default.json}
+
+##### ICINGA2 #####
+ db_icinga:
+ image: mariadb
+ hostname: ${ICINGA_DB_HOST:-db_icinga}
+ restart: always
+ volumes:
+ - ./files/dbs/icinga:/var/lib/mysql
+ networks:
+ - icinga
+ environment:
+ MARIADB_RANDOM_ROOT_PASSWORD: yes
+ MARIADB_DATABASE: ${ICINGA_DB:-icingadb}
+ MARIADB_USER: ${ICINGA_DB_USER:-icingadb}
+ MARIADB_PASSWORD: ${ICINGA_DB_PASS:-icingadb}
+
+ db_redis:
+ image: redis
+ hostname: ${ICINGADB_REDIS_HOST:-db_redis}
+ restart: always
+ networks:
+ - icinga
+
+ # sync handler between icingadb (db_icinga) and redis (db_redis)
+ icingadb:
+ image: icinga/icingadb
+ depends_on:
+ - db_redis
+ - db_icinga
+ restart: always
+ networks:
+ - icinga
+ environment:
+ - ICINGADB_REDIS_HOST=${ICINGADB_REDIS_HOST:-db_redis}
+ - ICINGADB_REDIS_PORT=${ICINGADB_REDIS_PORT:-6379}
+ - ICINGADB_DATABASE_HOST=${ICINGA_DB_HOST:-db_icinga}
+ - ICINGADB_DATABASE_PORT=${ICINGA_DB_PORT:-3306}
+ - ICINGADB_DATABASE_DATABASE=${ICINGA_DB:-icingadb}
+ - ICINGADB_DATABASE_USER=${ICINGA_DB_USER:-icingadb}
+ - ICINGADB_DATABASE_PASSWORD=${ICINGA_DB_PASS:-icingadb}
+
+ db_influxdb:
+ image: influxdb:1.8
+ hostname: ${ICINGA_INFLUX_HOST:-db_influxdb}
+ restart: always
+ networks:
+ - icinga
+ volumes:
+ - ./files/dbs/influx:/vol01/Docker/monitoring
+ environment:
+ - INFLUXDB_DB=${ICINGA_INFLUX_DB:-icinga}
+ - INFLUXDB_USER=${ICINGA_INFLUX_USER:-icinga}
+ - INFLUXDB_ADMIN_ENABLED=true
+ - INFLUXDB_ADMIN_USER=${INFLUX_ADMIN_USER:-icinga}
+ - INFLUXDB_ADMIN_PASSWORD=${INFLUX_ADMIN_PASS:-icinga}
+
+ icinga2:
+ image: git.ao-it.net/docker/icinga2:latest
+ hostname: ${ICINGA_API_HOST:-icinga2}
+ depends_on:
+ - db_redis
+ restart: always
+ volumes:
+ - ./files/icinga2:/data
+ ports:
+ - 5665:5665 # only need if you plan to use api from other sources as icingaweb2
+ networks:
+ - icinga
+ #- backend
+ environment:
+ # REMOVE VARS HERE IF YOU EDIT THE CONFIG DIRECTLY!!
+ # The variables are primarily for the initial setup, later editing is recommended directly in the icinga config.
+ # Empty or non-existent vars do not change anything
+ ICINGA2_API_USER_ROOT_PASS: ${API_ROOT_PASS:-changeME!} # only on fist init! set api user root password
+ ICINGA2_API_USER_ICINGAWEB_PASS: ${ICINGA_API_ICINGAWEB_PASS:-icingaweb} # only on first init! create api user icingaweb and set password
+ ICINGA2_ICINGADB_REDIS_HOST: ${ICINGADB_REDIS_HOST:-db_redis}
+ ICINGA2_ICINGADB_REDIS_PORT: ${ICINGADB_REDIS_PORT:-6379}
+ ICINGA2_INFLUXDB_HOST: ${ICINGA_INFLUX_HOST:-db_influxdb}
+ ICINGA2_INFLUXDB_PORT: ${ICINGA_INFLUX_PORT:-8086}
+ ICINGA2_INFLUXDB_DB: ${ICINGA_INFLUX_DB:-icinga}
+
+networks:
+ icinga:
\ No newline at end of file
diff --git a/env.sample b/env.sample
new file mode 100644
index 0000000..0ec8289
--- /dev/null
+++ b/env.sample
@@ -0,0 +1,62 @@
+# icinga environment
+
+### icinga
+API_ROOT_PASS=changeME!
+
+### icingaweb db connection
+ICINGAWEB_DB_RESOURCE_NAME=icingaweb_db
+ICINGAWEB_DB=icingaweb
+ICINGAWEB_DB_HOST=db_icingaweb
+ICINGAWEB_DB_USER=icingaweb
+ICINGAWEB_DB_PASS=icingaweb
+
+### icingaweb inital login
+ICINGAWEB_DEFAULT_ADMIN_ROLE=Administrators
+ICINGAWEB_DEFAULT_ADMIN_USER=icingaadmin
+ICINGAWEB_DEFAULT_ADMIN_PASS=icingaadmin
+
+### influxdb admin
+INFLUX_ADMIN_USER=icinga
+INFLUX_ADMIN_PASS=icinga
+
+### icingadb SQL connection
+ICINGAWDB_RESOURCE_NAME=icingadb
+ICINGA_DB=icingadb
+ICINGA_DB_HOST=db_icinga
+ICINGA_DB_PORT=3306
+ICINGA_DB_USER=icingadb
+ICINGA_DB_PASS=icingadb
+
+### icingadb redis connection
+ICINGADB_REDIS_HOST=redis
+ICINGADB_REDIS_PORT=6379
+
+### icingadb command transport
+ICINGADB_CMD_TYPE=api
+ICINGA_API_HOST=icinga2
+ICINGA_API_PORT=5665
+ICINGA_API_ICINGAWEB_USER=icingaweb
+ICINGA_API_ICINGAWEB_PASS=icingaweb
+
+## grafana settings
+### host settings
+#> GRAFANA_HOST must be change else you dont have graphs
+#> GRAFANA_HOST must be a network address what your client can reach
+GRAFANA_HOST='' # to get ip: $(hostname -I | awk '{print $1}') # sets first ip of system, can be wrong!
+GRAFANA_PORT=3000
+
+### user settings
+GRAFANA_ADMIN_USER=grafanaadmin
+GRAFANA_ADMIN_PASS=grafanaadmin
+
+### default dashboard
+GRAFANA_DASHBOARD_NAME=icinga2-default
+GRAFANA_DASHBOARD_UID=icinga2-default # must be change in icinga2-default.json too
+GRAFANA_DASHBOARD_FILE=icinga2-default.json
+
+### default data source
+ICINGA_INFLUX_HOST=db_influxdb # must be change in icinga2-default.json too
+ICINGA_INFLUX_PORT=8086
+ICINGA_INFLUX_USER=icinga
+ICINGA_INFLUX_DB=icinga
+ICINGA_INFLUX_PASS=icinga
\ No newline at end of file
diff --git a/grafana/default.dashboard.yml b/grafana/default.dashboard.yml
new file mode 100644
index 0000000..12a9cf6
--- /dev/null
+++ b/grafana/default.dashboard.yml
@@ -0,0 +1,7 @@
+apiVersion: 1
+
+providers:
+ - name: $GRAFANA_DEFAULT_DASHBOARD_NAME
+ type: file
+ options:
+ path: /var/lib/grafana/dashboards/$GRAFANA_DEFAULT_DASHBOARD_FILE
\ No newline at end of file
diff --git a/grafana/default.source.yml b/grafana/default.source.yml
new file mode 100644
index 0000000..270b5f6
--- /dev/null
+++ b/grafana/default.source.yml
@@ -0,0 +1,15 @@
+apiVersion: 1
+
+datasources:
+ - name: $GRAFANA_DEFAULT_SOURCE_NAME
+ type: influxdb
+ uid: $GRAFANA_DEFAULT_SOURCE_UID
+ access: proxy
+ user: $GRAFANA_DEFAULT_SOURCE_USER
+ url: http://$GRAFANA_DEFAULT_SOURCE_HOST:$GRAFANA_DEFAULT_SOURCE_PORT
+ isDefault: true
+ jsonData:
+ dbName: $GRAFANA_DEFAULT_SOURCE_DB
+ httpMode: GET
+ secureJsonData:
+ password: $GRAFANA_DEFAULT_SOURCE_PASS
\ No newline at end of file
diff --git a/grafana/icinga2-default.json b/grafana/icinga2-default.json
new file mode 100644
index 0000000..70f3edb
--- /dev/null
+++ b/grafana/icinga2-default.json
@@ -0,0 +1,308 @@
+{
+ "__inputs": [
+ {
+ "name": "DS_ICINGA2",
+ "label": "Icinga2",
+ "value": "db_influxdb",
+ "description": "",
+ "type": "datasource",
+ "pluginId": "influxdb",
+ "pluginName": "InfluxDB"
+ },
+ {
+ "name": "VAR_HOSTNAME",
+ "type": "constant",
+ "label": "hostname",
+ "value": "null",
+ "description": ""
+ },
+ {
+ "name": "VAR_SERVICE",
+ "type": "constant",
+ "label": "service",
+ "value": "null",
+ "description": ""
+ },
+ {
+ "name": "VAR_COMMAND",
+ "type": "constant",
+ "label": "command",
+ "value": "null",
+ "description": ""
+ }
+ ],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "4.6.3"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": ""
+ },
+ {
+ "type": "datasource",
+ "id": "influxdb",
+ "name": "InfluxDB",
+ "version": "1.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Show all metrics from a Icinga2 service or host",
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [],
+ "rows": [
+ {
+ "collapse": false,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "db_influxdb",
+ "fill": 1,
+ "id": 1,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "alias": "$tag_metric",
+ "dsType": "influxdb",
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "metric"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "/^$command$/",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "value"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "hostname",
+ "operator": "=~",
+ "value": "/^$hostname$/"
+ },
+ {
+ "condition": "AND",
+ "key": "service",
+ "operator": "=~",
+ "value": "/^$service$/"
+ }
+ ]
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$service",
+ "tooltip": {
+ "shared": true,
+ "sort": 1,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": false,
+ "title": "Default",
+ "titleSize": "h6"
+ }
+ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "Icinga2",
+ "influxdb"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "value": "${VAR_HOSTNAME}",
+ "text": "${VAR_HOSTNAME}"
+ },
+ "hide": 2,
+ "label": null,
+ "name": "hostname",
+ "options": [
+ {
+ "value": "${VAR_HOSTNAME}",
+ "text": "${VAR_HOSTNAME}"
+ }
+ ],
+ "query": "${VAR_HOSTNAME}",
+ "type": "custom"
+ },
+ {
+ "current": {
+ "value": "${VAR_SERVICE}",
+ "text": "${VAR_SERVICE}"
+ },
+ "hide": 2,
+ "label": null,
+ "name": "service",
+ "options": [
+ {
+ "value": "${VAR_SERVICE}",
+ "text": "${VAR_SERVICE}"
+ }
+ ],
+ "query": "${VAR_SERVICE}",
+ "type": "custom"
+ },
+ {
+ "current": {
+ "value": "${VAR_COMMAND}",
+ "text": "${VAR_COMMAND}"
+ },
+ "hide": 2,
+ "label": null,
+ "name": "command",
+ "options": [
+ {
+ "value": "${VAR_COMMAND}",
+ "text": "${VAR_COMMAND}"
+ }
+ ],
+ "query": "${VAR_COMMAND}",
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "icinga2-default",
+ "uid": "icinga2-default",
+ "version": 3
+}
\ No newline at end of file