Existe-t-il une interface Python sur le tableau de bord Apache (pour les statistiques du serveur)?

En bref: existe-t-il une interface Python open-source pour la fonctionnalité IPC du tableau de bord Apache? Je dois collecter des statistiques sur un serveur en cours d’exécution SANS utiliser l’interface HTTP ” mod_status “, et je voudrais éviter Perl si possible.

Quelques informations générales: Si je comprends bien, le serveur Web Apache utilise une fonctionnalité appelée « tableau de bord » pour gérer la coordination inter-processus. Cela peut être purement en mémoire, ou il peut s’agir d’une mémoire partagée sauvegardée. (S’IL VOUS PLAÎT corrigez-moi si c’est une mauvaise déclaration!)

Entre autres utilisations, ” mod_status ” vous permet d’interroger un chemin spécial sur un serveur correctement configuré, en renvoyant une page générée dynamicment avec une décomposition lisible par l’homme du fonctionnement global d’Apache: disponibilité, nombre de requêtes, taille des transferts de données et processus / état du fil. (Informations TRÈS utiles pour surveiller les performances ou dépanner les serveurs en cours d’exécution qui ne peuvent pas être arrêtés pour le débogage.)

Mais que faire si vous avez besoin du statut Apache, mais vous ne pouvez pas ouvrir une connexion HTTP au serveur? (Mon organisation voit ce cas de temps en temps. Par exemple, l’attaque Slowloris.) Quelles sont les différentes façons d’obtenir les statistiques du tableau de bord, et existe-t-il une interface Python pour l’une de ces méthodes?

Notez qu’un module Perl, Apache :: Scoreboard , semble pouvoir le faire. Mais je ne suis pas du tout sûr qu’il puisse atteindre directement les statistiques d’un serveur local (mémoire partagée, avec ou sans fichier de sauvegarde) ou qu’il doive établir une connexion TCP avec l’interface localhost. Je ne suis donc même pas sûr que ce module Perl puisse faire ce que nous demandons. Au-delà, je voudrais éviter Perl dans la solution pour des raisons d’organisation indépendantes (pas de délit, les gars de Perl!).

De plus, si les gens utilisent une méthode complètement différente pour saisir ces statistiques, cela m’intéresserait d’apprendre.

Apache :: Scoreboard peut à la fois récupérer le tableau de bord via HTTP ou, s’il est chargé sur le même serveur, accéder directement à la mémoire du tableau de bord. Cela se fait via une extension XS (c-à-d native C). Voir httpd / include / scoreboard.h pour savoir comment accéder au tableau de bord en mémoire de C.

Si vous exécutez mod_python, vous devriez pouvoir utiliser le même truc que Apache :: Scoreboard: écrivez une extension C pour accéder directement au tableau de bord.