Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

Planet Libre  -  P3ter : La supervision décentralisée avec Monit

 -  Janvier 2021 - 

Monit est une application de supervision décentralisée. A l'heure ou les Nagios, Centreon et autre Shinken, ont une approche centralisée, Monit est un outil standalone qui s'installe directement sur chacunes de vos machines. Fonctionnant de manière isolée, nous verront comment déployer autant d'instance de Monit que nous avons de serveur grâce à un playbook Ansible.

Monit est un logiciel libre développé en C. Vous trouverez toute la documentation nécessaire à son utilisation sur le site officiel.

Installation

Monit est disponible dans les dépôts de la plupart des distributions Linux, ce qui en simplifie l'installation.

Sous Debian :

printf "%sn" "deb http://ftp.de.debian.org/debian buster-backports main" | sudo tee /etc/apt/sources.list.d/buster-backports.list
sudo apt update

sudo apt install -t buster-backports monit

Sous Ubuntu et Raspbian :

sudo apt install monit

Sous CentOS, Red Hat, Fedora :

sudo dnf install monit

Vérifions l'installation de Monit en lançant la commande ci-dessous :

monit -V

Enfin, activons Monit au démarrage :

sudo systemctl enable monit

Configuration et usage

Lancez la commande ci-dessous pour obtenir un rapport sur l'état du système :

sudo monit status

Si vous obtenez l'erreur ci-dessous, alors il est nécessaire de modifier la configuration de Monit, afin d'activer l'interface web. En effet, celle-ci est nécessaire pour utiliser monit status, car le client monit utilise l'interface http pour communiquer avec le démon Monit.

Monit: the monit HTTP interface is not enabled, please add the 'set httpd' statement and use the 'allow' option to allow monit to connect

Le fichier de configuration de Monit étant /etc/monit/monitrc, vous pouvez directement modifier ce fichier, mais dans le cadre de l'utilisation d'Ansible, nous allons plutôt créer un fichier /etc/monit/conf.d/monit.conf. Ainsi nous ne seront pas impactés par les mises à jours de Monit et nous pourront gérer nos différents fichiers .conf dans un outil de versionning de code tel que Git. Vérifiez au préalable la présence d'une ligne include dans le fichier monitrc qui permettra de charger tous les fichiers présents dans le répertoire /etc/monit/conf.d/.

set httpd port 2812 and
    allow localhost

Puis, relancez Monit pour prendre en compte le changement de configuration.

sudo monit reload
sudo monit status

Configurer des alertes

Pour chaque alerte que l'on souhaite configurer nous allons créer un fichier spécifique dans le répertoire /etc/monit/conf.d/, ce qui nous permettra de déployer uniquement les alertes nécessaires en fonction du type de service que l'on souhaite monitorer. Je vous propose deux exemples simples dans cet article, mais je vous invite à aller sur le site officiel de Monit qui regorge d'exemples : https://mmonit.com/wiki/Monit/ConfigurationExamples.

Les alertes s'affichent en rouge avec la commande : sudo monit status.

Surveiller l'espace disque

Ajouter les lignes ci-dessous dans le fichier /etc/monit/conf.d/disk.conf

check filesystem disk with path /
    if space usage > 80 then alert

Monit va ainsi surveiller le chemin / et provoquer une alerte si l'espace occupé dépasse les 80%.

Surveiller un service distant

Ajouter les lignes ci-dessous au fichier /etc/monit/conf.d/monsiteweb.conf

check host pluxml.org address www.monsiteweb.fr
    if failed ping timeout 15 seconds then alert

Dans cet exemple, Monit va surveiller que l'adresse www.monsiteweb.fr répond au travers du protocole HTTP. En cas d'erreur, Monit lancera un ping et au délà des 15 secondes de timeout une alerte sera créée.

Activer les notifications par e-mail

Monit permet également d'envoyer les alertes par e-mail. Vous pouvez utiliser le service mail présent en local (postfix, exim4, ...), en ajouter les lignes ci-dessous dans /etc/monit/conf.d/monit.conf :

set mailserver localhost

Si vous n'avez pas ce type de service, vous pouvez utiliser un serveur mail tiers. Pour cela ajouter les lignes ci-dessous dans le fichier /etc/monit/conf.d/monit.conf (à adapter en fonction du service tiers utilisé) :

set mailserver mail.domain.net port 465
    username password "PassWord"
    using SSL with timeout 30 seconds

Il est également possible de modifier le template de mail ainsi :

set mail-format {
  from:    Monit <>
  subject: monit alert --  $EVENT $SERVICE
  message: $EVENT Service $SERVICE
                Date:        $DATE
                Action:      $ACTION
                Host:        $HOST
                Description: $DESCRIPTION

           Your faithful employee,
           Monit
}

Enfin, définissez le destinataire des alertes avec la ligne ci-dessous :

set alert

Puis, relancez Monit pour prendre en compte le changement de configuration.

sudo monit reload

Déploiement de Monit avec Ansible

Comme nous l'avons vu, la configuration de Monit se réalisant au travers de simples fichiers, le déploiement de Monit sur d'autres serveurs peux se faire facilement en copiant ces fichiers directement sur la machine distante. Vous trouverez ci-dessous un exemple de playbook Ansible pour Debian permettant d'installer, puis de copier les fichiers de configuration. Pensez seulement à remplacer par le nom d'utilisateur à utiliser pour la connexion SSH sur l'hôte distant, ainsi que  par le chemin contenant vos fichiers de configuration pour Monit.

- name: Install Monit for web servers on Debian
  hosts: all
  remote_user:
  become: true
  become_method: sudo
 
  tasks:
  - name: Add backports repository
    apt_repository:
      repo: deb http://ftp.de.debian.org/debian buster-backports main
      state: present
      filename: buster-backports
  - name: Monit installation
    apt:
      name: monit
      autoclean: yes
  - name : Monit configuration files deploy
    copy:
      src:
      dest: /etc/monit/conf.d/
      owner: root
      group: root
      mode: '0644'
  - name: Restart Monit
    service:
      name: monit
      state: restarted

 


Un article à retrouver sur P3ter.fr

Gravatar de P3ter
Original post of P3ter.Votez pour ce billet sur Planet Libre.

par P3ter

Planet Libre

Le Planet sur Linux et les Logiciels Libres

Mathias : Enregistrement DNS de type CAA

 -  Mai 2021 - 

IntroductionDéfini en 2013 par la RFC6844, le CAA est un type d’enregistrement DNS qui permet aux propriétaires de sites de préciser quelles (...)


genma : Nextcloud - Suppression des fichiers fournis par défaut dans le dossier utilisateur

 -  Avril 2021 - 

Des fichiers par défautVous pouvez fournir à vos nouveaux utilisateurs un ensemble de fichiers par défaut qui apparaîtront dans leur Nextcloud (...)


genma : Nextcloud et l'accessibilité 1/ ?

 -  Mars 2021 - 

J'ai écrit quelques billets de blog sur le sujet de l'accessibilité au cours des années et ce sujet, même si j'en parle peu, me tient à coeur. C'est (...)


antistress : Mon nouveau téléphone : Samsung Galaxy S5 sous LineageOS

 -  Février 2021 - 

Tout d'abord il me faut indiquer quels usages je fais de mon téléphone.J'utilise surtout les fonctions SMS et MMS, appareil photo et voix – dans (...)


Carl Chenet : Le télétravail, c’est pas que pour la pandémie !

 -  Février 2021 - 

Ton chef rage en mode “c’était mieux avant”, tu le vois continuer à organiser des réunions-fleuve où personne ne répond. Le reste du temps (et pendant (...)