GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Grafana Prometheus-Dashboard-Tutorial

Einführung

Prometheus ist eine Open-Source-Ereignisüberwachungssoftware für verteilte Anwendungen mit hohem Volumen. Es bietet Echtzeitmetriken und -warnungen, flexible Abfragen, ein HTTP-Pull-Modell und ist eine gute Wahl für die Überwachung von Kubernetes-Clustern.

Während Prometheus eine eigenständige Anwendung ist, hilft die Verwendung mit einem Visualisierungs-Dashboard, einen besseren Überblick über einen Kubernetes-Cluster zu behalten. Eine beliebte Wahl für dieses Szenario ist Grafana, eine Open-Source-Visualisierungssoftware, die Prometheus standardmäßig als Datenquelle unterstützt.

Dieses Tutorial zeigt Ihnen, wie Sie Grafana in Ihrem Kubernetes-Cluster installieren, mit Prometheus verbinden und Daten in Dashboards organisieren.

Voraussetzungen

  • Kubernetes-Cluster
  • kubectl-Befehlszeilentool installiert
  • Prometheus installiert und eingerichtet

Grafana installieren

Um Grafana auf einem Kubernetes-Cluster zu installieren, erstellen und wenden Sie eine Reihe von yaml an Dateien.

1. Erstellen Sie zunächst eine ConfigMap in einer Datei mit dem Titel grafana-datasource-config.yaml :

nano grafana-datasource-config.yaml

Die Datei besteht aus den folgenden Deklarationen:

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. Passen Sie den Inhalt der Datei an Ihre Bedürfnisse an, indem Sie den Namensraum angeben, in dem Sie Grafana installieren möchten.

3. Speichern und beenden Sie die Datei.

4. Wenden Sie die Änderungen mit kubectl auf Ihren Cluster an:

kubectl create -f grafana-datasource-config.yaml

Die Ausgabe bestätigt die Erstellung der ConfigMap:


5. Erstellen Sie als Nächstes eine yaml Datei für die Grafana-Bereitstellung:

nano deployment.yaml

Die Datei enthält die Grafana-Bereitstellungskonfiguration:

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. Speichern Sie die Datei und wenden Sie sie dann auf den Cluster an:

kubectl create -f deployment.yaml

Die Ausgabe bestätigt die Bereitstellungserstellung:


7. Zuletzt erstellen Sie die service.yaml Datei zum Konfigurieren des Grafana-Dienstes:

nano service.yaml

Die Datei besteht aus den folgenden Deklarationen:

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. Passen Sie die Datei an die Bedürfnisse Ihres Clusters an, speichern Sie sie und wenden Sie sie an:

kubectl create -f service.yaml

Die Ausgabe bestätigt, dass der Dienst erfolgreich erstellt wurde:


9. Verwenden Sie den Befehl kubectl port-forward, um den Grafana-Dienst an Port 3000 weiterzuleiten :

kubectl port-forward svc/grafana 3000


10. Öffnen Sie nun einen Browser und navigieren Sie zu http://localhost:3000/ .

11. Der Anmeldebildschirm von Grafana erscheint und fragt nach Ihrem Benutzernamen und Passwort. Geben Sie admin ein in beide Felder ein und klicken Sie auf Anmelden .


12. Grafana fordert Sie auf, ein neues Passwort festzulegen, woraufhin die Startseite angezeigt wird.

Prometheus als Grafana-Datenquelle hinzufügen

Um mit Prometheus in Grafana zu arbeiten, fügen Sie Prometheus als Datenquelle hinzu.

1. Bewegen Sie den Mauszeiger in der linken Seitenleiste über das Zahnradsymbol, um das Konfigurationsuntermenü anzuzeigen.

2. Klicken Sie auf Datenquellen .


2. Eine Konfigurationsseite wird geöffnet. Klicken Sie auf Datenquelle hinzufügen Schaltfläche.


3. Wählen Sie Prometheus als Datenquellentyp aus, indem Sie auf Auswählen klicken Schaltfläche auf der rechten Seite.


4. Die Konfigurationsseite für Prometheus wird geöffnet. Hier geben Sie den Namen der Quelle, die URL und den Port für den Prometheus-Dienst und die Art des Zugriffs (Serverzugriff ist die Standardoption) an.


5. Wenn Sie fertig sind, scrollen Sie zum Ende der Seite und klicken Sie auf Speichern und testen Schaltfläche.

Grafana testet die Verbindung mit Prometheus und schließt das Hinzufügen der Datenquelle ab.

Prometheus-Statistiken als Dashboard in Grafana importieren

Grafana unterstützt Prometheus sofort und Sie können einfach auf das vorgefertigte Prometheus-Dashboard zugreifen.

1. Navigieren Sie zurück zu den Datenquellen Abschnitt und wählen Sie Prometheus aus .

2. Öffnen Sie die Einstellungen Dropdown-Menü.

3. Klicken Sie dann auf Dashboards .


4. Eine Liste der verfügbaren Dashboards wird angezeigt. Importieren Sie das gewünschte Dashboard, indem Sie auf Importieren klicken Schaltfläche rechts neben dem Dashboard-Namen.


5. Um auf das Dashboard zuzugreifen, bewegen Sie den Mauszeiger über das Symbol mit den vier Quadraten in der linken Seitenleiste, um die Dashboards anzuzeigen Menü.

6. Klicken Sie auf Verwalten .

