Pendahuluan
Halo semuanya! Hari ini kita akan berbicara tentang pemantauan real-time dari produk
Atlassian .
Pertama, mari kita tentukan apa itu pemantauan dan mengapa itu diperlukan untuk produk-produk
Atlassian .
Pemantauan program digunakan untuk melacak kemajuan dan hasil suatu program. Dengan kata lain, ini adalah proses yang secara real time dapat menampilkan informasi tentang status produk perangkat lunak.
Kapan itu berguna untuk produk
Atlassian ?
Perhatikan contoh-contoh berikut:
- Anda ingin tahu bagaimana memperbarui produk atau plugin mempengaruhi kinerja sistem;
- Anda ingin tahu tentang keadaan besi dan memori dalam berbagai kondisi dan pada titik waktu tertentu. Misalnya, bagaimana meningkatkan jumlah pengguna atau mengubah waktu hari mempengaruhi sistem;
- Anda ingin menonton seberapa aktif sistem secara keseluruhan digunakan. Misalnya, jumlah total tugas di Jira atau dalam 1 jam;
- Anda ingin menetapkan pengingat pada tanggal kedaluwarsa lisensi;
- Anda ingin mengetahui jumlah ruang disk yang digunakan untuk menyimpan dokumen.
Saya juga ingin tidak hanya menerima informasi dalam bentuk yang disiapkan, tetapi juga dapat mengirim pemberitahuan jika sesuatu terjadi sesuai dengan skenario yang salah. Di sini
Prometheus dan pengekspornya untuk produk-produk
Atlassian akan membantu kami.
Arsitektur Solusi
Prometheus adalah alat untuk memantau puluhan ribu layanan secara bersamaan. Server
Prometheus membaca target pada interval yang Anda tentukan untuk mengumpulkan metrik dan menyimpannya dalam database deret waktu. Untuk mengumpulkan metrik, model tarikan digunakan. Selain itu, ada komponen
Alert Manager yang dapat mengirim pemberitahuan ke berbagai saluran jika aturan tertentu berdasarkan metrik telah berfungsi. Anda dapat menemukan informasi terperinci dalam bahasa Rusia di
sini dan di
sini .
Eksportir
Prometheus adalah agen yang mengumpulkan metrik langsung dari entitas (server sebagai keseluruhan atau aplikasi tertentu) yang perlu dipantau.
Prometheus memiliki opsi ekspansi yang kaya, jadi ada eksportir untuk sebagian besar aplikasi populer.
[jira | pertemuan | bitbucket | bamboo] _exporter berfungsi sebagai berikut:
- Mengambil data dari basis data produk
- Mengambil data menggunakan Java API standar
- Menambahkan filter ke permintaan HTTP
- mengumpulkan metrik jmx.
Contoh instalasi cepat
Prometheus / Grafana di
Docker dilaksanakan oleh
Stefan Prodan dan tersedia di
sini .
Instalasi dan konfigurasi eksportir
Setelah Anda menginstal
plugin , Anda segera mendapatkan tautan untuk metrik:
baseUrl / plugins / servlet / prometheus / metrics . Juga dimungkinkan untuk mengkonfigurasi kunci keamanan.
Selanjutnya, di
prometheus.yml, Anda perlu menambahkan alamat untuk mendapatkan metrik.
Misalnya, untuk
Jira :
- job_name: 'jira' scheme: https # change to http if don't you have https metrics_path: '/jira/plugins/servlet/prometheus/metrics' static_configs: - targets: ['myhost:2990'] # Jira host and port you serve
Integrasi selesai, bisa Anda gunakan.
Contoh metrik dan kueri
Anda dapat melihat daftar semua metrik dalam dokumentasi plugin:
Jira ,
Confluence ,
Bitbucket ,
Bamboo .
Contoh permintaan:
- Waktu aktif:
jvm_uptime_gauge{job="jira"}
- Waktu eksekusi permintaan server:
(sum(rate(jira_request_duration_on_path_sum[1m])) by (path)) / (sum(rate(jira_request_duration_on_path_count[1m])) by (path))
- Total jumlah tugas:
jira_total_issues_gauge
- Jumlah tampilan dasbor:
sum(increase(jira_dashboard_view_count[1h]))
Anda dapat membaca lebih lanjut tentang membangun kueri di
sini .
Dasbor Grafana
Anda dapat menggunakan
Grafana sebagai komponen pihak ketiga untuk memvisualisasikan metrik yang disimpan dalam basis data time series
Prometheus . Ada beberapa implementasi yang sudah jadi di situs
web resmi. Misalnya, dasbor untuk
Jira dapat ditemukan di
tautan ini.

Fitur
Saya berencana untuk menambahkan kemampuan untuk mendefinisikan metrik khusus menggunakan
Groovy , serta dukungan penuh untuk
Service Desk . Dengan demikian, Anda dapat menambahkan metrik khusus tidak hanya untuk produk itu sendiri, tetapi juga untuk plugin lainnya.
Semua
eksportir terbuka dan aktif berkembang. Jika Anda memiliki ide untuk perbaikan atau ekspansi, silakan membuat tugas (
Jira ,
Confluence ,
Bitbucket ,
Bamboo ) dan / atau melakukan permintaan-tarik.
Kesimpulan
Jika instalasi
Atlassian Anda cukup besar dan Anda perlu memastikan operasi terus menerus, Anda pasti perlu pemantauan. Dan bagaimana - putuskan sendiri.
Prometheus , sebagai salah satu opsi yang, tidak diragukan lagi, akan menyederhanakan hidup Anda.
Terima kasih atas perhatian anda!