====== Monitorix: statistiques de charge de vos serveurs ====== Détail du service pour la section [[doc:formations:hebergement:serveur:observer|"observer"]] du wiki. C'est un "démon" qui tourne en tache de fond sur votre serveur et qui vous présente des graphes d'usage et de charge selon différents critères. Il peut "monitorer" aussi des serveurs tiers, afin de rassembler vos graphes. Il vient avec son propre petit serveur HTTP pour présenter ses résultats. {{:doc:formations:hebergement:serveur:monitorix.jpg?300|}} ===== Installation ===== Si monitorix n'est pas disponible sur votre distribution (pas assez récente), vous pouvez installer un repo dédié (évitez cela si ce n'est pas nécessaire, car ce faisant, vous sortez de la gestion par ''apt''): echo 'deb http://apt.izzysoft.de/ubuntu generic universe' > /etc/apt/sources.list.d/monitorix.list wget http://apt.izzysoft.de/izzysoft.asc apt-key add izzysoft.asc apt update Enfin: apt install monitorix apache2-utils ===== Configuration locale ===== Ensuite, configurez le fichier ''/etc/monitorix/monitorix.conf'', pour les champs suivants: * ''title'' * ''hostname'': le nom complet de votre serveur (ex. ''stats.tecrd.com'') * Section '''': activez ''enabled = y'' pour sécuriser l'accès * Et vous pouvez changer ''port'' vers un port moins standard que ''8080'' (ex. ''18890'') pour moins l'exposer * dans la section '''' et '''' remplacez ''eth0'' par le nom de votre interface réseau que vous obtenez avec la commande ''ifconfig'' (ex. ''enp0s1'') Enfin, créez vos identifiants d'accès: htpasswd -d -c /var/lib/monitorix/htpasswd jeremie Et relancez le service: service monitorix restart Pour y accéder, vous devrez aller sur "http://stats.tecrd.com:8080/monitorix" ===== Configuration avancée ===== Doc complète: https://www.monitorix.org/documentation.html Dans la section '''' vous pouvez activer ou surtout désactiver certains graphiques. Afin de vous concentrer sur les plus utiles, je vous conseille de retirer les plus techniques ou certains qui ne sont pas très utiles à moins d'avoir plusieurs utilisateurs loggués sur la machine: * ''kern'', * ''proc'' (sauf pour un serveur de calcul, SIG etc), * ''netstat'', * ''serv'', * ''port'' (sauf à vouloir détecter quel protocole réseau vous prend la bande passante), * ''int'', * ''user'' (à moins d'avoir plusieurs utilisateurs sur votre serveur) Dans le bloc '''' vous pouvez désactiver certain sous-graphes (qui disparaitront de l'affichage "multi serveur", ci-dessous). Il suffit d'ajouter un ''#'' en tête des lignes suivantes: * ''_system4 = Entropy'' * ''_fs3 = Inode usage'' * ''_fs4 = Time spent in I/O activity'' * ''_net3 = Network errors'' ===== Ajouter des serveurs externes ===== Monitorix peut observer les autres serveurs que vous avez, enfin de centraliser la chose. Pour cela vous devrez l'installer sur chacun de ce serveurs, mais leur dire de "pousser" les statistiques vers votre central. ===== Sécurisation par HTTPS ===== Vous pouvez servir les graphes via un proxying du serveur web en place, et donc bénéficier de l'HTTPS. Sous apache: ProxyPass http://127.0.0.1:18890/monitorix-cgi Allow from all; ProxyPass http://127.0.0.1:18890/monitorix Allow from all; Sous nginx, c'est un simple bloc dans la configuration du site comme ci-dessous (ex. sauvez le sous ''/root/monitorix.conf'' et ajoutez un ''include /root/monitorix.conf'' de ce bloc de configuration dans votre ''/etc/nginx/local.conf''): location /monitorix { include proxy_params; proxy_pass http://127.0.0.1:18890/monitorix; allow 127.0.0.0/8; location ~ ^/monitorix/(.+\.png)$ { alias /var/lib/monitorix/www/$1; } } Comme monitorix discute par défaut sous un protocole non crypté (HTTP), une fois le proxy ci-dessus en place vous pouvez indiquer ''host: localhost'' dans la section '''' de ''/etc/monitorix/monitorix.conf'' et le relancer avec ''service monitorix restart''. Ainsi il n'écoutera que localement sur le serveur et ne fournira plus d'accès externe. Le proxy fonctionnant en interne, le problème est réglé. :!: si vous installez ce service en addition d'un serveur [[doc:formations:hebergement:service:mailinabox|mailinabox]], ce dernier regénère la configuration nginx à 3h du matin tous les jours. Vous pouvez ajouter une crontab de ce type pour remettre l'include en place: 15 3 * * * root (cd /etc/nginx/conf.d && grep -q monitorix.conf local.conf || sed -i '/# Roundcube Webmail configuration./i include "/root/monitorix.conf"; # added by cron' local.conf && service nginx restart) Retour à la page [[doc:formations:hebergement:serveur:observer|"observer"]].