7. Wählen Sie den Prometheus aus Dashboard, das Sie verwalten möchten, aus der Liste.

Statistiken von Ihrem Prometheus-Server

Das Prometheus-Dashboard besteht aus mehreren Diagrammen mit einzelnen Statistiken, die unten beschrieben werden.

Einzelstatistikdiagramme

Nachdem Sie die Prometheus-Statistiken ausgewählt haben Dashboard in der Dashboard-Verwaltung Seite erscheinen die Statistiken in Panels organisiert.

Die erste Reihe besteht aus den folgenden Feldern:

  • Verfügbarkeit :Wie viel Zeit ist seit dem Start des Prometheus-Servers vergangen
  • Local Storage Memory-Serie :Die Anzahl der Serien, die Prometheus derzeit im Speicher hält
  • Interne Speicherwarteschlangenlänge :Je niedriger diese Zahl, desto besser. Die Meldung „Leer“ bedeutet, dass die Warteschlangennummer Null ist.

Die aufgenommenen Proben Panel liefert Informationen über die Anzahl der Beispielnachrichten, die Prometheus mit einer Rate von 5 Minuten aufgenommen hat.

Prometheus Scrape-Metriken

Scrape-Metriken Panels befinden sich direkt unter dem Panel „Ingested Samples“.

  • Die Zielkratzer Das Feld zeigt die Häufigkeit des Schabens des Ziels, d. h. Prometheus, gemessen in den letzten fünf Minuten, pro Zeitreihe im Entfernungsvektor.
  • Die Scrap-Dauer Panel zeigt die Dauer der Kratzer, gemessen über den gleichen Zeitraum von fünf Minuten.

Evaluierungsdauer

Die Dauer der Regelauswertung Das Panel unterhalb der Scrape-Metrikpanels bietet Informationen über die Länge aller auszuführenden Auswertungen.

Neues Dashboard erstellen

So erstellen Sie ein neues Grafana-Dashboard:

1. Navigieren Sie zu den Dashboards Seite und klicken Sie auf Neues Dashboard Schaltfläche.


2. Es erscheint ein Bildschirm, auf dem Sie neue leere Felder und Zeilen hinzufügen können.


3. Ein neuer Bildschirm erscheint mit einem einzelnen Dummy-Panel.

Passen Sie das Dashboard mit dem Prometheus-Abfrage-Editor an

So bearbeiten Sie ein bestimmtes Grafana-Bedienfeld:

1. Klicken Sie auf den Titel des Bereichs, um ein Dropdown-Menü zu öffnen.

2. Klicken Sie im Menü auf Bearbeiten .


3. Das Bearbeitungsfenster erscheint. Passen Sie Panels an, indem Sie neue Abfragen einführen oder die aktuellen ändern. Die Abfrage erfolgt mit der Prometheus-Abfragesprache.


4. Die folgenden Metriken sind nicht im vorgefertigten Prometheus-Dashboard von Grafana enthalten, sind aber für die Überwachung von Prometheus nützlich:

  • prometheus_local_storage_memory_chunks – Überwacht Speicherblöcke, die Prometheus im Speicher speichert.
  • prometheus_local_storage_memory_series – Überwacht Speicherserien, die Prometheus im Speicher speichert.
  • prometheus_local_storage_ingested_samples_total – Misst die Aufnahmerate für die Proben.
  • prometheus_target_interval_length_seconds – Misst die Zeitspanne zwischen Zielabtastungen.
  • prometheus_local_storage_chunk_ops_total – Überwacht die Rate pro Sekunde aller Prometheus-Storage-Chunk-Operationen.

Verwenden Sie vorgefertigte Dashboards und Plugins

Grafana bietet eine große Auswahl an vorgefertigten Dashboards und Plugins, die auf seiner Website heruntergeladen werden können. So installieren Sie ein vorgefertigtes Dashboard:

1. Laden Sie den json des Plugins herunter Datei.

2. Klicken Sie auf Importieren und befolgen Sie die Anweisungen zum Hochladen der Datei in Grafana.


3. Um Plugins zu installieren, melden Sie sich mit kubectl exec beim Grafana-Pod im Cluster an .

kubectl exec -it [grafana-pod] -- [shell]


4. Verwenden Sie nun das grafana-cli Befehlszeilentool zum Installieren des Plugins:

grafana-cli plugins install grafana-worldmap-panel


Das Plug-in wird im Plug-in-Verzeichnis von Grafana installiert. Der Standardspeicherort ist /var/lib/grafana/plugins . Sobald das Plugin erfolgreich installiert wurde, ist es automatisch in Grafana verfügbar.


Cent OS
  1. Migration von CentOS 8 auf Rocky Linux 8:Eine Schritt-für-Schritt-Anleitung

  2. Nagios-Trouble-Shooting-Tutorial

  3. Überwachen Sie den Linux-Server mit Prometheus und Grafana

  4. Überwachen Sie Linux-Server mit Prometheus und Grafana

  5. So installieren Sie Web2py unter CentOS 7

So installieren Sie Prometheus und node_exporter unter CentOS 7

Linux mktemp Command Tutorial für Anfänger (5 Beispiele)

Installieren und konfigurieren Sie den FreeIPA-Server unter CentOS 8

So installieren Sie Grafana unter CentOS 8

So installieren Sie Prometheus unter CentOS 8

Verwendung von Grafana &Prometheus Kubernetes Cluster Monitoring