Files
icinga-stack/README.md
2025-10-01 18:00:06 +02:00

74 lines
3.0 KiB
Markdown

# Full Icinga2 stack with Grafana
[![Build Status](https://git.ao-it.net/docker/icinga2/actions/workflows/docker-build.yml/badge.svg?branch=main&event=push)](https://git.ao-it.net/docker/icinga2/actions?workflow=docker-build.yml&actor=0&status=0) : Icinga
[![Build Status](https://git.ao-it.net/docker/icingaweb2/actions/workflows/docker-build.yml/badge.svg?branch=main&event=push)](https://git.ao-it.net/docker/icingaweb2/actions?workflow=docker-build.yml&actor=0&status=0) : IcingaWeb2
[![Build Status](https://git.ao-it.net/docker/icinga-satellite/actions/workflows/docker-build.yml/badge.svg?branch=main&event=push)](https://git.ao-it.net/docker/icinga-satellite/actions?workflow=docker-build.yml&actor=0&status=0) : icinga-satellite (optional)
## what is this
This is a auto setup [Icinga](https://icinga.com) stack, means:
* [AO-IT: icinga2](https://git.ao-it.net/docker/icinga2)
* as [Icinga2](https://icinga.com/docs/icinga-2/latest/doc/01-about/)
* with [IcingaDB](https://icinga.com/docs/icinga-db/latest/doc/01-About/)
* [MariaDB](https://mariadb.org) (App DB)
* [Redis](https://redis.io) (App Cache)
* with [InfluxDB](https://www.influxdata.com) (Performance Data)
* [AO-IT: icingaweb2](https://git.ao-it.net/docker/icingaweb2)
* as [IcingaWeb2](https://icinga.com/docs/icinga-web/latest/)
* with [Icinga DB Web](https://icinga.com/docs/icinga-db-web/latest/)
* with [Grafana](https://grafana.com/grafana/)
* [icingaweb2-module-grafana](https://github.com/NETWAYS/icingaweb2-module-grafana)
* with OIDC / OAuth
* [icingaweb2-module-oidc](https://github.com/RISE-GmbH/icingaweb2-module-oidc)
* [MariaDB](https://mariadb.org) (Config DB)
* [AO-IT: icinga-satellite](https://git.ao-it.net/docker/icinga-satellite) (optional, not in this repo)
## required
* basic know how of icinga
* for monitoring config it self not for setup
## usage
```bash
git clone https://git.ao-it.net/docker/icinga-stack
cd icinga-stack
mv env.sample .env
# MUST SET: GRAFANA_HOST
# HIGH RECOMMEND TO CHANGE:
# - API_ROOT_PASS
# - ICINGA_API_ICINGAWEB_PASS
nano .env # set your env
```
setup reverse proxy here caddy
create a file `./files/Caddyfile` with content:
```
mon.example.com {
reverse_proxy icingaweb2:8080
}
graph.example.com {
reverse_proxy grafana:3000
}
```
... or unkomment port expose on grafana and icingaweb2
... or use own reverse proxy
```
docker compose up
```
Access IcingaWeb on port http://your-ip:8080
* Intial basic checks should be visible.
* All Database connections should work.
* If you can access the $GRAFANA_HOST address you should see graphs as well.
* maybe need a few min until first checks a done.
To change icinga2 config:
Go in your file system and change them.
Than you can run:
```bash
docker exec icinga-stack-icinga2-1 icinga2 daemon -C -X
docker exec icinga-stack-icinga2-1 /usr/lib/icinga2/safe-reload /etc/default/icinga2
```
To check and reload them for activate the new icinga2 config.
## env
For detailed information of environment variables check the original repos (above)