Configure the icinga 2 server https://monitoring.fsfe.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Max Mehl 0367d75ab8
improve docu
11 hours ago
.reuse Initial commit 10 months ago
LICENSES REUSE compliance 10 months ago
conf.d add new hosts 11 hours ago
inventory@ca630490af add new hosts 11 hours ago
roles Initial commit 10 months ago
scripts enable reply-to, and make hosts topics for mailing lists 3 months ago
templates Initial commit 10 months ago
user_plugins_clients add performance data to output 2 months ago
user_plugins_server add check for correct dns resolution 3 months ago
.ansible-lint make reuse compliant 1 month ago
.drone.yml Fix docker image for ansible testing (again) 10 months ago
.gitignore Initial commit 10 months ago
.gitmodules Unify Ansible inventory (#1) 2 weeks ago
README.md improve docu 11 hours ago
id_rsa.pub Initial commit 10 months ago
id_rsa.pub.license Initial commit 10 months ago
playbook.yml improve docu 11 hours ago

README.md

FSFE monitoring

REUSE status Build Status

The goal is to deploy incinga 2 and its configuration

What it does?

On the sever

  1. Install icinga. Use the official ansible playbook role
  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.

On the clients

  1. Deploy the SSH public key
  2. Create the icinga user
  3. Make sure no prometheus packages are left over

How to use it?

Note: Please make sure you have ssh access to the servers listed in the hosts_ file.

Clone this repo:

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

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

Run the command:

ansible-playbook playbook.yml \
        -i inventory/hosts \
        -l "icinga2_server,icinga2_clients"

Configure only the server:

ansible-playbook playbook.yml \
        -i inventory/hosts \
        -l "icinga2_server"

Only deploy a changed config to the server:

ansible-playbook playbook.yml \
        -i inventory/hosts \
        -l "icinga2_server" \
        -t conf

Configure only the clients:

ansible-playbook playbook.yml \
        -i inventory/hosts \
        -l "icinga2_clients"

Roll out configuration about new client(s), and configure client(s) and server:

ansible-playbook playbook.yml \
        -i inventory/hosts \
        -l "<hostname_of_new_client>,icinga2_server" \
        -t newclient

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 icinga 2 server and the clients are configured in the hosts file.