inital version
This commit is contained in:
207
compose.yml
Normal file
207
compose.yml
Normal file
@@ -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:
|
||||||
62
env.sample
Normal file
62
env.sample
Normal file
@@ -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
|
||||||
7
grafana/default.dashboard.yml
Normal file
7
grafana/default.dashboard.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: 1
|
||||||
|
|
||||||
|
providers:
|
||||||
|
- name: $GRAFANA_DEFAULT_DASHBOARD_NAME
|
||||||
|
type: file
|
||||||
|
options:
|
||||||
|
path: /var/lib/grafana/dashboards/$GRAFANA_DEFAULT_DASHBOARD_FILE
|
||||||
15
grafana/default.source.yml
Normal file
15
grafana/default.source.yml
Normal file
@@ -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
|
||||||
308
grafana/icinga2-default.json
Normal file
308
grafana/icinga2-default.json
Normal file
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user