Dieser Artikel wurde von der Huawei Cloud Community geteilt: „ Cloudeye verbindet sich mit Prometheus, um eine umfassende Überwachung der Huawei Cloud zu implementieren .“ Der Autor: Sie können einen Freund finden.
1. Hintergrund
Der Cloudeye-Dienst bietet uns eine dreidimensionale Überwachungsplattform für elastische Cloud-Server, Breitband und andere Ressourcen. Helfen Sie uns, die Ressourcennutzung und den Geschäftsbetriebsstatus in der Huawei Cloud vollständig zu verstehen. Nachdem Sie den Huawei Cloud Cloudeye-Dienst mit Prometheus verbunden haben, können Sie das Prometheus-Ökosystem nutzen, um Daten vom Cloudeye-Dienst besser zu überwachen und zu analysieren.
2. Einführung
Verbinden Sie mithilfe von cloudeye-exporter den Huawei Cloud Cloudeye-Dienst mit dem Prometheus-Container im Huawei Cloud CCE-Cluster (Kubernetes-Cluster). Verwenden Sie dann das Prometheus-System, um die Betriebs- und Wartungsüberwachung der Leistungsdaten von Cloud-Ressourcen durchzuführen.
Hinweis: Dieser Exporter gilt nur für Huawei Cloud-Standorte.
3. Praktische Demonstration
Prometheus wird als Operator im Kubernetes-Cluster eingesetzt. Daher ist es auch erforderlich, ein Cloudeye-Exporter-Container-Image zu erstellen und es dann zu containerisieren und im Kubernetes-Cluster bereitzustellen.
3.1 Besorgen Sie sich das Cloudeye-Exporter-Installationspaket
1. Laden Sie die neueste Version von cloudeye-exporter herunter
Überprüfen Sie die Version der Plug-in-Releases ( https://github.com/huaweicloud/cloudeye-exporter/releases ), rufen Sie die Cloudeye-Exporter-Download-Adresse ab, laden Sie sie herunter, dekomprimieren Sie sie und installieren Sie sie.
mkdir cloudeye-exporter & cd cloudeye-exporter
wget https://github.com/huaweicloud/cloudeye-exporter/releases/download/v2.0.6/cloudeye-exporter.v2.0.6.tar.gz
2. Dekomprimieren
tar -xzvf cloudeye-exporter.v2.0.6.tar.gz
3.2 Containerbilder erstellen
1. Sie müssen eine Dockerfile-Datei schreiben. Centos wird hier als Basis-Image verwendet.
VON Centos KOPIEREN cloudeye-exporter logs.yml metric.yml /root/ ARBEITSVERZEICHNIS /root CMD ["/root/cloudeye-exporter"]
2. Erstellen Sie Container-Images
docker build -t swr.cn-north-4.myhuaweicloud.com/k8s-solution/cloudeye-exporter:v2.0.6 --platform=linux/amd64 .
3. Schieben Sie zum Spiegellager
Es wird empfohlen, das Huawei Cloud SWR Mirror Warehouse zu verwenden3.3 Konfigurieren Sie die Cloudeye-Exporter-Zugriffsauthentifizierung
1. Bearbeiten Sie die Datei „clouds.yml“, um die Informationen zur öffentlichen Cloud zu konfigurieren
Beim Start von cloudeye-exporter muss diese Konfigurationsdatei zur Zugriffsauthentifizierung von Cloud-Diensten verwendet werden.global: port: „:8087“ # Abhörport: 8087 bedeutet, dass der Abhörport 8087 auf allen Netzwerkschnittstellen geöffnet wird. Sie können auch eine IP angeben, um den internen Zugriff einzuschränken. Beispiel: 192.168.1.100:8087 scrape_batch_size: 300 Autor: auth_url: „https://iam.cn-north-4.myhuaweicloud.com/v3“ Projektname: „cn-north-4“ # Huawei Cloud-Projektname, der unter „Huawei Cloud->Unified Identity Authentication Service->Projekt“ angezeigt werden kann. access_key: „“ # IAM-Benutzerzugriffsschlüssel. Informationen zur Eingabe des verschlüsselten AK SK über die Befehlszeile finden Sie in Kapitel 3.1, um zu vermeiden, dass AK SK in der Konfigurationsdatei im Klartext konfiguriert wird. geheimer Schlüssel: "" Region: „cn-north-4“ #Regions-ID
2. Erstellen Sie Kubernetes-Geheimnisse basierend auf dieser Konfigurationsdatei
kubectl create secret generic clouds-exporter --from-file=clouds.yml -n monitoring
Bei der Containerbereitstellung muss diese Konfiguration in Form von Geheimnissen im Cloudeye-Exporter bereitgestellt werden
3.4 Cloudeye-Exporter im CCE-Cluster (k8s-Cluster) bereitstellen
1. Stellen Sie zunächst die Last und den Dienst bereit
apiVersion: apps/v1 Art: Bereitstellung Metadaten: Name: cloudeye-exporter Namensraum: Überwachung Etiketten: App: cloudeye-exporter Spezifikation: Nachbildungen: 1 Wähler: matchLabels: App: cloudeye-exporter Vorlage: Metadaten: Etiketten: App: cloudeye-exporter Spezifikation: Bände: - Name: Wolkenauge Geheimnis: SecretName: Clouds-Exporter imagePullSecrets: - Name: Standardgeheimnis Behälter: - Name: cloudeye-exporter Bild: swr.cn-north-4.myhuaweicloud.com/k8s-solution/cloudeye-exporter:v2.0.6 Häfen: - ContainerPort: 8087 Ressourcen: Grenzen: CPU: 500m Speicher: 1Gi Anfragen: CPU: 100m Speicher: 500Mi volumeMounts: - Name: Wolkenauge mountPath: „/root/clouds.yml“ Unterpfad: cloud.yml --- APIVersion: v1 Art: Service Metadaten: Name: cloudeye-exporter Namensraum: Überwachung Etiketten: App: cloudeye-exporter Spezifikation: Wähler: App: cloudeye-exporter Häfen: - Name: ces targetPort: 8087 #Business-Listening-Port Port: 8087 Protokoll: TCP Typ: ClusterIP
Erfolgreich bereitgestellt, überprüfen Sie die Pod-Informationen. Greifen Sie auf den Pod-Indikator-Endpunkt zu, um zu bestätigen, ob die Indikatorquelle Indikatoren verfügbar machen kann.
curl http://podIP:8087/metrics?services='SYS.VPC'
Die Cloudeye-Exporter-Pod-Instanz dient als Quelle für Prometheus-Crawling-Indikatoren und kann Überwachungsdaten offenlegen.
Überprüfen Sie den Dienst, um sicherzustellen, dass durch den Zugriff auf den Dienst Daten abgerufen werden können.
2. Passen Sie auf
Hinweis: cloudeye-exporter muss auf den Endpunkt des öffentlichen Netzwerks zugreifen: iam.huaweicloud.com . Wenn es sich bei der von Ihnen verwendeten Kuberntes-Plattform um einen CCE-Turbo-Cluster handelt, müssen Sie das öffentliche Netzwerk-Snat für das Container-Netzwerksegment konfigurieren. Andernfalls schlägt die Erfassung der Indikatordaten fehl.3.5 Prometheus stellt eine Verbindung zum Cloudeye-Exporter her, um Indikatoren zu erhalten
Ändern Sie die Dateikonfiguration prometheus.yml in prometheus. Weil Prometheus jetzt in der Prometheus-Operator-Form in k8s-Clustern bereitgestellt wird. Daher müssen wir ServiceMonitor schreiben, um Indikatoren zu erhalten.
1. Nehmen Sie als Beispiel die Überwachung der Huawei Cloud VPC- und ELB-Dienste
Die Erfassungsregeln cloudeye-exporter-servicemonitor.yaml lauten wie folgt:
API-Version: Monitoring.coreos.com/v1 Art: ServiceMonitor Metadaten: Name: cloudeye-exporter Namensraum: Überwachung Etiketten: App: cloudeye-exporter Spezifikation: Endpunkte: - Intervall: 1m scrapeTimeout: 1m Hafen: diese Schema: http Parameter: Dienste: ['SYS.VPC,SYS.ELB'] NamespaceSelector: matchNames: - Überwachung Wähler: matchLabels: App: cloudeye-exporter
2. Erstellen Sie die oben genannten Crawling-Regeln im Cluster. Warten Sie einen Moment, um zu beobachten, dass Prometheus erfolgreich gecrawlt wurde
3. Zu diesem Zeitpunkt hat cloudeye-exporter erfolgreich eine Verbindung zu Prometheus hergestellt.
3.6 Verbindung zum Grafana-Markt herstellen
Die Huawei Cloud Community bietet mehrere vorgefertigte Dashboards für Cloud-Dienste. Wir können es nutzen.
https://github.com/huaweicloud/cloudeye-exporter/tree/v2.0.6/grafana_dashboard/templates
Beispiel: Verwenden Sie das Dashboard des VPC-Cloud-Dienstes.
1. Laden Sie die JSON-Datei des Dashboards auf grafana hoch
Klicken Sie nach Auswahl der Datenquelle auf Importieren.
2. Erkennen Sie Anomalien
Sie werden feststellen, dass das Dashboard keine Daten generiert
API-Version: Monitoring.coreos.com/v1 Art: ServiceMonitor Metadaten: Name: cloudeye-exporter Namensraum: Überwachung Etiketten: App: cloudeye-exporter Spezifikation: Endpunkte: - Intervall: 1m scrapeTimeout: 1m Hafen: diese Schema: http Parameter: Dienste: ['SYS.VPC,SYS.ELB'] # Konfigurieren Sie diese Aufgabe, um Unternehmensprojektinformationen zur Verwendung im Dashboard der Huawei Cloud-Dienste zu erhalten - Intervall: 1m scrapeTimeout: 1m Hafen: diese Pfad: „/eps-info“ Schema: http NamespaceSelector: matchNames: - Überwachung Wähler: matchLabels: App: cloudeye-exporter
Warten Sie nach dem Aktualisieren der oben genannten Indikatorerfassungsregeln im Cluster eine Weile.
4. Gehen Sie zur Prometheus-Seite, um zu sehen, dass die neue Crawling-Aufgabe erfolgreich ausgeführt wurde.
5. Beobachten Sie Grafana erneut
Gehen Sie an dieser Stelle zum Grafana-Frontend, um das Dashboard anzuzeigen: Das Huawei Cloud VPC-Cloud-Service-Dashboard wurde erfolgreich angezeigt.
6. Importieren Sie das ELB Grafana-Dashboard
Auch Huawei Cloud ELB-Überwachungsinformationen wurden erfolgreich angezeigt
4. Erweiterung
Derzeit unterstützte Grafana-Dashboards sind:
- CSS für den Cloud-Suchdienst
- Cloud-Standleitung DCAAS
- Verteilter Cache-Dienst DCS
- Elastischer Cloud-Server ECS
- Elastischer Lastausgleich ELB
- Relationale Datenbank RDS
- Webanwendungs-Firewall WAF
- Elastische öffentliche IP- und Bandbreiten-VPC
Der Autor eines bekannten Open-Source-Projekts verlor seinen Job aufgrund von Manie – „Suche nach Geld online“ No Star, No Fix 2023 Die zehn besten technischen Errungenschaften der Welt werden veröffentlicht: ChatGPT, Hongmeng Operating System, China Space Station und andere ausgewählte ByteDance wurden von OpenAI „verboten“. Google kündigt die beliebteste Chrome-Erweiterung im Jahr 2023 an Akademiker Ni Guangnan: Ich hoffe, dass inländische SSD importierte HDD ersetzen wird, um Xiaomi-Mobiltelefon BL zu entsperren? Stellen Sie zunächst eine Interviewfrage für Java-Programmierer. Arm hat mehr als 70 chinesische Ingenieure entlassen und plant, sein chinesisches Softwaregeschäft neu zu organisieren. OpenKylin 2.0 enthüllt | UKUI 4.10 Doppeldiamantendesign, schön und hochwertig! Manjaro 23.1 veröffentlicht, Codename „Vulcan“