🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Panduan Administrasi
  • Home
  • Docs
  • Panduan Administrasi

  • Pemantauan, Peringatan & Log

  • Pemantauan

  • Menerapkan Layanan Pemantauan

Menerapkan Layanan Pemantauan pada Kubernetes

Topik ini menjelaskan cara menggunakan Prometheus untuk menerapkan layanan pemantauan untuk cluster Milvus di Kubernetes.

Memantau metrik dengan Prometheus

Metrik adalah indikator yang menyediakan informasi tentang status berjalannya sistem Anda. Misalnya, dengan metrik, Anda dapat memahami berapa banyak memori atau sumber daya CPU yang dikonsumsi oleh node data di Milvus. Dengan mengetahui kinerja dan status komponen dalam cluster Milvus Anda, Anda akan mendapatkan informasi yang lebih baik sehingga dapat mengambil keputusan yang lebih baik dan menyesuaikan alokasi sumber daya secara lebih tepat waktu.

Umumnya, metrik disimpan dalam basis data deret waktu (TSDB), seperti Prometheus, dan metrik direkam dengan stempel waktu. Dalam kasus pemantauan layanan Milvus, Anda dapat menggunakan Prometheus untuk menarik data dari titik akhir yang ditetapkan oleh eksportir. Prometheus kemudian mengekspor metrik dari setiap komponen Milvus di http://<component-host>:9091/metrics.

Namun, Anda mungkin memiliki beberapa replika untuk satu komponen, yang membuat konfigurasi manual Prometheus menjadi terlalu rumit. Oleh karena itu, Anda dapat menggunakan Prometheus Operator, sebuah ekstensi untuk Kubernetes, untuk pengelolaan instance pemantauan Prometheus secara otomatis dan efektif. Menggunakan Prometheus Operator akan menghemat kesulitan Anda dalam menambahkan target metrik dan penyedia layanan secara manual.

Definisi Sumber Daya Khusus (CRD) ServiceMonitor memungkinkan Anda untuk mendefinisikan secara deklaratif bagaimana sekumpulan layanan dinamis dimonitor. Hal ini juga memungkinkan pemilihan layanan mana yang akan dipantau dengan konfigurasi yang diinginkan menggunakan pilihan label. Dengan Prometheus Operator, Anda dapat memperkenalkan konvensi yang menentukan bagaimana metrik diekspos. Layanan baru dapat secara otomatis ditemukan mengikuti konvensi yang Anda tetapkan tanpa perlu konfigurasi ulang secara manual.

Gambar berikut mengilustrasikan alur kerja Prometheus.

Prometheus_architecture Prometheus_architecture

Prasyarat

Tutorial ini menggunakan kube-prometheus untuk menyelamatkan Anda dari kesulitan menginstal dan mengonfigurasi secara manual setiap komponen pemantauan dan peringatan.

Kube-prometheus mengumpulkan manifes Kubernetes, dasbor Grafana, dan aturan Prometheus yang digabungkan dengan dokumentasi dan skrip.

Sebelum menerapkan layanan pemantauan, Anda perlu membuat tumpukan pemantauan dengan menggunakan konfigurasi di direktori manifes kube-prometheus.

$ git clone https://github.com/prometheus-operator/kube-prometheus.git
$ cd kube-prometheus
$ kubectl apply --server-side -f manifests/setup
$ kubectl wait \
        --for condition=Established \
        --all CustomResourceDefinition \
        --namespace=monitoring
$ kubectl apply -f manifests/
Clusterrole prometheus-k8s default tidak dapat menangkap metrik milvus, perlu ditambal:
kubectl patch clusterrole prometheus-k8s --type=json -p='[{"op": "add", "path": "/rules/-", "value": {"apiGroups": [""], "resources": ["pods", "services", "endpoints"], "verbs": ["get", "watch", "list"]}}]'

Untuk menghapus stack, jalankan kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup.

Menerapkan layanan pemantauan di Kubernetes

1. Mengakses dasbor

Teruskan layanan Prometheus ke porta 9090, dan layanan Grafana ke porta 3000.

$ kubectl --namespace monitoring --address 0.0.0.0 port-forward svc/prometheus-k8s 9090
$ kubectl --namespace monitoring --address 0.0.0.0 port-forward svc/grafana 3000

2. Mengaktifkan ServiceMonitor

ServiceMonitor tidak diaktifkan untuk Milvus Helm secara default. Setelah menginstal Prometheus Operator di klaster Kubernetes, Anda dapat mengaktifkannya dengan menambahkan parameter metrics.serviceMonitor.enabled=true.

$ helm upgrade my-release milvus/milvus --set metrics.serviceMonitor.enabled=true --reuse-values

Ketika instalasi selesai, gunakan kubectl untuk memeriksa sumber daya ServiceMonitor.

$ kubectl get servicemonitor
NAME                           AGE
my-release-milvus              54s

Apa selanjutnya

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?