Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan pemantauan masa nyata dan membimbangkan fungsi PHP melalui perkhidmatan mikro?

Bagaimana untuk melaksanakan pemantauan masa nyata dan membimbangkan fungsi PHP melalui perkhidmatan mikro?

WBOY
WBOYasal
2023-09-18 10:18:31590semak imbas

Bagaimana untuk melaksanakan pemantauan masa nyata dan membimbangkan fungsi PHP melalui perkhidmatan mikro?

Bagaimana untuk melaksanakan pemantauan masa nyata dan membimbangkan fungsi PHP melalui perkhidmatan mikro?

Dengan perkembangan pesat aplikasi Internet, keperluan untuk kebolehpercayaan dan kestabilan perkhidmatan dalam talian semakin tinggi dan lebih tinggi. Untuk mengesan dan menyelesaikan kegagalan perkhidmatan tepat pada masanya, pemantauan masa nyata dan fungsi penggera menjadi semakin penting. Artikel ini akan memperkenalkan cara menggunakan seni bina perkhidmatan mikro untuk melaksanakan pemantauan masa nyata dan fungsi PHP yang membimbangkan, dan membantu pembaca memahami melalui contoh kod tertentu.

1. Pengenalan kepada Seni Bina Perkhidmatan Mikro

Seni bina perkhidmatan mikro ialah gaya seni bina yang membahagikan aplikasi kepada satu set perkhidmatan yang kecil dan longgar. Setiap perkhidmatan berjalan dalam proses bebas dan berkomunikasi melalui mekanisme komunikasi yang ringan. Kelebihan seni bina perkhidmatan mikro ialah kebolehskalaan, fleksibiliti dan kebebasan yang dipertingkatkan, tetapi ia juga membawa beberapa cabaran, seperti pemantauan perkhidmatan dan membimbangkan.

2. Reka bentuk penyelesaian pemantauan masa nyata

Dalam seni bina perkhidmatan mikro, kita boleh menggunakan alatan seperti Elasticsearch, Kibana dan Beats untuk mencapai pemantauan masa nyata. Langkah-langkah khusus adalah seperti berikut:

  1. Pasang dan konfigurasikan Elasticsearch
    Elasticsearch ialah enjin carian berasaskan Lucene yang boleh digunakan untuk menyimpan dan mencari sejumlah besar data. Kita boleh memasang Elasticsearch melalui arahan berikut:

    sudo apt-get install elasticsearch

    Konfigurasikan dalam fail elasticsearch.yml, seperti menetapkan port pendengaran, nama kluster, dsb.

  2. Pasang dan konfigurasikan Kibana
    Kibana ialah alat visualisasi data berdasarkan Elasticsearch yang boleh memaparkan data melalui carta dan graf. Kita boleh memasang Kibana melalui arahan berikut:

    sudo apt-get install kibana

    Konfigurasikan dalam fail kibana.yml, seperti menetapkan alamat dan port elasticsearch.

  3. Pasang dan konfigurasi Beats
    Beats ialah satu set pengumpul data ringan yang boleh menghantar pelbagai jenis data ke Elasticsearch dan Logstash. Kita boleh menggunakan Filebeat untuk mengumpul dan menghantar log daripada aplikasi PHP. Pasang Filebeat melalui arahan berikut:

    sudo apt-get install filebeat

    Konfigurasikan dalam fail filebeat.yml, seperti menetapkan laluan fail log, alamat output, dsb.

  4. Menulis Kod Pemantauan PHP
    Dalam aplikasi PHP, kita boleh menggunakan pelbagai kaedah untuk memantau status dan prestasi aplikasi. Berikut ialah contoh kod mudah untuk memantau masa tindak balas dan penggunaan CPU sesuatu perkhidmatan:

    <?php 
    $start = microtime(true);
    // 执行一些需要监控的功能或业务逻辑
    // ...
    $end = microtime(true);
    
    $executionTime = $end - $start;
    
    // 发送到Elasticsearch
    $data = array(
     'response_time' => $executionTime,
     'cpu_usage' => sys_getloadavg()[0] // 获取CPU使用率
    );
    
    $jsonData = json_encode($data);
    
    $file = '/path/to/log/file.log';
    file_put_contents($file, $jsonData . "
    ", FILE_APPEND);
    ?>
  5. Mengkonfigurasi Logstash
    Logstash ialah alat untuk pemprosesan log yang boleh menerima pelbagai sumber data, menapis dan mengubahnya . Kita boleh menggunakan Logstash untuk menghantar data log PHP ke Elasticsearch. Tambahkan kandungan berikut pada fail konfigurasi Logstash:

    input {
     file {
         path => "/path/to/log/file.log"
         codec => json
     }
    }
    
    output {
     elasticsearch {
         hosts => ["localhost:9200"]
         index => "php_monitoring"
     }
    }
  6. Mulakan dan lihat hasil pemantauan
    Mulakan Elasticsearch, Kibana, Filebeat dan Logstash, dan akses alamat Kibana (lalai ialah http://localhost:5601). Buat skema indeks baharu dalam Kibana, nyatakan nama indeks sebagai php_monitoring. Kemudian, anda boleh melihat data pemantauan PHP yang dikumpul dalam halaman "Discover" Kibana dan anda boleh melakukan pelbagai operasi visualisasi, seperti mencipta papan pemuka dan carta.

3. Reka bentuk penyelesaian penggera

Dalam sistem pemantauan, kita perlu menetapkan peraturan penggera untuk mencetuskan penggera apabila ambang tertentu dicapai. Berikut ialah contoh peraturan penggera mudah:

  1. Mengkonfigurasi ambang pencetus pemantauan
    Anda boleh menetapkan ambang pencetus pemantauan melalui alat "Pemantau" Kibana. Sebagai contoh, kita boleh menyediakan penggera untuk dicetuskan apabila masa tindak balas aplikasi PHP melebihi 5 saat.
  2. Tetapkan tindakan penggera
    Kita boleh memilih tindakan penggera yang berbeza, seperti menghantar e-mel, mesej teks atau antara muka panggilan. Berikut ialah contoh menghantar e-mel:

    input {
     search {
         request => {
             body => {
                 "query": {
                     "bool": {
                         "must": [
                             {
                                 "range": {
                                     "response_time": {
                                         "gte": 5
                                     }
                                 }
                             }
                         ]
                     }
                 }
             }
         }
     }
    }
    output {
     email {
         to => "your-email@example.com"
         subject => "PHP monitoring alert"
         body => "PHP application response time exceeds 5 seconds"
     }
    }

Di atas ialah langkah dan contoh kod khusus tentang cara menggunakan seni bina perkhidmatan mikro untuk melaksanakan pemantauan masa nyata dan fungsi PHP yang membimbangkan. Pemantauan masa nyata boleh dicapai melalui alatan seperti Elasticsearch, Kibana, dan Beats, manakala Logstash digunakan untuk menghantar data pemantauan ke Elasticsearch untuk penyimpanan dan analisis. Pada masa yang sama, kami juga memperkenalkan cara menetapkan peraturan penggera dan mencetuskan tindakan penggera. Saya harap artikel ini akan membantu pembaca dalam melaksanakan pemantauan perkhidmatan PHP dan membimbangkan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemantauan masa nyata dan membimbangkan fungsi PHP melalui perkhidmatan mikro?. 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
Artikel sebelumnya:Operator pelaksanaan PHPArtikel seterusnya:Operator pelaksanaan PHP