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
Muat turun fail binari dari tapak web rasmi Prometheus dan nyahzipnya ke direktori yang ditentukan.
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:
./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 kebergantunganimport "github.com/prometheus/client_golang/prometheus"
Tentukan metrikvar 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.
func init() {
prometheus.MustRegister(myCounter)}
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./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 PrometheusGrafana 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!