update some informations after create full stack
This commit is contained in:
44
README.md
44
README.md
@@ -1,21 +1,29 @@
|
|||||||
# Docker IcingaWeb2
|
# Docker IcingaWeb2
|
||||||
[](https://git.ao-it.net/docker/icingaweb2/actions?workflow=docker-build.yml&actor=0&status=0)
|
[](https://git.ao-it.net/docker/icingaweb2/actions?workflow=docker-build.yml&actor=0&status=0)
|
||||||
|
|
||||||
Designed with [https://git.ao-it.net/docker/icinga2](https://git.ao-it.net/docker/icinga2)
|
If you need a full stack:
|
||||||
|
* [AO-IT: icinga-stack](https://git.ao-it.net/docker/icinga-stack)
|
||||||
|
* [AO-IT: icinga2](https://git.ao-it.net/docker/icinga2)
|
||||||
|
|
||||||
## quick start
|
Or a additional satellite:
|
||||||
|
* [AO-IT: icinga-satellite](https://git.ao-it.net/docker/icinga-satellite)
|
||||||
|
|
||||||
|
|
||||||
|
## usage
|
||||||
If you have a functional icinga2 instance only without icingaweb2:
|
If you have a functional icinga2 instance only without icingaweb2:
|
||||||
```bash
|
```bash
|
||||||
git clone https://git.ao-it.net/docker/icingaweb2
|
git clone https://git.ao-it.net/docker/icingaweb2
|
||||||
cd icingaweb2
|
cd icingaweb2
|
||||||
cp env.sample .env
|
cp env.sample .env
|
||||||
nano .env # edit your settings
|
# must edit: GRAFANA_HOST with local IP or FQDN
|
||||||
|
nano .env # edit your env
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
Hints:
|
||||||
For a full deployment see: [comming soon ...]()
|
* If you run the setup without any environment vars the setup token will be printet in docker log!
|
||||||
|
* If you deploy IcingaDB ENV but it can't be reach, icingaweb looks like broken but it isn't
|
||||||
If you run the setup without any environment vars the setup token will be printet in docker log!
|
* You can remove the environment var `ICINGAWEB2_CONF_ONCE` whan will changes in `compose.yml` environment deploy every time if the container starts.
|
||||||
|
* You can use this for future config changes, but this isn't good tested and i am not sure i will recommend this...
|
||||||
|
|
||||||
## understand environment
|
## understand environment
|
||||||
For the configuration (primarily the initial setup) I use a similar method as: https://hub.docker.com/r/icinga/icingaweb2
|
For the configuration (primarily the initial setup) I use a similar method as: https://hub.docker.com/r/icinga/icingaweb2
|
||||||
@@ -77,7 +85,7 @@ Vars for the container have the `2`
|
|||||||
|
|
||||||
## example
|
## example
|
||||||
See [compose.yml](compose.yml).
|
See [compose.yml](compose.yml).
|
||||||
This is for environment priview
|
This is for environment priview (minimal setup)
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
icingaweb2:
|
icingaweb2:
|
||||||
@@ -96,13 +104,6 @@ services:
|
|||||||
- ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__username=${ICINGAWEB_DB_USER:-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}__password=${ICINGAWEB_DB_PASS:-icingaweb}
|
||||||
- ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__charset=utf8mb4
|
- ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__charset=utf8mb4
|
||||||
- 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_AUTH__icingaweb2__backend=db
|
- ICINGAWEB2_AUTH__icingaweb2__backend=db
|
||||||
- ICINGAWEB2_AUTH__icingaweb2__resource=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
- ICINGAWEB2_AUTH__icingaweb2__resource=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
||||||
- ICINGAWEB2_GROUPS__icingaweb2__backend=db
|
- ICINGAWEB2_GROUPS__icingaweb2__backend=db
|
||||||
@@ -110,14 +111,6 @@ services:
|
|||||||
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__groups=${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}
|
- 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}__permissions="*"
|
||||||
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__users=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__users=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
||||||
- ICINGAWEB2_ICINGADB_CONF__icingadb__resource=icingadb
|
|
||||||
- ICINGAWEB2_ICINGADB_REDIS__redis1__host=redis
|
|
||||||
- ICINGAWEB2_ICINGADB_REDIS__redis1__port=6379
|
|
||||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__transport=api
|
|
||||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__host=icinga2
|
|
||||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__port=5665
|
|
||||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__username=icingaweb
|
|
||||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__password=icingaweb
|
|
||||||
- ICINGAWEB2_DB_RESOURCE_NAME=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
- ICINGAWEB2_DB_RESOURCE_NAME=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
||||||
- ICINGAWEB2_DEFAULT_ADMIN_USER=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
- ICINGAWEB2_DEFAULT_ADMIN_USER=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
||||||
- ICINGAWEB2_DEFAULT_ADMIN_PASS=${ICINGAWEB_DEFAULT_ADMIN_PASS:-icingaadmin}
|
- ICINGAWEB2_DEFAULT_ADMIN_PASS=${ICINGAWEB_DEFAULT_ADMIN_PASS:-icingaadmin}
|
||||||
@@ -133,11 +126,6 @@ services:
|
|||||||
- ICINGAWEB2_GRAFANA_GRAPH__check_command__panelId=
|
- ICINGAWEB2_GRAFANA_GRAPH__check_command__panelId=
|
||||||
```
|
```
|
||||||
|
|
||||||
You can remove the environment var `ICINGAWEB2_CONF_ONCE` whan will changes in `compose.yml` environment deploy every time if the container starts.
|
|
||||||
You can use this for future config changes, but this isn't tested and i am not sure i will recommend this...
|
|
||||||
For now be save and use it only for inital setup.
|
|
||||||
|
|
||||||
|
|
||||||
## Sources
|
## Sources
|
||||||
### Icingaweb2
|
### Icingaweb2
|
||||||
* [Install Icinga Web 2](https://icinga.com/docs/icinga-web/latest/doc/02-Installation/01-Debian/)
|
* [Install Icinga Web 2](https://icinga.com/docs/icinga-web/latest/doc/02-Installation/01-Debian/)
|
||||||
|
|||||||
28
compose.yml
28
compose.yml
@@ -1,4 +1,5 @@
|
|||||||
services:
|
services:
|
||||||
|
##### ICINGAWEB2 #####
|
||||||
icingaweb2:
|
icingaweb2:
|
||||||
image: git.ao-it.net/docker/icingaweb2:latest
|
image: git.ao-it.net/docker/icingaweb2:latest
|
||||||
hostname: icingaweb2
|
hostname: icingaweb2
|
||||||
@@ -12,6 +13,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- icinga
|
- icinga
|
||||||
environment:
|
environment:
|
||||||
|
- ICINGAWEB2_CONF_ONCE=true
|
||||||
## icingaweb2 general
|
## icingaweb2 general
|
||||||
- ICINGAWEB2_DB_RESOURCE_NAME=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
- ICINGAWEB2_DB_RESOURCE_NAME=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
||||||
- ICINGAWEB2_DEFAULT_ADMIN_USER=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
- ICINGAWEB2_DEFAULT_ADMIN_USER=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
||||||
@@ -51,16 +53,16 @@ services:
|
|||||||
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__users=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__users=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
||||||
## module: icingadb
|
## module: icingadb
|
||||||
### icingadb: conf.ini
|
### icingadb: conf.ini
|
||||||
#- ICINGAWEB2_ICINGADB_CONF__icingadb__resource=icingadb
|
- ICINGAWEB2_ICINGADB_CONF__icingadb__resource=icingadb
|
||||||
### icingadb: redis.ini
|
### icingadb: redis.ini
|
||||||
#- ICINGAWEB2_ICINGADB_REDIS__redis1__host=${ICINGADB_REDIS_HOST:-redis}
|
- ICINGAWEB2_ICINGADB_REDIS__redis1__host=${ICINGADB_REDIS_HOST:-db_redis}
|
||||||
#- ICINGAWEB2_ICINGADB_REDIS__redis1__port=${ICINGADB_REDIS_PORT:-6379}
|
- ICINGAWEB2_ICINGADB_REDIS__redis1__port=${ICINGADB_REDIS_PORT:-6379}
|
||||||
### icingadb: commandtransports.ini
|
### icingadb: commandtransports.ini
|
||||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__transport=${ICINGADB_CMD_TYPE:-api}
|
- ICINGAWEB2_ICINGADB_CMD__icinga2__transport=${ICINGADB_CMD_TYPE:-api}
|
||||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__host=${ICINGA_API_HOST:-icinga2}
|
- ICINGAWEB2_ICINGADB_CMD__icinga2__host=${ICINGA_API_HOST:-icinga2}
|
||||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__port=${ICINGA_API_PORT:-5665}
|
- ICINGAWEB2_ICINGADB_CMD__icinga2__port=${ICINGA_API_PORT:-5665}
|
||||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__username=${ICINGA_API_ICINGAWEB_USER:-icingaweb}
|
- ICINGAWEB2_ICINGADB_CMD__icinga2__username=${ICINGA_API_ICINGAWEB_USER:-icingaweb2}
|
||||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__password=${ICINGA_API_ICINGAWEB_PASS:-icingaweb}
|
- ICINGAWEB2_ICINGADB_CMD__icinga2__password=${ICINGA_API_ICINGAWEB_PASS:-icingaweb}
|
||||||
## module: grafana
|
## module: grafana
|
||||||
### grafana: conf.ini
|
### grafana: conf.ini
|
||||||
- ICINGAWEB2_GRAFANA_CONF__grafana__host=${GRAFANA_HOST:-grafana}:${GRAFANA_PORT:-3000}
|
- ICINGAWEB2_GRAFANA_CONF__grafana__host=${GRAFANA_HOST:-grafana}:${GRAFANA_PORT:-3000}
|
||||||
@@ -92,7 +94,6 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- icingaweb2
|
- icingaweb2
|
||||||
restart: always
|
restart: always
|
||||||
#user: '0'
|
|
||||||
ports:
|
ports:
|
||||||
- ${GRAFANA_PORT:-3000}:3000
|
- ${GRAFANA_PORT:-3000}:3000
|
||||||
networks:
|
networks:
|
||||||
@@ -105,17 +106,18 @@ services:
|
|||||||
## required configs
|
## required configs
|
||||||
GF_AUTH_ANONYMOUS_ENABLED: true
|
GF_AUTH_ANONYMOUS_ENABLED: true
|
||||||
GF_SECURITY_ALLOW_EMBEDDING: true
|
GF_SECURITY_ALLOW_EMBEDDING: true
|
||||||
#GF_AUTH_ANONYMOUS_ORG_NAME: Main Org.
|
|
||||||
GF_AUTH_ANONYMOUS_ORG_ROLE: Viewer
|
GF_AUTH_ANONYMOUS_ORG_ROLE: Viewer
|
||||||
GF_AUTH_ANONYMOUS_HIDE_VERSION: true
|
GF_AUTH_ANONYMOUS_HIDE_VERSION: true
|
||||||
## user settings
|
## user settings
|
||||||
GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-grafanaadmin}
|
GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-grafanaadmin}
|
||||||
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASS:-grafanaadmin}
|
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASS:-grafanaadmin}
|
||||||
## default data source
|
## default data source
|
||||||
GRAFANA_DEFAULT_SOURCE_NAME: ${ICINGA_INFLUX_HOST:-influxdb}
|
GRAFANA_DEFAULT_SOURCE_NAME: ${ICINGA_INFLUX_HOST:-db_influxdb}
|
||||||
GRAFANA_DEFAULT_SOURCE_UID: ${ICINGA_INFLUX_HOST:-influxdb}
|
GRAFANA_DEFAULT_SOURCE_UID: ${ICINGA_INFLUX_HOST:-db_influxdb}
|
||||||
GRAFANA_DEFAULT_SOURCE_USER: ${ICINGA_INFLUX_USER:-icinga}
|
|
||||||
GRAFANA_DEFAULT_SOURCE_DB: ${ICINGA_INFLUX_DB:-icinga}
|
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}
|
GRAFANA_DEFAULT_SOURCE_PASS: ${ICINGA_INFLUX_PASS:-icinga}
|
||||||
## default dashboard
|
## default dashboard
|
||||||
GRAFANA_DEFAULT_DASHBOARD_NAME: ${GRAFANA_DASHBOARD_NAME:-icinga2-default}
|
GRAFANA_DEFAULT_DASHBOARD_NAME: ${GRAFANA_DASHBOARD_NAME:-icinga2-default}
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ ICINGA_API_ICINGAWEB_USER=icingaweb
|
|||||||
ICINGA_API_ICINGAWEB_PASS=icingaweb
|
ICINGA_API_ICINGAWEB_PASS=icingaweb
|
||||||
|
|
||||||
## grafana settings
|
## grafana settings
|
||||||
### must be change else you dont have graphs
|
#> GRAFANA_HOST must be change else you dont have graphs
|
||||||
### must be a network address what your client can reach
|
#> GRAFANA_HOST must be a network address what your client can reach
|
||||||
GRAFANA_HOST=$(hostname -I | awk '{print $1}') # set first ip of system, can be wrong!
|
GRAFANA_HOST='' # to get ip: $(hostname -I | awk '{print $1}') # sets first ip of system, can be wrong!
|
||||||
GRAFANA_PORT=3000
|
GRAFANA_PORT=3000
|
||||||
GRAFANA_DASHBOARD_NAME=icinga2-default
|
GRAFANA_DASHBOARD_NAME=icinga2-default
|
||||||
GRAFANA_DASHBOARD_UID=icinga2-default
|
GRAFANA_DASHBOARD_UID=icinga2-default
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ datasources:
|
|||||||
uid: $GRAFANA_DEFAULT_SOURCE_UID
|
uid: $GRAFANA_DEFAULT_SOURCE_UID
|
||||||
access: proxy
|
access: proxy
|
||||||
user: $GRAFANA_DEFAULT_SOURCE_USER
|
user: $GRAFANA_DEFAULT_SOURCE_USER
|
||||||
url: http://influxdb:8086
|
url: http://$GRAFANA_DEFAULT_SOURCE_HOST:$GRAFANA_DEFAULT_SOURCE_PORT
|
||||||
|
isDefault: true
|
||||||
jsonData:
|
jsonData:
|
||||||
dbName: $GRAFANA_DEFAULT_SOURCE_DB
|
dbName: $GRAFANA_DEFAULT_SOURCE_DB
|
||||||
httpMode: GET
|
httpMode: GET
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
{
|
{
|
||||||
"name": "DS_ICINGA2",
|
"name": "DS_ICINGA2",
|
||||||
"label": "Icinga2",
|
"label": "Icinga2",
|
||||||
|
"value": "db_influxdb",
|
||||||
"description": "",
|
"description": "",
|
||||||
"type": "datasource",
|
"type": "datasource",
|
||||||
"pluginId": "influxdb",
|
"pluginId": "influxdb",
|
||||||
@@ -80,7 +81,7 @@
|
|||||||
"bars": false,
|
"bars": false,
|
||||||
"dashLength": 10,
|
"dashLength": 10,
|
||||||
"dashes": false,
|
"dashes": false,
|
||||||
"datasource": "influxdb",
|
"datasource": "db_influxdb",
|
||||||
"fill": 1,
|
"fill": 1,
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"legend": {
|
"legend": {
|
||||||
@@ -302,6 +303,6 @@
|
|||||||
},
|
},
|
||||||
"timezone": "",
|
"timezone": "",
|
||||||
"title": "icinga2-default",
|
"title": "icinga2-default",
|
||||||
"uid": "icinga-default",
|
"uid": "icinga2-default",
|
||||||
"version": 3
|
"version": 3
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user