Alvar Penning 9f51df3b7b
All checks were successful
continuous-integration/drone/push Build is passing
mail-{host,service}-notifications.sh: Sync upstream
Synchronize upstream changes to these two shell scripts and the
NotificationCommand back here. Since we made customizations ourself, we
cannot simply copy the upstream.

The following changes were backported:
- Add -X/-x for host and service notes.
- Adapt upstream's mail text including fields.
- Link to Icinga DB Web instead of the removed monitoring module.

Fixes #6.
2025-06-10 23:07:20 +02:00
2020-03-13 22:32:55 +01:00
2024-06-06 15:00:33 +02:00
2020-04-01 19:38:05 +02:00
2020-12-08 13:12:32 +01:00
2023-01-13 15:01:11 +01:00
2021-07-28 12:59:33 +02:00
2024-03-24 00:48:54 +01:00
2021-04-26 13:33:21 +02:00
2020-03-13 22:32:55 +01:00
2020-03-13 22:32:55 +01:00

FSFE monitoring

in docs.fsfe.org REUSE status Build Status

The goal is to deploy incinga 2 and the large part of its server configuration.

What it does?

On the sever

  1. Install icinga.
  2. Deploy the configuration
  3. Deploy the web interface and the apache configuration

Note: As of now the ansible playbook does not handle the configuration of the web interface itself, it's not currently supported by the official ansible role. Furthermore, the official Ansible collection does lots of things and is a great starting point for a fully automated Icinga stack, but, however, is hard to use to replace a previously manually configured Icinga 2. Thus, it will be used for installation, but further work is semi-manually.

On the clients

Note: This playbook does not store the hosts configuration, and does not set up the monitored clients. For workflow reasons this happens via the baseline playbook.

  1. Deploy the SSH public key
  2. Create the icinga user

How to use it?

Note: Please make sure you have ssh access to the servers listed in the icinga2_clients section of the inventory.

Clone this repo:

git clone --recurse-submodules git@git.fsfe.org:fsfe-system-hackers/monitoring.git

Update the netways.icinga Ansible collection from Ansible Galaxy:

ansible-galaxy install -r requirements.yml --force

Update the inventory submodule to reflect the newest changes to the list of our hosts and the groups that they are in:

git submodule update --remote inventory

The following commands are most used:

Configure only the server:

# Dry Run
ansible-playbook playbook.yml --check --diff

# Apply Changes
ansible-playbook playbook.yml

Only deploy a changed config to the server:

ansible-playbook playbook.yml -t conf

To update clients and the hosts.conf file, have a look at the baseline repository.

Note: You have to manually add sensitive files which are not in this repo but only on the host: /etc/icinga2/id_rsa and /etc/msmtprc!

The user facing doc is here. The official documentation is here.

How does it work?

The templates/ directory contains the apache virtual hosts configuration. The roles/ folder contains the upstream code for icinga2 installation. The conf.d/ folder contains the icinga2 configuration itself.

The address of the icinga2 server and the clients are configured in the inventory/inventory.txt file.

Description
Configure the icinga 2 server
https://monitoring.fsfe.org Readme 326 KiB
Languages
Shell 94.8%
Python 4.2%
Jinja 1%