211 lines
6.7 KiB
Markdown
211 lines
6.7 KiB
Markdown
|
# 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 »
|
||
|
- …
|