Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan analisis log teragih dan perlombongan dalam perkhidmatan mikro PHP

Bagaimana untuk melaksanakan analisis log teragih dan perlombongan dalam perkhidmatan mikro PHP

PHPz
PHPzasal
2023-09-24 09:42:26757semak imbas

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 Logstash

Jalankan 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn