Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk melaksanakan analisis log teragih dan perlombongan dalam perkhidmatan mikro PHP
Cara melaksanakan analisis log teragih dan perlombongan dalam perkhidmatan mikro PHP
Pengenalan:
#🎜🎜 Dengan Internet perkembangan pesat teknologi, semakin banyak aplikasi dibina menggunakan perkhidmatan mikro. Dalam seni bina perkhidmatan mikro, analisis log dan perlombongan adalah bahagian yang sangat penting. Ia boleh membantu kami memantau status berjalan sistem dalam masa nyata, menemui masalah yang berpotensi dan mengendalikannya tepat pada masanya. Artikel ini akan memperkenalkan cara melaksanakan analisis log teragih dan perlombongan dalam perkhidmatan mikro PHP, dan menyediakan contoh kod khusus. 1 Bina sistem pengumpulan log 1 Pilih alat pengumpulan log yang sesuai Laksanakan analisis log teragih dan perlombongan yang pertama. langkahnya ialah memilih alat pengumpulan log yang betul. Alat pengumpulan log yang biasa digunakan termasuk Logstash, Fluentd, Grafana, dsb. Alat ini mempunyai fungsi pengumpulan dan analisis log yang berkuasa. 2 Tambahkan pemalam koleksi log pada setiap perkhidmatan mikro Tambah pemalam koleksi log pada setiap projek perkhidmatan mikro untuk menghantar log yang dijana oleh perkhidmatan mikro ke koleksi Log. alat. Mengambil Logstash sebagai contoh, anda boleh menggunakan pemalam Filebeat untuk pengumpulan log. Langkah-langkah khusus adalah seperti berikut: (1) Pasang pemalam Filebeat Jalankan arahan berikut untuk memasang pemalam 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/# 🎜🎜# (2) Konfigurasikan Filebeat#🎜🎜 #Buat fail konfigurasi bernama filebeat.yml dan konfigurasikannya dalam format berikut:
filebeat.inputs: - type: log paths: - /path/to/your/microservice/logs/*.log output.logstash: hosts: ["your_logstash_host:your_logstash_port"](3) Jalankan Filebeat#🎜🎜
Jalankan arahan berikut untuk memulakan Filebeat :
$ ./filebeat -e -c filebeat.yml
3 Konfigurasikan alat pengumpulan log
Konfigurasikan pemalam masukan dalam Logstash untuk menerima data log daripada setiap perkhidmatan mikro. Langkah-langkah khusus adalah seperti berikut:
(1) Pasang Logstash
Jalankan arahan berikut untuk memasang 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/
(2) Konfigurasi Logstash
# 🎜🎜#Buat fail konfigurasi bernama logstash.conf dan konfigurasikannya dalam format berikut:input { beats { port => your_logstash_port } } filter { # 编写日志过滤规则 } output { elasticsearch { hosts => ["your_elasticsearch_host:your_elasticsearch_port"] index => "your_index_name-%{+YYYY.MM.dd}" } }(3) Jalankan LogstashJalankan arahan berikut untuk memulakan Logstash:# 🎜🎜#
$ ./logstash -f logstash.conf
4. Konfigurasikan Elasticsearch dan Kibana
Elasticsearch dan Kibana ialah komponen teras untuk menyimpan dan memaparkan data log. Langkah-langkah khusus adalah seperti berikut:
(1) Pasang Elasticsearch dan Kibana
Rujuk dokumentasi rasmi untuk memasang Elasticsearch dan Kibana.
(2) Konfigurasikan Elasticsearch dan Kibana
Ubah suai fail konfigurasi Elasticsearch dan Kibana untuk memastikan ia boleh diakses secara normal.
(3) Konfigurasikan output Logstash
Ubah suai konfigurasi hos bahagian output dalam fail konfigurasi Logstash untuk memastikan data log dikeluarkan dengan betul kepada Elasticsearch.
(4) Gunakan Kibana untuk analisis log dan perlombongan
Buka antara muka web Kibana, sambung ke contoh Elasticsearch yang dimulakan, dan gunakan bahasa pertanyaan KQL untuk analisis log dan perlombongan.
2. Analisis log dan perlombongan
1 Gunakan Elasticsearch untuk analisis log
Elasticsearch menyediakan keupayaan pertanyaan yang kuat, yang boleh ditulis dengan menulis DSL. pernyataan pertanyaan untuk menganalisis data log. Berikut ialah contoh kod untuk menggunakan Elasticsearch untuk analisis log:
$curl -X GET "localhost:9200/your_index_name/_search" -H 'Content-Type: application/json' -d' { "query": { "match": { "message": "error" } } }'
2 Menggunakan Kibana untuk perlombongan balak
Kibana menyediakan antara muka intuitif dan fungsi paparan carta yang kaya, yang boleh. Bantu kami menjadikan perlombongan balak lebih mudah. Berikut ialah contoh kod untuk menggunakan Kibana untuk perlombongan balak:
GET your_index_name/_search { "query": { "match": { "message": "error" } }, "aggs": { "level_count": { "terms": { "field": "level.keyword" } } } }
Kod di atas akan menanyakan log yang mengandungi kata kunci "ralat" dalam log, statistik agregat berdasarkan tahap log dan menjana carta untuk memaparkan tahap pengedaran.
Kesimpulan:
Dengan membina sistem pengumpulan log dan menggunakan Elasticsearch dan Kibana untuk analisis log dan perlombongan, kami boleh memantau dan menganalisis status berjalan perkhidmatan mikro dalam masa nyata dengan lebih baik. Masalah ditemui dalam masa dan ditangani dengan sewajarnya, dengan itu meningkatkan kestabilan dan ketersediaan aplikasi. Saya harap artikel ini akan membantu anda memahami cara melaksanakan analisis log teragih dan perlombongan dalam perkhidmatan mikro PHP.
Rujukan:
[1] Elastik Timbunan - Elasticsearch, Kibana, Beats dan Logstash /
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan analisis log teragih dan perlombongan dalam perkhidmatan mikro PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!