Surveillance de la conteneurisation des microservices PHP et surveillance de la gestion des journaux : utilisez Prometheus et Grafana pour surveiller l'utilisation des ressources, le nombre de demandes et la latence. Gestion des journaux : collectez, analysez et visualisez les journaux à l'aide de la pile ELK (ElasticSearch, Logstash, Kibana). Déployez l'agent Filebeat pour envoyer les journaux à ElasticSearch.
Pratique de surveillance de la conteneurisation des microservices PHP et de gestion des journaux
Dans l'architecture distribuée moderne, la conteneurisation des microservices est devenue une pratique populaire. Cet article explique comment utiliser Prometheus et Grafana pour surveiller les microservices PHP et utiliser ELK Stack pour la gestion des journaux.
Surveillance
1. Installez Prometheus
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm install prometheus prometheus-community/kube-prometheus-stack
2 Installez Grafana
helm repo add grafana https://grafana.github.io/helm-charts helm repo update helm install grafana grafana/grafana
3. Configurez le tableau de bord Grafana
Créez le tableau de bord Grafana suivant, en utilisant Prometheus comme source de données :
- Graph: Pod 资源使用情况,监控 CPU 和内存使用 - Gauge: 容器请求数,监控每秒处理的请求数 - Scatter Plot: 请求延迟,绘制请求延迟与时间的关系
Gestion des journaux
1. Installez ELK Stack
docker-compose up
2. Configurez ELK Stack
Créez un modèle d'index dans Kibana pour analyser les journaux PHP. Les champs peuvent inclure :
- timestamp - level - message - ...
3. Déployez l'agent de journal
Par exemple, vous pouvez utiliser Filebeat pour déployer dans chaque pod de microservice et envoyer les journaux à ElasticSearch.
filebeat: inputs: - type: log paths: - /var/log/*.log output.logstash: hosts: ["logstash:5044"]
Cas pratique
Ce qui suit est un exemple de fichier Dockerfile de microservice PHP pour la surveillance et la journalisation :
FROM php:8.0-fpm # Copy application code COPY . /var/www/html # Install dependencies RUN composer install # Prometheus Exporter RUN wget https://github.com/prometheus/client_php/releases/download/2.4.2/prometheusclient-php-2.4.2.phar -O /usr/local/bin/promexp --quiet # Logstash Filebeat RUN wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.1.0-linux-x86_64.tar.gz -O /tmp/filebeat.tar.gz --quiet RUN tar -zxf /tmp/filebeat.tar.gz -C /usr/local/bin/ # Start application CMD ["php", "-S", "0.0.0.0:80"]
Conclusion
En mettant en œuvre les mesures de surveillance et de gestion des journaux ci-dessus, vous pouvez prendre le contrôle des opérations du microservice PHP. Obtenez une compréhension approfondie des conditions et identifiez et résolvez rapidement tout problème, améliorant ainsi la stabilité et les performances des applications.
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!