Comment implémenter l'analyse et l'exploration de journaux distribués dans les microservices PHP

PHPz
Libérer: 2023-09-24 10:08:01
original
759 Les gens l'ont consulté

Comment implémenter lanalyse et lexploration de journaux distribués dans les microservices PHP

Comment implémenter l'analyse et l'exploration de journaux distribuées dans les microservices PHP

Introduction :

Avec le développement rapide de la technologie Internet, de plus en plus d'applications sont construites via des microservices. Dans l'architecture des microservices, l'analyse et l'exploration des journaux constituent un élément très important. Elles peuvent nous aider à surveiller l'état de fonctionnement du système en temps réel, à découvrir les problèmes potentiels et à les gérer en temps opportun. Cet article présentera comment implémenter l'analyse et l'exploration de journaux distribuées dans les microservices PHP, et fournira des exemples de code spécifiques.

1. Créez un système de collecte de journaux

1. Choisissez l'outil de collecte de journaux approprié

La première étape pour implémenter l'analyse et l'exploration de journaux distribuées dans les microservices PHP consiste à choisir l'outil de collecte de journaux approprié. Les outils de collecte de journaux couramment utilisés incluent Logstash, Fluentd, Grafana, etc. Ces outils disposent de puissantes fonctions de collecte et d'analyse de journaux.

2. Ajoutez un plug-in de collecte de journaux à chaque microservice

Ajoutez un plug-in de collecte de journaux à chaque projet de microservice pour envoyer les journaux générés par le microservice à l'outil de collecte de journaux en temps réel. En prenant Logstash comme exemple, vous pouvez utiliser le plug-in Filebeat pour la collecte de journaux. Les étapes spécifiques sont les suivantes :

(1) Installez le plug-in Filebeat

Exécutez la commande suivante pour installer le plug-in Filebeat :

$ curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.2-darwin-x86_64.tar.gz
$ tar xzvf filebeat-7.10.2-darwin-x86_64.tar.gz
$ cd filebeat-7.10.2-darwin-x86_64/
Copier après la connexion

(2) Configurez Filebeat

Créez un fichier de configuration nommé filebeat.yml et configurez-le au format suivant :

filebeat.inputs:
- type: log
  paths:
    - /path/to/your/microservice/logs/*.log

output.logstash:
  hosts: ["your_logstash_host:your_logstash_port"]
Copier après la connexion

(3) Exécutez Filebeat

Exécutez la commande suivante pour démarrer Filebeat :

$ ./filebeat -e -c filebeat.yml
Copier après la connexion

3. Configurez l'outil de collecte de journaux

Configurez le plug-in d'entrée dans Logstash pour recevoir les données de journal. de chaque microservice. Les étapes spécifiques sont les suivantes :

(1) Installer Logstash

Exécutez la commande suivante pour installer Logstash :

$ curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-7.10.2-darwin-x86_64.tar.gz
$ tar xzvf logstash-7.10.2-darwin-x86_64.tar.gz
$ cd logstash-7.10.2-darwin-x86_64/
Copier après la connexion

(2) Configurer Logstash

Créez un fichier de configuration nommé logstash.conf et configurez-le au format suivant :

input {
  beats {
    port => your_logstash_port
  }
}

filter {
  # 编写日志过滤规则
}

output {
  elasticsearch {
    hosts => ["your_elasticsearch_host:your_elasticsearch_port"]
    index => "your_index_name-%{+YYYY.MM.dd}"
  }
}
Copier après la connexion

(3) Exécutez Logstash

Exécutez la commande suivante pour démarrer Logstash :

$ ./logstash -f logstash.conf
Copier après la connexion

4. Configurez Elasticsearch et Kibana

Elasticsearch et Kibana sont les composants principaux pour le stockage et l'affichage des données de journal. Les étapes spécifiques sont les suivantes :

(1) Installer Elasticsearch et Kibana

Référez-vous à la documentation officielle pour installer Elasticsearch et Kibana.

(2) Configurez Elasticsearch et Kibana

Modifiez les fichiers de configuration d'Elasticsearch et Kibana pour vous assurer qu'ils sont accessibles normalement.

(3) Configurer la sortie Logstash

Modifiez la configuration des hôtes de la partie sortie dans le fichier de configuration Logstash pour garantir que les données du journal sont correctement sorties vers Elasticsearch.

(4) Utilisez Kibana pour l'analyse et l'exploration des journaux

Ouvrez l'interface Web de Kibana, connectez-vous à l'instance Elasticsearch démarrée et utilisez le langage de requête KQL pour l'analyse et l'exploration des journaux.

2. Analyse et exploration des journaux

1. Utilisez Elasticsearch pour l'analyse des journaux

Elasticsearch fournit des fonctions de requête puissantes et vous pouvez analyser les données des journaux en écrivant des instructions de requête DSL. Voici un exemple de code utilisant Elasticsearch pour l'analyse des journaux :

$curl -X GET "localhost:9200/your_index_name/_search" -H 'Content-Type: application/json' -d'
{
    "query": {
        "match": {
            "message": "error"
        }
    }
}'
Copier après la connexion

2. Utilisez Kibana pour l'exploration de journaux

Kibana fournit une interface intuitive et des fonctions d'affichage de graphiques riches, qui peuvent nous aider à effectuer l'exploration de journaux plus facilement. Voici un exemple de code pour utiliser Kibana pour l'exploration de journaux :

GET your_index_name/_search
{
  "query": {
    "match": {
      "message": "error"
    }
  },
  "aggs": {
    "level_count": {
      "terms": {
        "field": "level.keyword"
      }
    }
  }
}
Copier après la connexion

Le code ci-dessus interrogera les journaux contenant le mot-clé "error", effectuera des statistiques globales basées sur le niveau de journalisation et générera un graphique pour afficher la distribution du journal. niveau.

Conclusion :

En créant un système de collecte de journaux et en utilisant Elasticsearch et Kibana pour l'analyse et l'exploration des journaux, nous pouvons mieux surveiller et analyser l'état d'exécution des microservices en temps réel, découvrir les problèmes à temps et les gérer en conséquence, améliorant ainsi Stabilité et disponibilité des applications. J'espère que cet article vous aidera à comprendre comment implémenter l'analyse et l'exploration de journaux distribuées dans les microservices PHP.

Références :

[1] Elastic. (2021). Elastic Stack - Elasticsearch, Kibana, Beats et Logstash.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!