Maison  >  Article  >  Opération et maintenance  >  Les meilleurs outils et techniques de gestion et d'analyse des logs sous Linux

Les meilleurs outils et techniques de gestion et d'analyse des logs sous Linux

WBOY
WBOYoriginal
2023-07-29 13:09:161180parcourir

Les meilleurs outils et technologies pour la gestion et l'analyse des journaux sous Linux

Introduction :
Dans les systèmes Linux, les journaux sont un composant très important. Ils enregistrent l'état de fonctionnement et les événements du système, fournissant ainsi aux administrateurs système des informations critiques pour dépanner et analyser les performances du système. Cependant, à mesure que la taille du serveur augmente et que la quantité de journaux continue d’augmenter, la gestion et l’analyse manuelles des journaux deviennent irréalisables. Par conséquent, trouver un outil de gestion et d’analyse des journaux efficace et fiable devient crucial. Cet article présentera plusieurs des meilleurs outils et techniques largement utilisés sous Linux.

  1. syslog-ng
    syslog-ng est un puissant outil de collecte et de transfert de journaux pour gérer et analyser les journaux système. Il dispose d'options de configuration flexibles et est capable de collecter des journaux provenant de diverses sources et de les envoyer vers des destinations spécifiées. Vous trouverez ci-dessous un exemple de fichier de configuration qui utilise syslog-ng pour collecter et transférer les journaux :
source s_network {
    tcp(ip(0.0.0.0) port(514));
    udp(ip(0.0.0.0) port(514));
};

destination d_file {
    file("/var/log/mylog.log");
};

log {
    source(s_network);
    destination(d_file);
};

La configuration ci-dessus écoutera le port 514 sur tous les réseaux et enregistrera les journaux reçus dans le fichier /var/log/mylog.log. Grâce à la configuration de syslog-ng, vous pouvez gérer et transférer les journaux de manière flexible en fonction de vos besoins.

  1. Logstash
    Logstash est un puissant outil open source de collecte, de traitement et de transmission de journaux. Il collecte les données de journal via divers plugins d'entrée, puis les filtre et les traite avant de les envoyer à la destination du plugin de sortie. Vous trouverez ci-dessous un exemple de configuration pour utiliser Logstash pour collecter et analyser les journaux d'accès Apache :
input {
  file {
    path => "/var/log/apache2/access.log"
    start_position => "beginning"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
  date {
    match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "apache-access-%{+YYYY.MM.dd}"
  }
  stdout { codec => rubydebug }
}

La configuration ci-dessus collectera les journaux d'accès Apache à partir du chemin spécifié et utilisera la correspondance de modèles Grok et les plug-ins Date pour analyser et transformer les journaux. Il enverra ensuite les journaux traités au serveur Elasticsearch via le plugin Elasticsearch et les indexera dans un index au format date.

  1. Elasticsearch
    Elasticsearch est un moteur de recherche et d'analyse distribué, particulièrement adapté au stockage et à l'analyse de grandes quantités de données de journaux. Il indexe et recherche les données de manière efficace et offre des capacités de requête et d'agrégation flexibles. Voici un exemple de code pour une recherche et une agrégation simples de journaux à l'aide d'Elasticsearch :
# 搜索所有含有“error”的日志
GET /mylog/_search
{
  "query": {
    "match": {
      "message": "error"
    }
  }
}

# 聚合统计每个级别的日志数量
GET /mylog/_search
{
  "size": 0,
  "aggs": {
    "log_level": {
      "terms": {
        "field": "level.keyword"
      }
    }
  }
}

Le code ci-dessus recherchera dans l'index nommé "mylog" les journaux contenant le mot-clé "error" et comptera le numéro de chaque niveau de journal.

Résumé :
La gestion et l'analyse des journaux sont cruciales pour la gestion et le dépannage du système. Cet article présente les meilleurs outils et technologies de gestion et d'analyse des journaux sous la plate-forme Linux, notamment syslog-ng, Logstash et Elasticsearch. En configurant et en utilisant correctement ces outils, les journaux système peuvent être gérés et analysés efficacement, et les performances du système et les capacités de dépannage peuvent être améliorées. J'espère que cet article sera utile aux lecteurs dans la gestion et l'analyse des journaux Linux.

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