<divclass="col-main cell cell--auto"><!-- start custom main top snippet --><divid="results-container"class="search-result js-search-result"></div><!-- end custom main top snippet -->
<p>Vérifier le réseau <codeclass="language-plaintext highlighter-rouge">ip a</code></p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
<h3id="openssh-clé-et-script">OpenSSH, clé et script</h3>
<p><strong>connexion avec clé</strong><br/>
<u>sur l'ordinateur de bureau</u>
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) nommé <strong>kvm-cinay</strong> pour une liaison SSH avec le serveur KVM.</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/kvm-vps789461
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>sudo sed -i "s/#Port 22/Port 55039/g" /etc/ssh/sshd_config
sudo sed -i "s/#PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config
</code></pre></div></div>
<p><u>session SSH ne se termine pas correctement lors d'un "reboot" à distance</u><br/>
Si vous tentez de <strong>redémarrer/éteindre</strong> une machine distance par <strong>ssh</strong>, vous pourriez constater que votre session ne se termine pas correctement, vous laissant avec un terminal inactif jusqu’à l’expiration d’un long délai d’inactivité. Il existe un bogue 751636 à ce sujet. Pour l’instant, la solution de contournement à ce problème est d’installer :</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>sudo apt install libpam-systemd # installé par défaut sur debian buster
</code></pre></div></div>
<p>cela terminera la session ssh avant que le réseau ne tombe.<br/>
Veuillez noter qu’il est nécessaire que PAM soit activé dans sshd.</p>
<p>Les profils de pare-feu permettent à l’UFW de gérer des ensembles de règles de pare-feu nommés pour les applications installées. Les profils de certains logiciels courants sont fournis par défaut avec UFW et les paquets peuvent enregistrer des profils supplémentaires avec UFW pendant le processus d’installation. OpenSSH, le service qui nous permet de nous connecter à notre serveur maintenant, dispose d’un profil de pare-feu que nous pouvons utiliser.</p>
<p>Vous pouvez lister tous les profils d’application disponibles en tapant :</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ufw app list
<p>Nous devons nous assurer que le pare-feu autorise les connexions SSH afin de pouvoir nous reconnecter la prochaine fois.<br/>
ATTENTION SI PORT DIFFERENT !!!</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ufw allow OpenSSH # SSH port 22 par défaut
ufw allow 55039/tcp # SSH port 55039 PORT DIFFERENT !!!
</code></pre></div></div>
<p>Ensuite, nous pouvons activer le pare-feu</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ufw enable # Tapez y et appuyez sur ENTER pour continuer.
</code></pre></div></div>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
</code></pre></div></div>
<p>Vous pouvez voir que les connexions SSH sont toujours autorisées</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ufw status # SSH port 22 par défaut
</code></pre></div></div>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
</code></pre></div></div>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ufw status # SSH port 55039 PORT DIFFERENT !!!
</code></pre></div></div>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>Status: active
To Action From
-- ------ ----
55039/tcp ALLOW Anywhere
55039/tcp (v6) ALLOW Anywhere (v6)
</code></pre></div></div>
<p>Comme le pare-feu bloque actuellement toutes les connexions, à l’exception de la connexion SSH, si vous installez et configurez des services supplémentaires, vous devrez ajuster les paramètres du pare-feu pour permettre un trafic d’entrée acceptable. Vous pouvez apprendre quelques opérations UFW courantes dans notre guide <ahref="https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands">UFW Essentials: Common Firewall Rules and Commands</a></p>
<p>Ouvrir des accès complémentaires</p>
<p>http https dns</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ufw allow proto tcp from any to any port 80,443
ufw allow DNS
</code></pre></div></div>
<p>Status</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ufw status verbose
</code></pre></div></div>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>Status: active
<p><em>Dans son mode de fonctionnement par défaut, il lit un courrier à partir d’une entrée standard et l’envoie à un serveur SMTP prédéfini qui s’occupe de sa bonne distribution. Les options de la ligne de commande et les codes de sortie sont compatibles avec sendmail.</em></p>
<ul>
<li><ahref="/2020/03/29/msmtp-EnvoiMail-en-ligne-de-commande.html">msmtp - Envoi de mail en ligne de commande</a>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>[mardi 31 mars 2020, 20:04:10 (UTC+0200)] Your cert is in /home/admspace//.acme.sh/wgvpn.space_ecc/wgvpn.space.cer
[mardi 31 mars 2020, 20:04:10 (UTC+0200)] Your cert key is in /home/admspace//.acme.sh/wgvpn.space_ecc/wgvpn.space.key
[mardi 31 mars 2020, 20:04:10 (UTC+0200)] The intermediate CA cert is in /home/admspace//.acme.sh/wgvpn.space_ecc/ca.cer
[mardi 31 mars 2020, 20:04:10 (UTC+0200)] And the full chain certs is there: /home/admspace//.acme.sh/wgvpn.space_ecc/fullchain.cer
<li><ahref="https://www.digitalocean.com/community/tutorials/how-to-use-icinga-to-monitor-your-servers-and-services-on-ubuntu-14-04">How To Use Icinga To Monitor Your Servers and Services On Ubuntu 14.04</a></li>
</ul>
<h3id="installer-dépôts-apt-icinga-web-2">Installer dépôts APT Icinga Web 2</h3>
<h3id="interface-web-icinga-nginx">Interface web icinga nginx</h3>
<p>L’interface web d’Icinga2 est fort séparée du cœur d’exécution (qui sera commun aux maîtres et esclaves). On parle d’Icingaweb2. Celui-ci échange avec Icinga2 via la base de données et via une possibilité de commande locale. On installera également icingacli qui aide sur la gestion des modules d’Icingaweb2.</p>
<p>Paramètre date php <codeclass="language-plaintext highlighter-rouge">date.timezone = Europe/Paris</code> dans <strong>/etc/php/7.2/fpm/php.ini</strong><br/>
<p>The newly generated setup token is: 0b17237d99235d46</p>
<p>Il suffit ensuite d’ouvrir <ahref="https://moni.ouestline.xyz/icingaweb2/setup">https://moni.ouestline.xyz/icingaweb2/setup</a> dans un butineur, et de placer le jeton</p>
<p>Si vous avez oubliez le jeton :</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>icingacli setup token show
</code></pre></div></div>
<p>Ensuite laissez vous faire. Il faudra configurer l’accès à la base de données d’Icinga2 pour lire l’état du monitoring, et configurer une base propre à Icingaweb2 pour son fonctionnement propre.</p>
<p><imgsrc="/images/icinweb001.png"alt=""/><br/>
Fournissez le jeton de configuration Icinga web 2 que vous avez généré précédemment et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb002.png"alt=""/><br/>
Sélectionnez maintenant le module souhaité et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb003.png"alt=""/><br/>
Assurez-vous que tous les modules PHP requis sont installés. Ensuite, cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb004.png"alt=""/><br/>
Sélectionnez le type d’authentification comme base de données et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb005.png"alt=""/><br/>
Fournissez les détails de votre base de données comme le nom de la base de données, le nom d’utilisateur de la base de données, le mot de passe et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb006.png"alt=""/><br/>
Indiquez votre nom de backend et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb007.png"alt=""/><br/>
Créez votre utilisateur d’administration Icingaweb2 et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb008.png"alt=""/><br/>
Cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb009.png"alt=""/><br/>
Passez en revue toutes les modifications que vous avez apportées et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb010.png"alt=""/><br/>
Cliquez sur le bouton Suivant pour configurer le module de surveillance. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb011.png"alt=""/><br/>
Indiquez votre nom et votre type de backend, puis cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb012.png"alt=""/></p>
<p><imgsrc="/images/icinweb013.png"alt=""/><br/>
Fournissez les détails de votre base de données que vous avez créée lors de l’installation de l’OID et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb014.png"alt=""/><br/>
Indiquez votre nom de transport, sélectionnez une <strong>ligne de commande locale</strong> et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb015.png"alt=""/><br/>
Cliquez sur le bouton Suivant. Vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb016.png"alt=""/><br/>
Maintenant, passez en revue toutes les modifications que vous avez apportées et cliquez sur le bouton Terminer. Une fois l’installation terminée avec succès, vous devriez voir la page suivante :</p>
<p><imgsrc="/images/icinweb017.png"alt=""/><br/>
Cliquez sur le bouton “Login to Icinga Web 2”, vous serez redirigé vers la page suivante :</p>
<p><imgsrc="/images/icinweb018.png"alt=""/><br/>
Indiquez votre nom d’utilisateur et votre mot de passe Icinga2 admin et cliquez sur le bouton Login. Vous devriez voir le tableau de bord d’Icinga2 sur la page suivante :</p>
<p><imgsrc="/images/icinweb019.png"alt=""/></p>
<p>Vous avez réussi à installer et à configurer Icinga2 et Icinga web 2 sur le serveur Debian 10. Vous pouvez maintenant facilement ajouter des hôtes de surveillance à votre serveur et démarrer la surveillance.</p>
<h2id="comment-surveiller-les-hôtes-et-les-services-avec-icinga">Comment surveiller les hôtes et les services avec Icinga</h2>
<p><ahref="https://www.digitalocean.com/community/tutorials/how-to-monitor-hosts-and-services-with-icinga-on-ubuntu-16-04">How To Monitor Hosts and Services with Icinga </a></p>
<h3id="1---configuration-de-la-surveillance-simple-de-lhôte">1 - Configuration de la surveillance simple de l’hôte</h3>
<p>Une façon simple de surveiller un serveur avec Icinga est de mettre en place une vérification régulière de ses services disponibles en externe. Donc, pour un hébergeur, nous testons régulièrement l’adresse IP du serveur et essayons également d’accéder à une page Web. Cela nous dira si l’hôte est en place et si le serveur Web fonctionne correctement.</p>
<blockquote>
<p>Remarque: Icinga utilise toujours par défaut le nom de domaine complet (FQDN) de tout hôte avec lequel il traite. Un nom de domaine complet est un nom d’hôte plus son nom de domaine, donc web-1.example.com , par exemple. Si vous n’avez pas de domaine approprié configuré pour un hôte, le nom de domaine complet sera quelque chose comme web-1.localdomain<br/>
si vous n’avez pas de «vrai» FQDN, utilisez toujours l’adresse IP du serveur dans n’importe quel champ d’ address Icinga que vous configurez.</p>
</blockquote>
<p>Connectez-vous au nœud maître. Pour ajouter un nouvel hôte, nous devons modifier le fichier <strong>hosts.conf</strong></p>
<p>Cela ouvrira un fichier avec quelques commentaires explicatifs et un seul bloc hôte défini. Le bloc de configuration object Host NodeName existant définit l’ hôte icinga-master , qui est l’hôte sur lequel nous avons installé Icinga et Icinga Web. Positionnez votre curseur au bas du fichier et ajoutez un nouvel hôte:</p>
/* Import the default host template defined in `templates.conf`. */
import "generic-host"
/* Specify the address attributes for checks e.g. `ssh` or `http`. */
address = "127.0.0.1"
address6 = "::1"
/* Set custom variable `os` for hostgroup assignment in `groups.conf`. */
vars.os = "Linux"
/* Define http vhost attributes for service apply rules in `services.conf`. */
vars.http_vhosts["http"] = {
http_uri = "/"
}
/* Uncomment if you've sucessfully installed Icinga Web 2. */
//vars.http_vhosts["Icinga Web 2"] = {
// http_uri = "/icingaweb2"
//}
/* Define disks and attributes for service apply rules in `services.conf`. */
vars.disks["disk"] = {
/* No parameters. */
}
vars.disks["disk /"] = {
disk_partitions = "/"
}
/* Define notification mail attributes for notification apply rules in `notifications.conf`. */
vars.notification["mail"] = {
/* The UserGroup `icingaadmins` is defined in `users.conf`. */
groups = [ "icingaadmins" ]
}
}
object Host "cinay.eu" {
import "generic-host"
address = "51.77.151.245"
vars.http_vhosts["http"] = {
http_uri = "/"
}
vars.notification["mail"] = {
groups = [ "icingaadmins" ]
}
}
</code></pre></div></div>
<p>Cela définit un hôte appelé <strong>cinay.eu</strong> , à partir d’un hôte par défaut et d’un modèle appelé generic-host , pointe Icinga vers la bonne adresse IP, puis définit quelques variables qui indiquent à Icinga de vérifier une réponse HTTPS à l’URL racine ( / ) et avertir le groupe <strong>icingaadmins</strong> par e-mail en cas de problème.</p>
<p>Enregistrez et fermez le fichier, puis redémarrez Icinga:</p>
<p>Revenez à l’interface Web Icinga dans votre navigateur. L’interface se met à jour assez rapidement, vous n’avez donc pas besoin de rafraîchir la page. Les nouvelles informations sur l’hôte devraient être remplies rapidement et les “health checks” passeront de Pending (En attente) à Ok une fois qu’Icinga aura rassemblé suffisamment d’informations.</p>
<p><imgsrc="/images/icinga005.png"alt=""/></p>
<p>Ensuite, nous allons configurer la surveillance via un agent Icinga, afin que nous puissions garder un œil sur des informations système plus détaillées.</p>
<h3id="2---configuration-de-la-surveillance-basée-sur-lagent">2 - Configuration de la surveillance basée sur l’agent</h3>
<p>Icinga fournit un mécanisme de communication sécurisée entre un nœud maître et client afin d’exécuter des contrôles d’intégrité à distance plus étendus.<br/>
Au lieu de seulement savoir que notre serveur Web sert des pages avec succès, nous pourrions également surveiller la charge du processeur, le nombre de processus, l’espace disque, etc.</p>
<p>Nous allons mettre en place un deuxième serveur à surveiller. Nous l’appellerons web-2.example.com . Nous devons installer le logiciel Icinga sur la machine distante, exécuter des assistants de configuration pour établir la connexion, puis mettre à jour certains fichiers de configuration sur le nœud maître Icinga.</p>
<blockquote>
<p>Remarque: Il existe de nombreuses façons d’architecturer une installation Icinga, avec plusieurs niveaux de nœuds maître / satellite / client , un basculement haute disponibilité et plusieurs façons de partager les détails de configuration entre les nœuds. Nous mettons en place une structure simple à deux niveaux avec un nœud maître et plusieurs nœuds clients . De plus, toute la configuration sera effectuée sur le nœud maître , et nos commandes de vérification de l’état seront planifiées sur le nœud maître et transmises aux clients. Le projet Icinga appelle ce mode de configuration de point de terminaison de commande descendante .</p>
</blockquote>
<h4id="configurer-le-nœud-maître-wgvpnspace">Configurer le nœud maître wgvpn.space</h4>
<p>Tout d’abord, nous devons configurer le nœud maître pour établir des connexions client. Nous le faisons en exécutant l’ assistant de configuration de nœud sur notre nœud maître:</p>
<p>Cela lancera un script qui nous posera quelques questions et mettra les choses en place pour nous. Dans ce qui suit, nous avons ENTER sur ENTER pour accepter la plupart des valeurs par défaut. Les réponses non par défaut sont mises en évidence. Certaines sorties d’informations ont été supprimées pour plus de clarté:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>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]: n
Starting the Master setup routine...
Please specify the common name (CN) [wgvpn.space]:
Reconfiguring Icinga...
Checking for existing certificates for common name 'wgvpn.space'...
Certificate '/var/lib/icinga2/certs//wgvpn.space.crt' for CN 'wgvpn.space' already existing. Skipping certificate generation.
Generating master configuration for Icinga 2.
'api' feature already enabled.
Master zone name [master]:wgvpn.space
Default global zones: global-templates director-global
Do you want to specify additional global zones? [y/N]:n
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
Do you want to disable the inclusion of the conf.d directory [Y/n]:n
Disabling the inclusion of the conf.d directory...
Checking if the api-users.conf file exists...
Done.
Now restart your Icinga 2 daemon to finish the installation!
</code></pre></div></div>
<p>Redémarrez Icinga pour terminer la mise à jour de la configuration:</p>
<p>Nous allons maintenant passer au nœud client, installer Icinga et exécuter le même assistant.</p>
<h3id="configurer-le-nœud-client-wgvpnovh">Configurer le nœud client wgvpn.ovh</h3>
<p>Connectez-vous au serveur <strong>wgvpn.ovh</strong><br/>
Nous devons réinstaller le référentiel Icinga, puis installer Icinga lui-même. Il s’agit de la même procédure que nous avons utilisée sur le nœud maître.<br/>
Installer les repos en exécutant les commandes ci-dessous</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>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]: y
Starting the Agent/Satellite setup routine...
Please specify the common name (CN) [wgvpn.ovh]:
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): wgvpn.space
Do you want to establish a connection to the parent node from this node? [Y/n]: y
Please specify the master/satellite connection information:
Master/Satellite endpoint host (IP address or FQDN): wgvpn.space
Master/Satellite endpoint port [5665]:
Add more master/satellite endpoints? [y/N]:n
Parent certificate information:
Subject: CN = wgvpn.space
Issuer: CN = Icinga CA
Valid From: Apr 9 18:19:11 2020 GMT
Valid Until: Apr 6 18:19:11 2035 GMT
Fingerprint: 6C 27 81 36 E3 DE EE 05 59 29 83 E5 93 0F EE C4 36 CE 20 2F
</code></pre></div></div>
<p>L’assistant va maintenant récupérer le certificat public de notre nœud maître et nous afficher ses détails. Confirmez les informations, puis continuez:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>Is this information correct? [y/N]: y
Please specify the request ticket generated on your Icinga 2 master (optional).
(Hint: # icinga2 pki ticket --cn 'wgvpn.ovh'):
</code></pre></div></div>
<p>À ce stade, revenez à votre serveur master wgvpn.space et exécutez la commande à laquelle l’assistant vous a invité. N’oubliez pas sudo devant:</p>
<p>La commande produira une clé <codeclass="language-plaintext highlighter-rouge">fa84ecb7c0f516bc58cdaaf8cccf82eb3ddb88d9</code><br/>
Copiez-le dans votre presse-papiers, puis revenez au nœud client, collez-le et ENTER sur ENTER pour continuer avec l’assistant.</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>Please specify the request ticket generated on your Icinga 2 master (optional).
<p>La connexion peut prendre un moment. Finalement, netstat affichera une ligne montrant une connexion ESTABLISHED sur le bon port.</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>tcp 0 0 wgvpn.ovh:33422 wgvpn.space:5665 ESTABLISHED
</code></pre></div></div>
<p>Cela montre que nos serveurs se sont connectés et nous sommes prêts à configurer les vérifications client.</p>
<h3id="configurer-la-surveillance-des-agents">Configurer la surveillance des agents</h3>
<p>Même si le maître et le client sont maintenant connectés, il reste encore une configuration à faire sur le maître pour activer la surveillance. Nous devons configurer un nouveau fichier hôte.</p>
<p><strong>Revenir sur le maître wgvpn.space</strong></p>
<p>Un niveau d’organisation important dans une installation Icinga est le concept de zone<br/>
Tous les nœuds clients doivent créer leur propre zone et faire rapport à une zone parent, dans ce cas notre nœud maître. <br/>
Par défaut, la zone de notre nœud maître est nommée d’après son <u>nom de domaine complet</u>.<br/>
Nous allons créer un répertoire nommé d’après notre zone maître dans le répertoire <strong>zones.d</strong><br/>
Cela contiendra les informations de tous les clients de la zone maître.</p>
<p>Nous allons créer un fichier de configuration des services. Cela définira certaines vérifications de service que nous effectuerons sur n’importe quel nœud client distant.</p>
<p>Collez ce qui suit, puis enregistrez et fermez:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>apply Service "load" {
import "generic-service"
check_command = "load"
command_endpoint = host.vars.client_endpoint
assign where host.vars.client_endpoint
}
apply Service "procs" {
import "generic-service"
check_command = "procs"
command_endpoint = host.vars.client_endpoint
assign where host.vars.client_endpoint
}
</code></pre></div></div>
<p>Cela définit deux contrôles de service.</p>
<ul>
<li>Le premier rendra compte de la charge du processeur</li>
<li>le second vérifiera le nombre de processus sur le serveur.</li>
</ul>
<p>Les deux dernières lignes de chaque définition de service sont importantes. <codeclass="language-plaintext highlighter-rouge">command_endpoint</code> indique à Icinga que cette vérification de service doit être envoyée à un point de terminaison de commande distant.<br/>
La ligne <codeclass="language-plaintext highlighter-rouge">assign where</code> attribue automatiquement la vérification de service à tout hôte sur lequel une variable <codeclass="language-plaintext highlighter-rouge">client_endpoint</code> est définie.</p>
<p>Créons un tel hôte maintenant. Ouvrez un nouveau fichier dans le répertoire de zone que nous avons créé précédemment. Ici, nous avons nommé le fichier d’après l’hôte distant:</p>
<p>Collez dans la configuration suivante, puis enregistrez et fermez le fichier:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>object Zone "wgvpn.ovh" {
endpoints = [ "wgvpn.ovh" ]
parent = "wgvpn.space"
}
object Endpoint "wgvpn.ovh" {
host = "51.91.249.57"
}
object Host "wgvpn.ovh" {
import "generic-host"
address = "51.91.249.57"
vars.http_vhosts["http"] = {
http_uri = "/"
}
vars.notification["mail"] = {
groups = [ "icingaadmins" ]
}
vars.client_endpoint = name
}
</code></pre></div></div>
<p>Ce fichier définit une zone pour notre hôte distant et la lie à la zone parent. Il définit également l’hôte comme un point de terminaison, puis définit l’hôte lui-même, en important certaines règles par défaut à partir du modèle <strong>generic-host</strong> . Il définit également des <codeclass="language-plaintext highlighter-rouge">vars</code> pour créer une vérification HTTP et activer les notifications par e-mail. Notez que parce que cet hôte a <strong>vars.client_endpoint = name</strong> , il sera également affecté aux vérifications de service que nous venons de définir dans <strong>services.conf</strong> .</p>
<p>Redémarrez Icinga pour mettre à jour la configuration:</p>
le nouvel hôte s’affichera avec des contrôles en attente . Après quelques instants, ces contrôles devraient devenir OK .<br/>
Cela signifie que notre nœud client exécute correctement les vérifications du nœud maître.</p>
<h3id="conclusion">Conclusion</h3>
<p>Dans ce didacticiel, nous avons configuré deux types différents de surveillance avec Icinga, les vérifications de service externes et les vérifications d’hôtes basées sur des agents. Il y a beaucoup plus à apprendre sur la configuration et le travail avec Icinga, donc vous voudrez probablement approfondir la documentation complète d’Icya .</p>
<p>Notez que si vous arrivez à un point où vous avez besoin de commandes de vérification personnalisées, vous devrez les synchroniser du maître aux nœuds clients à l’aide d’une zone de configuration globale . Vous pouvez en savoir plus sur cette fonctionnalité spécifique ici .</p>
<p>Enfin, si vous avez un grand nombre de serveurs à surveiller, vous pourriez envisager d’utiliser un logiciel de gestion de configuration pour automatiser vos mises à jour de configuration Icinga. Notre série de didacticiels Prise en main de la gestion de la configuration donne un aperçu complet des concepts et des logiciels impliqués.</p>