Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menggunakan Prometheus dan Grafana untuk melaksanakan pemantauan dan membimbangkan di Beego

Menggunakan Prometheus dan Grafana untuk melaksanakan pemantauan dan membimbangkan di Beego

WBOY
WBOYasal
2023-06-22 09:06:09952semak imbas

Dengan peningkatan pengkomputeran awan dan perkhidmatan mikro, kerumitan aplikasi telah meningkat. Oleh itu, pemantauan dan diagnostik menjadi salah satu tugas pembangunan yang penting. Dalam hal ini, Prometheus dan Grafana ialah dua alat pemantauan dan visualisasi sumber terbuka yang popular yang boleh membantu pembangun memantau dan menganalisis aplikasi dengan lebih baik.

Artikel ini akan meneroka cara menggunakan Prometheus dan Grafana untuk melaksanakan pemantauan dan membimbangkan dalam rangka kerja Beego.

1. Pengenalan

Beego ialah rangka kerja aplikasi Web pembangunan pesat sumber terbuka yang menyokong seni bina MVC dan mempunyai fungsi yang sama seperti penghalaan, ORM dan Sesi Ia cekap, mudah dan fleksibel . Ia telah Digunakan oleh lebih ramai pembangun.

Prometheus ialah sistem dan alat pemantauan perkhidmatan yang mengumpul pelbagai metrik dan menyimpannya dalam pangkalan data siri masa. Grafana ialah platform visualisasi sumber terbuka yang sangat popular yang boleh berhubung dengan pelbagai sumber data untuk mencipta papan pemuka yang cantik dan boleh disesuaikan.

Menggunakan Prometheus dan Grafana dalam rangka kerja Beego untuk melaksanakan pemantauan dan membimbangkan membolehkan kami memahami dengan lebih baik status berjalan aplikasi dan bertindak balas dengan segera apabila pengecualian berlaku dalam aplikasi.

2. Pasang dan konfigurasikan Prometheus

  1. Muat turun Prometheus

Muat turun fail binari dari tapak web rasmi Prometheus dan nyahzipnya ke direktori yang ditentukan.

  1. Mengkonfigurasi Prometheus

Buat fail konfigurasi prometheus.yml dalam direktori pemasangan Prometheus dan konfigurasikannya seperti berikut:

global:
scrape_interval : 15s
evaluation_interval: 15s

scrape_configs:

  • job_name: 'beego'
    scrape_interval: 5s
    🎜>static_configs:

    sasaran: ['localhost:8080']
  • Antaranya, konfigurasi global mentakrifkan kekerapan mengumpul penunjuk, dan konfigurasi scrape_configs mentakrifkan Pekerjaan yang akan dipantau dan Kekerapan pengumpulan dan alamat pemantauan.

Mulakan Prometheus
  1. Masukkan direktori pemasangan Prometheus dalam terminal arahan dan masukkan arahan berikut untuk memulakan Prometheus:

./prometheus --config .file =prometheus.yml

Prometheus akan dimulakan pada masa ini dan mendengar port 9090. Anda boleh mengakses antara muka web Prometheus melalui http://localhost:9090.

3. Gunakan Prometheus dalam Beego

Tambah kebergantungan
  1. Tambah kebergantungan pada perpustakaan prometheus/client_golang dalam aplikasi Beego supaya program boleh berfungsi biasanya Menggunakan Prometheus:

import "github.com/prometheus/client_golang/prometheus"

Tentukan metrik
  1. Ditakrifkan dalam pengawal Beego Penunjuk aplikasi yang perlu dipantau, contohnya:

var myCounter = prometheus.NewCounter(prometheus.CounterOpts{

Nama: "my_counter",

Bantuan: "Ini kaunter saya",
})

Antaranya, fungsi NewCounter digunakan untuk mencipta kaunter bernama my_counter dan mentakrifkan maklumat bantuan penunjuk.

Daftar Metrik
  1. Dalam fungsi init aplikasi Beego, daftarkan metrik dan daftarkannya dengan Prometheus:

func init() {

prometheus.MustRegister(myCounter)

}

Penunjuk eksport
  1. Selepas menentukan penunjuk dan mendaftarkannya dengan Prometheus, anda perlu mengeksport nilai penunjuk dalam aplikasi. Dalam pengawal aplikasi Beego, tambah baris kod berikut untuk menambah nilai penunjuk:

myCounter.Inc()

Barisan kod di atas akan dipanggil apabila setiap permintaan pengendali melengkapkan , untuk menambah nilai pembilang.

4. Pasang dan konfigurasikan Grafana

Muat turun dan pasang Grafana
  1. Muat turun fail binari terbaharu dari laman web rasmi Grafana dan nyahzipnya ke yang ditentukan direktori.

Mulakan Grafana
  1. Masukkan direktori pemasangan Grafana dalam terminal arahan dan masukkan arahan berikut untuk memulakan Grafana:

./bin/grafana- web pelayan

Grafana akan dimulakan pada masa ini dan mendengar port 3000. Anda boleh mengakses antara muka web Grafana melalui http://localhost:3000.

Tambah sumber data Prometheus
  1. Dalam antara muka web Grafana, pilih Konfigurasi Sumber Data (Sumber Data) dan pilih sumber data Prometheus. Dalam konfigurasi sumber data, tentukan alamat Prometheus (http://localhost:9090) dan parameter pertanyaan.

Buat Papan Pemuka
  1. Pilih Cipta Papan Pemuka dalam antara muka web Grafana dan pilih Tambah Panel. Dalam konfigurasi panel tambahan, pilih penunjuk untuk dipaparkan dan jenis carta, contohnya:

Grafana boleh mencipta pelbagai carta dan papan pemuka supaya pembangun boleh memantau dan menganalisis maklumat penunjuk dengan lebih baik.

5. Penggera

Sebaik sahaja kami menemui kelainan dalam aplikasi, kami perlu menghantar penggera tepat pada masanya. Grafana menyediakan keupayaan untuk menyepadukan dengan pelbagai alat penggera, dan boleh menghantar pemberitahuan penggera ke Slack, E-mel dan saluran lain.

Dalam antara muka web Grafana, pilih Makluman dan buat makluman baharu. Tentukan peraturan dan saluran pemberitahuan penggera dalam penggera.

6. Kesimpulan

Artikel ini memperkenalkan cara menggunakan Prometheus dan Grafana untuk melaksanakan pemantauan dan membimbangkan dalam rangka kerja Beego. Melalui Prometheus, status berjalan aplikasi boleh diindeks dan perubahan indeks boleh dipantau dalam masa nyata. Grafana boleh menyediakan pembangun dengan keupayaan untuk memaparkan maklumat penunjuk dalam papan pemuka visual dan menyepadukan dengan pelbagai alat penggera. Melalui gabungan penggunaan kedua-dua alatan ini, status pengendalian aplikasi Beego dapat dipantau dengan lebih baik dan kebolehpercayaan dan kestabilan aplikasi dapat dipertingkatkan.

Atas ialah kandungan terperinci Menggunakan Prometheus dan Grafana untuk melaksanakan pemantauan dan membimbangkan di Beego. 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