GNU/Linux >> Tutoriels Linux >  >> Linux

recevoir une notification lorsque le service surveillé par systemd passe en état d'échec

Solution 1 :

Les unités systemd prennent en charge OnFailure qui activera une unité (ou plus) lorsque l'unité passe en panne. Vous pouvez mettre quelque chose comme

 [email protected]%n

Et puis créez le [email protected] service où vous pouvez utiliser le spécificateur requis (vous voudrez probablement au moins %i) pour lancer le script ou la commande qui enverra la notification.

Vous pouvez voir un exemple pratique dans http://northernlightlabs.se/systemd.status.mail.on.unit.failure

Solution 2 :

Juste ma façon de notifier :

/etc/systemd/system/[email protected]

[Unit]
Description=Sent email 

[Service]
Type=oneshot
ExecStart=/usr/bin/bash -c '/usr/bin/systemctl status %i | /usr/bin/mailx -Ssendwait -s "[SYSTEMD_%i] Fail" [email protected]'

ajouter à systemd :

systemctl enable /etc/systemd/system/[email protected]

Aux autres services ajouter :

[Unit]
[email protected]%i.service

Recharger la configuration :

systemctl daemon-reload

Linux
  1. Linux - Comment obtenir moins de Ttys avec Systemd ?

  2. "Échec du démarrage de l'activation des volumes logiques LVM2" et "L'unité lvm2-activation-net.service est entrée dans l'état d'échec" - Problème de démarrage CentOS/RHEL 7

  3. Comment puis-je obtenir l'état du clavier sous Linux?

  4. Comment obtenir errno lorsque epoll_wait renvoie EPOLLERR ?

  5. Linux reçoit une notification sur le changement de fenêtre de l'interface graphique ciblée

Échec de l'émission de l'appel de méthode :Échec du chargement de l'unité .service - Erreur Linux RHEL7

Liste des services Linux avec Systemctl

Recevoir une notification lorsqu'une tâche de terminal est terminée

Undistract-me :recevez une notification lorsque les commandes de terminal de longue durée sont terminées

Comment être averti lorsque Svcadm redémarre un service qui est mort ?

Ignorer l'invite du nom d'utilisateur lors de l'utilisation de git