Maison >développement back-end >tutoriel php >Comment traiter les journaux de serveurs
Elk Stack: rationalisation de l'analyse du journal des applications PHP
Le dépannage des applications PHP commence souvent par l'examen des fichiers journaux. Cependant, le déchiffrement de la grande quantité de données à partir de plusieurs sources (PHP, Apache, MySQL, journaux système, journaux spécifiques au framework) peut être écrasant. Le Elk Stack (Elasticsearch, Logstash, Kibana) offre une solution puissante pour la gestion et l'analyse des journaux centralisés. Cet article vous guide en configurant la pile des wapitis localement, en expédiant les journaux Apache à Elasticsearch via Logstash et en analysant les données en kibana.
Caractéristiques de clé:
Installation et configuration:
Installation Java: Assurer Java 7 ou supérieur (Oracle JDK ou OpenJDK) est installé: sudo apt-get install default-jre
Installation de la pile des élans (en utilisant APT):
elasticsearch:
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
sudo apt-get update && sudo apt-get install elasticsearch
/etc/elasticsearch/elasticsearch.yml
et définir network.host: localhost
sudo service elasticsearch restart
sudo update-rc.d elasticsearch defaults 95 10
sudo curl 'http://localhost:9200'
Logstash:
echo "deb http://packages.elastic.co/logstash/2.2/debian stable main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update && sudo apt-get install logstash
kibana:
echo "deb http://packages.elastic.co/kibana/4.5/debian stable main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update && apt-get install kibana
/opt/kibana/config/kibana.yml
): server.port: 5601
, server.host: "0.0.0.0"
sudo service kibana start
http://localhost:5601/
Expédition de journaux avec Logstash:
Créer un fichier de configuration de logstash (/etc/logstash/conf.d/apache-logs.conf
):
<code>input { file { path => "/var/log/apache2/access.log" type => "apache-access" } } filter { if [type] == "apache-access" { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } } } output { elasticsearch {} }</code>
Démarrer Logstash: /opt/logstash/bin/logstash -f /etc/logstash/conf.d/apache-logs.conf
Analyse du journal Kibana: Une fois que les journaux sont indexés, créez un modèle d'index en kibana et explorez les données à l'aide des fonctionnalités de découverte, de visualisation et de tableau de bord. Utilisez des requêtes de recherche (texte libre, niveau de champ, opérateurs booléens, expressions régulières) et visualisations (graphiques à tarte, graphiques à barres, etc.) pour acquérir des informations.
Conclusion:
La pile de wapiti fournit une solution robuste et évolutive pour gérer et analyser les journaux d'applications PHP. Son approche centralisée, ses capacités en temps réel et ses puissants outils de visualisation permettent aux développeurs et aux équipes d'opérations de résoudre efficacement les problèmes et d'optimiser les performances des applications. N'oubliez pas de consulter la documentation élastique officielle pour les informations les plus à jour et les meilleures pratiques.
(La section FAQS a omis pour la concision, car il s'agit d'une copie directe de l'original et ne nécessite pas de paraphrase dans le contexte de cette réécriture.)
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!