Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
doc:formations:hebergement:serveur:observer [2021/02/04 09:44] – [Observer à distance] jeremie | doc:formations:hebergement:serveur:observer [2023/11/08 11:39] (Version actuelle) – [Outils divers] jeremie |
---|
[[public:heberger_ses_services|< Retour à l'index]] | [[public:services_en_ligne:herberger_ses_services_formation|< Retour à l'index]] |
| |
====== Observer vos serveurs ====== | ====== Observer vos serveurs ====== |
| |
| Voyez aussi: [[doc:formations:hebergement:serveur:proteger|protéger]] votre serveur. |
===== Observer à distance ===== | ===== Observer à distance ===== |
| |
Une des solutions les plus simples pour surveiller l'usage et la charge d'un serveur reste [[doc:formations:hebergement:serveur:monitorix|Monitorix]]. Zabbix et Nagios sont extrêmement puissants... mais particulièrement lourds. Munin est un choix intermédiaire et plus facilement cofigurable. | Une des solutions les plus simples pour surveiller l'usage et la charge d'un serveur reste [[doc:formations:hebergement:serveur:monitorix|Monitorix]]. [[https://www.zabbix.com|Zabbix]] et [[https://www.nagios.org/|Nagios]] sont extrêmement puissants... mais particulièrement lourds. Enfin, [[http://munin-monitoring.org/|Munin]] est un choix intermédiaire et plus facilement configurable, et moins joli. |
| |
Une option en ligne de commande, mais qui permet de générer des graphiques est [[http://nmon.sourceforge.net/pmwiki.php|nmon]] associé à ''nmonChart'' ([[http://nmon.sourceforge.net/docs/sampleC31.html|ex.]]). Nmon peut etre utilisé comme datalogger ou en mode interactif (ci-dessous). | Une option en ligne de commande, mais qui permet de générer des graphiques est [[http://nmon.sourceforge.net/pmwiki.php|nmon]] associé à ''nmonChart'' ([[http://nmon.sourceforge.net/docs/sampleC31.html|ex.]]). Nmon peut etre utilisé comme datalogger ou en mode interactif (ci-dessous). |
:!: Un autre piège est que contrairement au ''crontab -e'' de l'utilisateur, les fichiers crons déposés dans le dossier ''/etc/cron.d'' interdisent certains caractères dans les commandes à lancer! C'est piégeux car aucune erreur ne sera fournie mais la commande ne sera pas exécutée (convention de nommage ''run-parts'': pas de points, seulement des lettres, chiffres, souligné, tiret) | :!: Un autre piège est que contrairement au ''crontab -e'' de l'utilisateur, les fichiers crons déposés dans le dossier ''/etc/cron.d'' interdisent certains caractères dans les commandes à lancer! C'est piégeux car aucune erreur ne sera fournie mais la commande ne sera pas exécutée (convention de nommage ''run-parts'': pas de points, seulement des lettres, chiffres, souligné, tiret) |
| |
| Plutot que d'abuser de cron, il est souvent préférable d'utiliser ''systemd'' (voyez cet exemple pour [[doc:formations:hebergement:serveur:mattermost:installation|mattermost]]). |
===== Filtrage des entrées de log ===== | ===== Filtrage des entrées de log ===== |
| |
Sep 3 10:12:01 service CRON[32312]: pam_unix(cron:session): session closed for user root | Sep 3 10:12:01 service CRON[32312]: pam_unix(cron:session): session closed for user root |
| |
On peut désactiver l'enregistrement des lignes de sessions non interactives via ''/etc/pam.d/common-session-noninteractive'' et y ajouter la ligne suivante, juste avant l'appel à ''pam_unix.so'': | On peut désactiver l'enregistrement des lignes de sessions non interactives via ''/etc/pam.d/common-session-noninteractive'' et y ajouter la ligne suivante, juste avant la référence à ''pam_unix.so'': |
| |
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid | session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid |
| |
Pour rediriger toute l'activité ''cron'' dans son propre journal, et l'empécher de polluer le ''syslog'', il faut le retirer de la ligne ''catchall'' dans ''/etc/rsyslog.conf'' (dans la section RULES). Ensuite, on ajoute une règle qui lui est spécifique dans la section nommée "standard log files": | Pour rediriger toute l'activité ''cron'' dans son propre journal, et l'empécher de polluer le ''syslog'', il faut le retirer de la section ''catch-all'' dans ''/etc/rsyslog.conf'' (dans la section RULES). Ensuite, on ajoute une règle qui lui est spécifique dans la section nommée "standard log files": |
| |
cron.* /var/log/cron.log | cron.* /var/log/cron.log |
==== Filtrer des lignes spécifiques ==== | ==== Filtrer des lignes spécifiques ==== |
| |
On peut aussi/sinon filtrer directement par le contenu textuel du message, par exemlple ici ''api/stats.sh'' (faites attention à ne pas filtrer d'autres messages par inadvertance!), en modifiant ''/etc/rsyslog.conf'' pour y ajouter cette ligne en haut de la section RULES: | On peut aussi filtrer par le contenu "textuel" du message, toujours dans ''/etc/rsyslog.conf'', en ajoutant cette ligne en haut de la section RULES. Par exemple pour ne plus voir l'éxécution des scripts ''cron'' dans le log ''auth.log'' |
| |
:msg, contains, "api/stats.sh" ~ | :msg, contains, "pam_unix(cron:session)" stop |
| |
| Faites attention à ne pas filtrer d'autres messages par inadvertance. |
| |
| ====== Outils divers ====== |
| |
| Pour vérifier le sérieux d'une adresse IP qui a laissé une trace sur votre serveur: https://viz.greynoise.io/ |
| |
| Pour faire des statistiques sur l'obsolescence des fichiers : [[https://www.admin-magazine.com/HPC/Articles/How-Old-is-That-Data|agedu]]. |