Bereitstellen von Überwachungsdiensten auf Kubernetes
In diesem Thema wird beschrieben, wie Sie Prometheus verwenden, um Überwachungsdienste für einen Milvus-Cluster auf Kubernetes bereitzustellen.
Überwachen von Metriken mit Prometheus
Metriken sind Indikatoren, die Informationen über den Betriebsstatus Ihres Systems liefern. Mit Metriken können Sie beispielsweise nachvollziehen, wie viel Arbeitsspeicher oder CPU-Ressourcen von einem Datenknoten in Milvus verbraucht werden. Wenn Sie die Leistung und den Status der Komponenten in Ihrem Milvus-Cluster kennen, sind Sie gut informiert und können daher bessere Entscheidungen treffen und die Ressourcenzuweisung rechtzeitig anpassen.
Im Allgemeinen werden die Metriken in einer Zeitseriendatenbank (TSDB) wie Prometheus gespeichert und mit einem Zeitstempel versehen. Bei der Überwachung von Milvus-Diensten können Sie Prometheus verwenden, um Daten von Endpunkten zu beziehen, die von Exporteuren festgelegt wurden. Prometheus exportiert dann die Metriken der einzelnen Milvus-Komponenten unter http://<component-host>:9091/metrics
.
Es kann jedoch sein, dass Sie mehrere Repliken für eine Komponente haben, was die manuelle Konfiguration von Prometheus zu kompliziert macht. Daher können Sie Prometheus Operator, eine Erweiterung für Kubernetes, für die automatisierte und effektive Verwaltung von Prometheus-Überwachungsinstanzen verwenden. Die Verwendung von Prometheus Operator erspart Ihnen das manuelle Hinzufügen von metrischen Zielen und Dienstanbietern.
Mit der benutzerdefinierten Ressourcendefinition (CRD) von ServiceMonitor können Sie deklarativ festlegen, wie eine dynamische Gruppe von Diensten überwacht wird. Sie ermöglicht auch die Auswahl der zu überwachenden Dienste mit der gewünschten Konfiguration unter Verwendung von Labels. Mit Prometheus Operator können Sie Konventionen einführen, die festlegen, wie Metriken offengelegt werden. Neue Dienste können automatisch gemäß der von Ihnen festgelegten Konvention erkannt werden, ohne dass eine manuelle Neukonfiguration erforderlich ist.
Die folgende Abbildung veranschaulicht den Prometheus-Workflow.
Prometheus_Architektur
Voraussetzungen
Dieses Tutorial verwendet kube-prometheus, um Ihnen die Installation und manuelle Konfiguration jeder Überwachungs- und Alarmierungskomponente zu ersparen.
Kube-prometheus sammelt Kubernetes-Manifeste, Grafana-Dashboards und Prometheus-Regeln in Kombination mit Dokumentation und Skripten.
Bevor Sie Überwachungsdienste bereitstellen, müssen Sie einen Überwachungsstapel erstellen, indem Sie die Konfiguration im Verzeichnis kube-prometheus manifests verwenden.
$ 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/
kubectl patch clusterrole prometheus-k8s --type=json -p='[{"op": "add", "path": "/rules/-", "value": {"apiGroups": [""], "resources": ["pods", "services", "endpoints"], "verbs": ["get", "watch", "list"]}}]'
Um einen Stack zu löschen, führen Sie kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup
aus.
Bereitstellen von Überwachungsdiensten auf Kubernetes
1. Zugriff auf die Dashboards
Leiten Sie den Prometheus-Dienst an den Port 9090
und den Grafana-Dienst an den Port 3000
weiter.
$ 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. Aktivieren Sie den ServiceMonitor
Der ServiceMonitor ist für Milvus Helm standardmäßig nicht aktiviert. Nach der Installation des Prometheus Operator im Kubernetes-Cluster können Sie ihn durch Hinzufügen des Parameters metrics.serviceMonitor.enabled=true
aktivieren.
$ helm upgrade my-release milvus/milvus --set metrics.serviceMonitor.enabled=true --reuse-values
Wenn die Installation abgeschlossen ist, verwenden Sie kubectl
, um die ServiceMonitor-Ressource zu überprüfen.
$ kubectl get servicemonitor
NAME AGE
my-release-milvus 54s
Wie geht es weiter?
- Wenn Sie Überwachungsdienste für den Milvus-Cluster implementiert haben, möchten Sie vielleicht auch lernen, wie man:
- Wenn Sie nach Informationen zur Skalierung eines Milvus-Clusters suchen:
- Lernen Sie einen Milvus-Cluster zu skalieren
- Wenn Sie an einem Upgrade der Milvus-Version interessiert sind,
- Lesen Sie den Leitfaden für das Upgrade von Milvus Cluster und den Leitfaden für das Upgrade von Milvus Standalone.