Project

General

Profile

Demande #3782

Supervision spécifique pour XMPP

Added by pitchum . almost 2 years ago. Updated about 15 hours ago.

Status:
En cours de traitement
Priority:
Normale
Assignee:
Target version:
Start date:
06/26/2019
Due date:
% Done:

20%

Estimated time:
Difficulté:
2 Facile

Description

Pour commencer il faudrait vérifier que les ports TCP suivants répondent :
  • 5222
  • 5223
  • 5269

Il faudrait également vérifier la date d'expiration des certificats TLS.
Ça risque d'être un poil compliqué pour le STARTTLS sur les ports xmpp-client et xmpp-server.

Pour info comment je fais ces checks manuellement :

</dev/null  2>/dev/null openssl s_client -connect xmpp.chapril.org:5222 -xmpphost chapril.org -starttls xmpp | openssl x509 -noout -subject -dates
</dev/null  2>/dev/null openssl s_client -connect xmpp.chapril.org:5269 -xmpphost chapril.org -starttls xmpp-server | openssl x509 -noout -subject -dates

History

#1

Updated by pitchum . over 1 year ago

  • Subject changed from Supervision basique pour XMPP to Supervision spécifique pour XMPP
  • Assignee changed from Quentin Gibeaux to pitchum .
  • % Done changed from 0 to 20

Un premier check fait-maison a été implémenté lors de l'april-camp avec cpm.

Il faudrait maintenant utiliser ce plugin nagios : https://exchange.icinga.com/jandd/check_xmppng qui devrait notamment permettre de vérifier que les ports du service XMPP sont bien joignables et que les certificats TLS sont "frais".
Il est disponible dans debian sous le nom nagios-check-xmppng

Je l'ai testé rapidement à partir de la VM xmpp elle-même (mais il serait plus judicieux que ce test soit exécuté depuis "l'extérieur").

Pour l'instant ça ne marche pas très bien. Voici les checks que j'aurais imaginés :

/usr/lib/nagios/plugins/check_xmppng -H xmpp.chapril.org --servername chapril.org --warn-days 15 --crit-days 8 --s2s
/usr/lib/nagios/plugins/check_xmppng -H xmpp.chapril.org --servername chapril.org --warn-days 15 --crit-days 8 --c2s -p 5223
/usr/lib/nagios/plugins/check_xmppng -H xmpp.chapril.org --servername chapril.org --warn-days 15 --crit-days 8 --c2s -p 5222 --starttls

Seul le premier test répond OK. Les 2 autres retournent "XMPP CRITICAL - request took unknownNone (no CA certificates found) | time=unknown".

Il restera également à implémenter une sonde qui vérifie que le service ejabberd tourne.

#2

Updated by pitchum . over 1 year ago

  • Description updated (diff)
#3

Updated by pitchum . over 1 year ago

Il faudrait maintenant utiliser ce plugin nagios : https://exchange.icinga.com/jandd/check_xmppng qui devrait notamment permettre de vérifier que les ports du service XMPP sont bien joignables et que les certificats TLS sont "frais".
Il est disponible dans debian sous le nom nagios-check-xmppng

Pour l'instant ça ne marche pas très bien.

Après analyse, c'est probablement causé par un bug dans le packaging Debian pour python3.7. J'ai signalé le soucis :
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946581

Si on ne veut pas attendre un correctif propre on peut envisager un patch de contournement :

diff --git a/check_xmppng b/check_xmppng
index 6987c61..58c827d 100755
--- a/check_xmppng
+++ b/check_xmppng
@@ -340,7 +340,7 @@ class Xmpp(nagiosplugin.Resource):
                 _LOG.info(
                     "tried to load CA certificates from default locations, but" 
                     " could not find any CA certificates.")
-                raise XmppException('no CA certificates found')
+                _LOG.warning('no CA certificates found')
             else:
                 _LOG.debug('certificate store statistics: %s', stats)
         return context

#4

Updated by Christian P. Momon about 1 year ago

  • Target version set to Backlog
#5

Updated by pitchum . 2 months ago

Ticket ouvert sur le dépôt de check_xmppng : https://git.dittberner.info/jan/check_xmppng/issues/2

#6

Updated by pitchum . about 15 hours ago

Le problème a été corrigé upstream dans la version 0.3.2, qui a été poussée dans Debian et devrait arriver dans Debian Bullseye.

Donc on pourra enfin mettre en place cette sonde de supervision lorsque la machine admin sera passée en Debian Bullseye.

#7

Updated by pitchum . about 15 hours ago

  • Status changed from Nouveau to En cours de traitement

Also available in: Atom PDF