Je voudrais surveiller les statistiques NGinx via Munin mais les plugins Nginx ne montrent aucune donnée. Est-il possible de diagnostiquer pourquoi un seul des plugins munin nginx semble fonctionner?
Le serveur fonctionne sur CentOS 5.3
Les plugins nginx s'appuient sur l'URL suivante pour obtenir les informations d'état:
http://127.0.0.1/nginx_status
Habituellement, nginx n'a pas cette URL configurée pour afficher les données d'état.
De la documentation des plugins, je vois que nginx doit être configuré pour afficher les données d'état dans une URL spécifique.
Vous devez activer l'état nginx en ajoutant les lignes suivantes à la configuration du site:
server {
listen 127.0.0.1;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
N'oubliez pas de redémarrer le serveur après avoir ajouté cette configuration et assurez-vous que l'URL stus renvoie les données d'état.
Pour la documentation complète de chaque plugin, vous pouvez exécuter:
munindoc nginx_request
J'espère que cela t'aides.
apt install libwww-perl time
sur les nœuds munin pour ses problèmes de journalisation avecUse of uninitialized value $LWP::VERSION
les plugins nginx.http://localhost/
pourrait préférer IPv6 et va donc ne pas correspondre à la configuration nginx qui autorise IPv4 localhost uniquement. En corrigeant l'URL/etc/munin/plugin-conf.d/munin-node
pourhttp://127.0.0.1/nginx_status
finalement faire fonctionner le plugin.D'après mon expérience, ces plugins ne fonctionnent probablement pas en raison d'une mauvaise configuration de nginx. Voici une courte liste de ce qu'il faut faire dans ce cas:
1. Vérifiez l'installation de nginx
Nginx doit être compilé avec le module HttpStubStatusModule . Vous pouvez le vérifier en exécutant la commande suivante (sous sudo ou root):
Si vous voyez la sortie suivante, vous pouvez continuer.
Sinon, vous devez recompiler nginx avec le module requis activé ou installer à partir d'une source différente (dans mon cas, le dépôt Debian par défaut avait la bonne version).
2. Vérifiez la configuration de nginx
Je suppose que vous avez placé et activé la configuration requise . Pour voir si cela fonctionne, vous pouvez accéder
ssh
à votre serveur et exécuterSi vous n'obtenez aucune erreur ici, alors le problème est la configuration du plugin. Si le serveur renvoie une erreur ici, vous pouvez déboguer en modifiant la configuration:
Après cela, dans le fichier,
/var/log/nginx/status.error.log
vous pouvez voir la raison exacte pour laquelle le serveur a renvoyé une erreur:Dans mon cas (comme vous pouvez le voir dans le journal), le problème était
client: ::1
que la configuration n'autorisait l'accès127.0.0.1
Pour résoudre le problème, vous pouvez suivre la suggestion de cepharum ou modifier la configuration de l'hôte virtuel:
(Notez que j'ai également remplacé
listen: 127.0.0.1
par le port 80 (ipv4 + ipv6) car le premier ne fonctionnait pas non plus)3. Vérifiez la configuration et les dépendances du système
Pour vérifier si le plugin lui-même fonctionne, exécutez
(notez que le plugin doit être "activé" - un lien symbolique doit être présent sur
/etc/munin/plugins
- sinon lire le manuel )Si vous obtenez des erreurs avec la
LWP
bibliothèque (par exempleLWP::UserAgent
ouLWP::VERSION
), votre système manque un package requis par lenginx_status
plugin.Sur Debian / Ubuntu, exécutez
Sur CentOS
Après cela, testez à nouveau le plugin
munin-run
. La sortie attendue (les nombres seront différents):la source
/var/log/munin-update.log
(Service nginx_status sur servername / 127.0.0.1: 4949 n'a renvoyé aucune donnée pour l'attente d'étiquette), j'aurais pu rechercher des années pour découvrir ce quilibwww-perl
manquait. Merci beaucoup pour cette réponse détaillée.Peut-être utile:
Utilisez également l'option de débogage pour exécuter Munin.
Vérifiez le fichier du plugin pour tous les chemins codés en dur et vérifiez qu'ils sont corrects pour votre système:
Le plugin nginx peut dépendre de la compilation de Nginx avec certains modules ou de la sortie du journal dans un certain format. Existe-t-il une page de documentation pour les plugins?
la source
L'élément clé est l'URL dans la configuration de munin.
Tu auras besoin de
Remarque
ne pas
la source
Installez libwww-perl puis exécutez la commande
munin-run nginx_status
pour voir les statistiques.Redémarrez le service Muni-node.
la source