documentation/procédures/supervision.md

216 lines
6.8 KiB
Markdown
Raw Normal View History

2023-02-10 19:54:24 +01:00
| Supervision |
| ------ |
[TOC]
# Installation de la supervision sur une machine virtuelle
## Générer un ticket sur isengard.libre-en-communs.org
sudo icinga2 pki ticket --cn NOM_DE_DOMAINE_DE_VM
On obtient un ticket à noter dans l'issue. Il sera redemandé plus tard.
## En SSH sur la machine virtuelle, installer l'agent de supervision
sudo apt install icinga2 monitoring-plugins monitoring-plugins-contrib
## Modifier la configuration de la sonde de mémoire vive (pour corriger un bug)
<details>
<summary>/usr/share/icinga2/include/plugins-contrib.d/operating-system.conf</summary>
object CheckCommand "mem" {
command = [ PluginContribDir + "/check_memory" ]
arguments = {
"-u" = {
set_if = "$mem_used$"
description = "Check USED memory"
}
"-f" = {
set_if = "$mem_free$"
description = "Check FREE memory"
}
"-C" = {
set_if = "$mem_cache$"
description = "Count OS caches as FREE memory"
}
"-w" = {
value = "$mem_warning$"
description = "Percent free/used when to warn"
}
"-c" = {
value = "$mem_critical$"
description = "Percent free/used when critical"
}
}
vars.mem_used = false
vars.mem_free = false
vars.mem_cache = false
}
</details>
## Connecter notre agent au serveur de supervision
sudo icinga2 node wizard
<details>
<summary>On réalise la configuration interactive suivante:</summary>
Welcome to the Icinga 2 Setup Wizard!
We will guide you through all required configuration details.
Please specify if this is an agent/satellite setup ('n' installs a master setup) [Y/n]:
Starting the Agent/Satellite setup routine...
Please specify the common name (CN) [NOM_DE_DOMAINE_DE_VM]:
Please specify the parent endpoint(s) (master or satellite) where this node should connect to:
Master/Satellite Common Name (CN from your master/satellite node): isengard.libre-en-communs.org
Do you want to establish a connection to the parent node from this node? [Y/n]:
Please specify the master/satellite connection information:
Master/Satellite endpoint host (IP address or FQDN): isengard.libre-en-communs.org
Master/Satellite endpoint port [5665]:
Add more master/satellite endpoints? [y/N]:
Parent certificate information:
Version: 3
Subject: CN = isengard.libre-en-communs.org
Issuer: CN = Icinga CA
Valid From: Dec 9 14:36:07 2021 GMT
Valid Until: Dec 5 14:36:07 2036 GMT
Serial: c4:3f:53:b2:cf:09:f7:b5:2e:88:39:03:e9:96:c8:fc:99:a1:ca:3a
Signature Algorithm: sha256WithRSAEncryption
Subject Alt Names: isengard.libre-en-communs.org
Fingerprint: 54 78 22 83 24 22 3A A7 FD 00 01 E4 10 67 71 B6 CA 3E A2 71 93 63 F8 64 29 E9 45 1F D1 35 A9 95
Is this information correct? [y/N]: y
Please specify the request ticket generated on your Icinga 2 master (optional).
(Hint: # icinga2 pki ticket --cn 'NOM_DE_DOMAINE_DE_VM'): INSERER_NUMERO_DE_TICKET_ICI
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
Accept config from parent node? [y/N]: y
Accept commands from parent node? [y/N]: y
Reconfiguring Icinga...
Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
Local zone name [NOM_DE_DOMAINE_DE_VM]:
Parent zone name [master]:
Default global zones: global-templates director-global
Do you want to specify additional global zones? [y/N]:
Do you want to disable the inclusion of the conf.d directory [Y/n]:
Disabling the inclusion of the conf.d directory...
Done.
Now restart your Icinga 2 daemon to finish the installation!
</details>
## Créer le fichier de zone pour la nouvelle machine dans isengard.libre-en-communs.org
<details>
<summary>/etc/icinga2/zones.d/master/NOM_DE_DOMAINE_DE_VM.conf</summary>
object Endpoint "NOM_DE_DOMAINE_DE_VM" {
}
object Zone "NOM_DE_DOMAINE_DE_VM" {
endpoints = [ "NOM_DE_DOMAINE_DE_VM" ]
parent = "master"
}
object Host "NOM_DE_DOMAINE_DE_VM" {
import "generic-host"
address = "NOM_DE_DOMAINE_DE_VM"
address6 = "NOM_DE_DOMAINE_DE_VM"
vars.os = "GNU/Linux"
vars.client_endpoint = name
vars.notification["mail"] = {
groups = [ "icingaadmins" ]
}
}
</details>
# Interface web d'Isengard
Site web : https://isengard.libre-en-communs.org/
## Activation d'un downtime
Downtimer :
- Menu gauche > Overview > Hosts
- sélectionner la vm visée
- partie droite > Schedule downtime
- Comment : mettre la raison du downtime, exemple : reboot noyal
- End time : par défaut 1h
- All services : coché
- Child Hosts : Schedule triggered downtime for all child hosts (/!\ utile ?)
- cliquer sur Schedule downtime
## Ajout d'une entrée de menu pour ses vm
Ajout :
- Menu gauche > Overview > Hosts ;
- sélectionner les vm désirées (Ctrl + clique gauche)
- partie droite > menu > chevron bas (à droite de History) > Add to menu
- Name : mettre le nom qui apparaîtra dans le menu
- Target : Single Column
- cliquer Save Changes
## Ajout d'une entrée de menu ses services
Ajout :
- Menu gauche > Overview > Services ;
- cliquer sur l'icone filtre à droite de la zone de recherche
- première case : Host (Case insensitive)
- deuxième case : =
- troisième case : le nom de votre vm, exemple : audio.chalec.org
- cliquer sur + et sélectionner OR
- recommencer autant de fois que voulu
- cliquer sur Apply
- menu du haut > chevron bas (à droite de Service) > Add to menu
- Name : mettre le nom qui apparaîtra dans le menu
- Target : Single Column
- cliquer Save Changes
## Éditer une entrée personnalisée de menu
Pour éditer une entrée personnalisée du menu :
- Menu gauche > vous@a-lec.org > My account > Navigation
- dans la liste, cliquer sur l'entrée à éditer.
## Supprimer une entrée de menu personnalisée
Pour supprimer une entrée personnalisée du menu :
- Menu gauche > vous@a-lec.org > My account > Navigation
- dans la liste, cliquer sur l'entrée à éditer
- cliquer sur l'icone croix rouge ;
## Downtime de tous ses services en 2 clics
Prérequis : avoir créer une entrée personnalisée du menu pour ses vm.
Downtimer ses services :
- Menu gauche > entrée personnalisée de vos vm
- cliquer sur « Schedule downtimes »
-