serveurs:installation:script-srvstatus

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurs:installation:script-srvstatus [2023/06/05 07:39] – [Installer script srvstatus] jpmilcentserveurs:installation:script-srvstatus [2023/06/08 08:14] (Version actuelle) – [Stocker les logs du Cron dans leur propre fichier] jpmilcent
Ligne 1: Ligne 1:
 ====== Installer script srvstatus ====== ====== Installer script srvstatus ======
-  * **Notes** : le script [[https://github.com/ratibor78/srvstatus|ratibor78/srvstatus]] nous permet de surveiller le status de services //Systemd// via //Grafana//.+  * **Notes** :  
 +    * le script [[https://github.com/ratibor78/srvstatus|ratibor78/srvstatus]] nous permet de surveiller le status de services //Systemd// via //Grafana//. 
 +    * le plugin ''inputs.systemd_status'' ne fonctionne pas dans un container Docker. Voir : https://github.com/influxdata/telegraf/issues/7689
   * TODO :    * TODO : 
     * tester l'utilisation de la commande suivante pour générer un fichier json de status à la place du script srvstatus: <code bash>     * tester l'utilisation de la commande suivante pour générer un fichier json de status à la place du script srvstatus: <code bash>
Ligne 6: Ligne 8:
 </code> </code>
     * Sur Bullseye la commande suivante fonctionne :<code bash> systemctl list-units -t service --full --all --output=json --no-pager </code>     * Sur Bullseye la commande suivante fonctionne :<code bash> systemctl list-units -t service --full --all --output=json --no-pager </code>
-    * **Problème** la commande n'affiche pas le temps de fonctionnement... +    * **Problème** la commande n'affiche pas le temps de fonctionnement alors que le script //srvstatus// le fait... 
  
 ===== Installer le script ===== ===== Installer le script =====
Ligne 17: Ligne 19:
   * Installer les paquets requis : ''pip install -r requirements.txt''   * Installer les paquets requis : ''pip install -r requirements.txt''
   * Rendre exécutable le script : ''chmod +x ./service.py''   * Rendre exécutable le script : ''chmod +x ./service.py''
 +
 +==== Mettre à jour le script ====
 +  * Se placer dans le dossier  du script : ''cd /opt/srvstatus''
 +  * Mettre à jour le dépôt : ''git pull''
 +  * Activer le //venv// : ''source venv/bin/activate''
 +  * Installer les paquets requis : ''pip install -r requirements.txt''
 +  * Désactiver le //venv// : ''deactivate''
 +  * Vérifier le bon fonctionnement : ''vi status.json'' 
  
 ===== Configurer le script ===== ===== Configurer le script =====
Ligne 52: Ligne 62:
   * Ajouter dans le fichier //telegraf.conf// utiliser par le container //Docker// la configuration suivante : <code toml>   * Ajouter dans le fichier //telegraf.conf// utiliser par le container //Docker// la configuration suivante : <code toml>
 [[inputs.exec]] [[inputs.exec]]
-  commands = [ +  commands = ["cat /opt/srvstatus/status.json"]
-    "cat /opt/srvstatus/status.json" +
-  ]+
   timeout = "5s"   timeout = "5s"
   name_override = "services_stats"   name_override = "services_stats"
   data_format = "json"   data_format = "json"
-  tag_keys = [ +  tag_keys = ["service"]
-    "service" +
-  ]+
 </code> </code>
 +
 +===== Stocker les logs du Cron dans leur propre fichier =====
 +  * **Objectif** : séparer les logs des Cron dans un fichier de log à part afin qu'ils ne surchargent pas le fichier syslog. Le script ''srvstatus'' écrit plusieurs lignes de log toutes les minutes.
 +  * Éditer le fichier de config de Rsyslog : <code bash>vi /etc/rsyslog.conf</code>
 +    * Remplacer la ligne : <code>*.*;auth,authpriv.none     -/var/log/syslog</code> par <code>*.*;cron,auth,authpriv.none     -/var/log/syslog</code>
 +    * Dé-commenter la ligne : <code># cron.*              /var/log/cron.log</code>
 +  * Redémarrer le service Rsyslog avec : <code bash>systemctl restart rsyslog.service</code>
 +  * Redémarrer le service Cron avec : <code bash>systemctl restart cron.service</code>
 +  * Vérifier :
 +    * la présence du fichier ''cron.log'' et l'ajout de nouveaux logs avec : <code bash>vi /var/log/cron.log</code>
 +    * l'absence de log du Cron dans le fichier ''syslog'' avec : <code bash>vi /var/log/syslog</code>
  • serveurs/installation/script-srvstatus.1685950769.txt.gz
  • Dernière modification : 2023/06/05 07:39
  • de jpmilcent