Maison  >  Article  >  Opération et maintenance  >  Comment collecter et analyser les journaux sur les systèmes Linux

Comment collecter et analyser les journaux sur les systèmes Linux

PHPz
PHPzoriginal
2023-11-08 12:02:04813parcourir

Comment collecter et analyser les journaux sur les systèmes Linux

Dans les systèmes Linux, les journaux sont très importants. Ils peuvent enregistrer tous les événements qui se produisent dans le système, tels que l'état d'exécution des logiciels, les connexions réseau, les pannes du système, etc. Les informations enregistrées dans le journal peuvent aider les administrateurs à mieux comprendre le fonctionnement du système et à détecter les pannes du système. Par conséquent, la collecte et l’analyse des journaux sont très importantes pour les administrateurs système Linux.

Cet article expliquera comment utiliser les outils de gestion des journaux logrotate et logwatch pour la collecte et l'analyse des journaux, et fournira quelques exemples de code spécifiques.

  1. Collection de journaux

Dans les systèmes Linux, les journaux système sont généralement stockés dans le répertoire /var/log. Ces fichiers journaux peuvent être des journaux de services système ou des journaux d'applications.

Afin de collecter et de gérer correctement les fichiers journaux, nous pouvons utiliser logrotate, un outil de gestion des journaux. Logrotate peut nous aider à compresser, archiver et supprimer automatiquement les anciens fichiers journaux, ainsi qu'à créer régulièrement de nouveaux fichiers journaux. Voici un exemple de fichier de configuration logrotate :

# /etc/logrotate.d/mylog

/var/log/mylog {
  daily
  missingok
  rotate 7
  compress
  delaycompress
  sharedscripts
  postrotate
    /bin/systemctl restart rsyslog.service >/dev/null 2>&1 || true
  endscript
}

Dans le fichier de configuration ci-dessus :

  • daily : faites pivoter le fichier journal une fois par jour
  • missingok : si le fichier journal n'existe pas, aucune erreur ne sera signalée
  • rotate 7 : conservez 7 anciens fichiers journaux
  • compress : compressez les fichiers journaux
  • delaycompress : compression retardée, les fichiers journaux avec .1 ne seront pas compressés
  • sharedscripts : exécutez les scripts de postrotation et de fin de script avant que tous les scripts ne soient exécutés
  • postrotate : Scripts exécutés après la rotation du journal, dans ce cas, redémarrez le service rsyslog
  • endscript : signe postrotate de la fin du script

Grâce au fichier de configuration logrotate, nous pouvons régulièrement nettoyer les fichiers journaux expirés, et compresser et archiver le journal fichiers. Ensuite, nous pouvons utiliser l'outil logwatch pour surveiller et analyser les journaux.

  1. Analyse des journaux

Logwatch est un outil d'analyse des journaux qui peut générer automatiquement des rapports récapitulatifs des journaux et envoyer ces rapports aux administrateurs par e-mail. Pour utiliser logwatch, nous devons d'abord l'installer, puis configurer ses paramètres de notification par e-mail. Voici un exemple spécifique :

Nous devons d'abord installer logwatch via la commande suivante :

$ sudo apt-get install logwatch

Une fois l'installation terminée, nous devons configurer logwatch. Le fichier de configuration se trouve dans le répertoire /etc/logwatch/conf/. Nous pouvons utiliser le fichier de configuration par défaut ou le modifier selon nos besoins. Un exemple de configuration simple est donné ci-dessous :

# /etc/logwatch/conf/logwatch.conf

MailTo = user@example.com   # 发送日志报告的邮件地址
MailFrom = logwatch@example.com  # 发送日志报告的发件人地址
Range = yesterday   # 统计日志报告的时间段,本例中是昨天的日志
Detail = High    # 报告的详细程度,本例中是高

Une fois la configuration terminée, nous pouvons utiliser l'outil logwatch pour générer des rapports de journaux. Voici un exemple spécifique :

$ sudo logwatch --output mail --range yesterday --detail high --mailto user@example.com --subject “Daily Logwatch Report” --service all

Dans la commande ci-dessus :

  • --mail de sortie : envoyer le rapport du journal par e-mail
  • --plage d'hier : statistiques du journal d'hier
  • --detail high : générer un rapport de journaux détaillé
  • --mailto user@example.com : Adresse e-mail pour envoyer le rapport de journal
  • --sujet « Rapport quotidien de surveillance du journal » : Objet de l'e-mail du rapport de journal
  • --service all : Statistiques de tous les journaux de service

Passé avec Avec la commande ci-dessus, nous pouvons générer un rapport de journal détaillé et l'envoyer à l'administrateur par e-mail.

Conclusion

Grâce aux outils logrotate et logwatch, nous pouvons facilement collecter et analyser les journaux système Linux. L'utilisation de ces outils peut aider les administrateurs à mieux comprendre le fonctionnement du système et à détecter rapidement les pannes du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn