Pendahuluan
Prometheus adalah perangkat lunak pemantauan peristiwa sumber terbuka untuk aplikasi terdistribusi volume tinggi. Ini menampilkan metrik dan peringatan waktu nyata, kueri fleksibel, model tarik HTTP, dan merupakan pilihan yang baik untuk memantau kluster Kubernetes.
Meskipun Prometheus adalah aplikasi yang berdiri sendiri, menggunakannya dengan dasbor visualisasi membantu mempertahankan gambaran yang lebih baik tentang cluster Kubernetes. Pilihan populer untuk skenario ini adalah Grafana, perangkat lunak visualisasi open-source, yang mendukung Prometheus sebagai sumber data out-of-the-box.
Tutorial ini akan menunjukkan cara menginstal Grafana di cluster Kubernetes Anda, menghubungkannya ke Prometheus, dan mengatur data di dasbor.
Prasyarat
- Kluster Kubernetes
- alat baris perintah kubectl terpasang
- Prometheus diinstal dan disiapkan
Instal Grafana
Untuk menginstal Grafana di cluster Kubernetes, buat dan terapkan serangkaian yaml
file.
1. Mulailah dengan membuat ConfigMap dalam file berjudul grafana-datasource-config.yaml
:
nano grafana-datasource-config.yaml
File terdiri dari deklarasi berikut:
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-datasources
namespace: default
data:
prometheus.yaml: |-
{
"apiVersion": 1,
"datasources": [
{
"access":"proxy",
"editable": true,
"name": "prometheus",
"orgId": 1,
"type": "prometheus",
"url": "http://prometheus-service.monitoring.svc:9090",
"version": 1
}
]
}
2. Sesuaikan isi file agar sesuai dengan kebutuhan Anda dengan menentukan namespace yang Anda inginkan untuk menginstal Grafana.
3. Simpan dan keluar dari file.
4. Terapkan perubahan pada cluster Anda menggunakan kubectl:
kubectl create -f grafana-datasource-config.yaml
Output mengkonfirmasi pembuatan ConfigMap:
5. Selanjutnya, buat yaml
file untuk penerapan Grafana:
nano deployment.yaml
File berisi konfigurasi penerapan Grafana:
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: grafana
template:
metadata:
name: grafana
labels:
app: grafana
spec:
containers:
- name: grafana
image: grafana/grafana:latest
ports:
- name: grafana
containerPort: 3000
resources:
limits:
memory: "1Gi"
cpu: "1000m"
requests:
memory: 500M
cpu: "500m"
volumeMounts:
- mountPath: /var/lib/grafana
name: grafana-storage
- mountPath: /etc/grafana/provisioning/datasources
name: grafana-datasources
readOnly: false
volumes:
- name: grafana-storage
emptyDir: {}
- name: grafana-datasources
configMap:
defaultMode: 420
name: grafana-datasources
6. Simpan file, lalu terapkan ke cluster:
kubectl create -f deployment.yaml
Keluaran mengonfirmasi pembuatan penerapan:
7. Terakhir, buat service.yaml
file untuk mengkonfigurasi layanan Grafana:
nano service.yaml
File terdiri dari deklarasi berikut:
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: default
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '3000'
spec:
selector:
app: grafana
type: NodePort
ports:
- port: 3000
targetPort: 3000
nodePort: 32000
8. Sesuaikan file dengan kebutuhan cluster Anda, lalu simpan dan terapkan:
kubectl create -f service.yaml
Keluaran mengonfirmasi bahwa layanan berhasil dibuat:
9. Gunakan perintah kubectl port-forward untuk meneruskan layanan Grafana ke port 3000
:
kubectl port-forward svc/grafana 3000
10. Sekarang buka browser dan navigasikan ke http://localhost:3000/
.
11. Layar login Grafana muncul, menanyakan nama pengguna dan kata sandi Anda. Ketik admin
di kedua bidang dan klik Masuk .
12. Grafana meminta Anda untuk mengatur kata sandi baru, setelah itu halaman beranda ditampilkan.
Tambahkan Prometheus sebagai Sumber Data Grafana
Untuk mulai bekerja dengan Prometheus di Grafana, tambahkan Prometheus sebagai sumber data.
1. Di bilah sisi di sebelah kiri, arahkan kursor ke ikon roda gigi untuk membuka submenu konfigurasi.
2. Klik Sumber Data .
2. Halaman konfigurasi akan terbuka. Klik Tambahkan sumber data tombol.
3. Pilih Prometheus sebagai tipe sumber data dengan mengklik Pilih tombol di sebelah kanan.
4. Halaman konfigurasi untuk Prometheus terbuka. Di sini Anda menentukan nama sumber, URL dan port untuk layanan Prometheus, dan jenis akses (akses server adalah opsi default).
5. Setelah selesai, gulir ke bawah ke bagian bawah laman dan klik tombol Simpan &Uji tombol.
Grafana menguji koneksi dengan Prometheus dan selesai menambahkan sumber data.
Impor Statistik Prometheus sebagai Dasbor ke Grafana
Grafana mendukung Prometheus secara langsung dan Anda dapat dengan mudah mengakses dasbor Prometheus yang sudah jadi.
1. Navigasikan kembali ke Sumber Data bagian dan pilih Prometheus .
2. Buka Setelan menu tarik-turun.
3. Kemudian klik Dasbor .
4. Daftar dasbor yang tersedia muncul. Impor dasbor yang Anda inginkan dengan mengeklik tombol Impor tombol di sebelah kanan nama dasbor.
5. Untuk mengakses dasbor, arahkan kursor ke ikon empat kotak di bilah sisi kiri untuk menampilkan Dasbor menu.
6. Klik Kelola .
7. Pilih Prometheus dasbor yang ingin Anda kelola dari daftar.
Statistik dari Server Prometheus Anda
Dasbor Prometheus terdiri dari beberapa grafik status tunggal yang dijelaskan di bawah ini.
Grafik Stat Tunggal
Setelah Anda memilih Statistik Prometheus dasbor di Pengelolaan Dasbor halaman, statistik tampak terorganisir dalam panel.
Baris pertama terdiri dari panel berikut:
- Waktu beroperasi :Berapa lama waktu telah berlalu sejak server Prometheus dimulai
- Seri Memori Penyimpanan Lokal :Jumlah seri Prometheus yang saat ini disimpan dalam memori
- Panjang Antrian Penyimpanan Internal :Semakin rendah angka ini semakin baik. Pesan 'Kosong' berarti nomor antrian adalah nol.
Sampel yang diserap panel memberikan informasi tentang jumlah pesan sampel yang dicerna Prometheus dengan kecepatan 5 menit.
Metrik Pengikisan Prometheus
Metrik gesekan panel berada tepat di bawah panel yang diserap Sampel.
- Target Scrape panel menunjukkan frekuensi menggores target, yaitu, Prometheus, diukur selama lima menit terakhir, per deret waktu dalam vektor rentang.
- Durasi Pengikisan panel menunjukkan durasi goresan, diukur selama periode lima menit yang sama.
Durasi Evaluasi
Durasi Evaluasi Aturan panel yang ada di bawah panel metrik Pengikisan memberikan informasi tentang durasi semua evaluasi yang harus dijalankan.
Buat Dasbor Baru
Untuk membuat dasbor Grafana baru:
1. Navigasikan ke Dasbor halaman dan klik Dasbor Baru tombol.
2. Layar akan muncul di mana Anda dapat menambahkan panel dan baris kosong baru.
3. Layar baru muncul dengan satu panel tiruan.
Sesuaikan Dasbor Menggunakan Editor Kueri Prometheus
Untuk mengedit panel Grafana tertentu:
1. Klik judul panel untuk membuka menu tarik-turun.
2. Di menu, klik Edit .
3. Jendela edit muncul. Sesuaikan panel dengan memperkenalkan kueri baru atau memodifikasi yang sekarang. Kueri dilakukan menggunakan bahasa kueri Prometheus.
4. Metrik berikut tidak ditampilkan di dasbor Prometheus Grafana, tetapi berguna untuk memantau Prometheus:
prometheus_local_storage_memory_chunks
– Memantau potongan memori yang disimpan Prometheus di memori.prometheus_local_storage_memory_series
– Memantau rangkaian memori yang disimpan Prometheus dalam memori.prometheus_local_storage_ingested_samples_total
– Mengukur tingkat penyerapan sampel.prometheus_target_interval_length_seconds
– Mengukur jumlah waktu antara goresan target.prometheus_local_storage_chunk_ops_total
– Memantau kecepatan per detik dari semua operasi bongkahan penyimpanan Prometheus.
Gunakan Dasbor dan Plugin Premade
Grafana menawarkan banyak pilihan dasbor dan plugin siap pakai yang tersedia untuk diunduh di situs webnya. Untuk memasang dasbor siap pakai:
1. Unduh json
plugin plugin berkas.
2. Klik tombol Impor tombol dan ikuti petunjuk untuk mengunggah file ke Grafana.
3. Untuk menginstal plugin, login ke pod Grafana di cluster menggunakan kubectl exec
.
kubectl exec -it [grafana-pod] -- [shell]
4. Sekarang gunakan grafana-cli
alat baris perintah untuk menginstal plugin:
grafana-cli plugins install grafana-worldmap-panel
Plugin dipasang ke direktori plugin Grafana. Lokasi default adalah /var/lib/grafana/plugins
. Setelah plugin berhasil diinstal, secara otomatis tersedia di Grafana.