GNU/Linux >> Linux Esercitazione >  >> Cent OS

Tutorial dashboard di Grafana Prometheus

Introduzione

Prometheus è un software di monitoraggio degli eventi open source per applicazioni distribuite ad alto volume. È dotato di metriche e avvisi in tempo reale, query flessibili, un modello pull HTTP ed è una buona scelta per il monitoraggio dei cluster Kubernetes.

Sebbene Prometheus sia un'applicazione autonoma, il suo utilizzo con un dashboard di visualizzazione aiuta a mantenere una migliore panoramica di un cluster Kubernetes. Una scelta popolare per questo scenario è Grafana, un software di visualizzazione open source, che supporta Prometheus come fonte di dati pronta all'uso.

Questo tutorial ti mostrerà come installare Grafana nel tuo cluster Kubernetes, collegarlo a Prometheus e organizzare i dati nei dashboard.

Prerequisiti

  • Gruppo Kubernetes
  • strumento da riga di comando kubectl installato
  • Prometheus installato e configurato

Installa Grafana

Per installare Grafana su un cluster Kubernetes, crea e applica una serie di yaml file.

1. Inizia creando una ConfigMap in un file intitolato grafana-datasource-config.yaml :

nano grafana-datasource-config.yaml

Il file è composto dalle seguenti dichiarazioni:

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. Modifica il contenuto del file in base alle tue esigenze specificando lo spazio dei nomi in cui desideri installare Grafana.

3. Salva ed esci dal file.

4. Applica le modifiche al tuo cluster utilizzando kubectl:

kubectl create -f grafana-datasource-config.yaml

L'output conferma la creazione della ConfigMap:


5. Quindi, crea un yaml file per la distribuzione Grafana:

nano deployment.yaml

Il file contiene la configurazione della distribuzione 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. Salva il file, quindi applicalo al cluster:

kubectl create -f deployment.yaml

L'output conferma la creazione della distribuzione:


7. Infine, crea il service.yaml file per configurare il servizio Grafana:

nano service.yaml

Il file è composto dalle seguenti dichiarazioni:

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. Adatta il file alle esigenze del tuo cluster, quindi salvalo e applicalo:

kubectl create -f service.yaml

L'output conferma che il servizio è stato creato correttamente:


9. Usa il comando kubectl port-forward per inoltrare il servizio Grafana alla porta 3000 :

kubectl port-forward svc/grafana 3000


10. Ora apri un browser e vai a http://localhost:3000/ .

11. Viene visualizzata la schermata di accesso di Grafana, che richiede nome utente e password. Digita admin in entrambi i campi e fai clic su Accedi .


12. Grafana ti chiede di impostare una nuova password, dopodiché viene visualizzata la home page.

Aggiungi Prometeo come origine dati Grafana

Per iniziare a lavorare con Prometheus in Grafana, aggiungi Prometheus come origine dati.

1. Nella barra laterale a sinistra, passa con il mouse sopra l'icona della ruota dentata per visualizzare il sottomenu di configurazione.

2. Fare clic su Sorgenti dati .


2. Si apre una pagina di configurazione. Fai clic su Aggiungi origine dati pulsante.


3. Seleziona Prometeo come tipo di origine dati facendo clic su Seleziona pulsante a destra.


4. Si apre la pagina di configurazione per Prometheus. Qui specifichi il nome della sorgente, l'URL e la porta per il servizio Prometheus e il tipo di accesso (l'accesso al server è l'opzione predefinita).


5. Al termine, scorri verso il basso fino alla fine della pagina e fai clic su Salva e verifica pulsante.

Grafana verifica la connessione con Prometheus e finisce di aggiungere l'origine dati.

Importa le statistiche di Prometheus come dashboard in Grafana

Grafana supporta Prometheus pronto all'uso e puoi accedere facilmente alla dashboard Prometheus premade.

1. Torna alle Origini dati sezione e seleziona Prometheus .

2. Apri le Impostazioni menu a tendina.

3. Quindi fare clic su Dashboard .


4. Viene visualizzato un elenco di dashboard disponibili. Importa la dashboard che desideri facendo clic su Importa pulsante a destra del nome della dashboard.


5. Per accedere alla dashboard, passa con il mouse sopra l'icona dei quattro quadrati nella barra laterale sinistra per visualizzare le Dashboard menu.

6. Fai clic su Gestisci .

7. Seleziona Prometheus dashboard che desideri gestire dall'elenco.

Statistiche dal tuo server Prometheus

La dashboard di Prometheus è composta da diversi grafici a statistica singola descritti di seguito.

Grafici statistici singoli

Dopo aver selezionato le Statistiche Prometeo dashboard nella Gestione dashboard pagina, le statistiche appaiono organizzate in pannelli.

La prima riga è composta dai seguenti pannelli:

  • Tempo di attività :Quanto tempo è trascorso dall'avvio del server Prometheus
  • Serie di memoria di archiviazione locale :Il numero di serie attualmente in memoria di Prometheus
  • Lunghezza della coda di archiviazione interna :Più basso è questo numero, meglio è. Il messaggio "Vuoto" significa che il numero di coda è zero.

I campioni acquisiti fornisce informazioni sul numero di messaggi di esempio che Prometheus ha ingerito alla velocità di 5 minuti.

Metriche di raschiamento di Prometeo

Metriche di scraping i pannelli sono appena sotto il pannello Campioni importati.

  • I raschi bersaglio il pannello mostra la frequenza di raschiamento del bersaglio, ovvero Prometeo, misurata negli ultimi cinque minuti, per serie temporale nel vettore di intervallo.
  • La durata dello scraping pannello mostra la durata degli scrap, misurata nello stesso periodo di cinque minuti.

Durata delle valutazioni

La Durata della valutazione delle regole il pannello che si trova sotto i pannelli delle metriche Scrape fornisce informazioni sulla durata di tutte le valutazioni da eseguire.

Crea una nuova dashboard

Per creare una nuova dashboard Grafana:

1. Vai alle Dashboard pagina e fai clic su Nuova dashboard pulsante.


2. Viene visualizzata una schermata in cui è possibile aggiungere nuovi pannelli e righe vuoti.


3. Viene visualizzata una nuova schermata con un unico pannello fittizio.

Personalizza il dashboard utilizzando l'editor di query Prometheus

Per modificare un pannello Grafana specifico:

1. Fai clic sul titolo del pannello per aprire un menu a discesa.

2. Nel menu, fai clic su Modifica .


3. Viene visualizzata la finestra di modifica. Personalizza i pannelli introducendo nuove query o modificando quelle correnti. L'interrogazione viene eseguita utilizzando il linguaggio di query Prometheus.


4. Le seguenti metriche non sono presenti nella dashboard Prometheus premade di Grafana, ma sono utili per monitorare Prometheus:

  • prometheus_local_storage_memory_chunks – Monitora i blocchi di memoria che Prometheus memorizza in memoria.
  • prometheus_local_storage_memory_series – Monitora la serie di memorie che Prometheus memorizza in memoria.
  • prometheus_local_storage_ingested_samples_total – Misura la velocità di ingestione dei campioni.
  • prometheus_target_interval_length_seconds – Misura la quantità di tempo tra gli scrap del target.
  • prometheus_local_storage_chunk_ops_total – Monitora la frequenza al secondo di tutte le operazioni sui blocchi di archiviazione Prometheus.

Utilizza dashboard e plug-in predefiniti

Grafana offre un'ampia selezione di dashboard e plug-in predefiniti disponibili per il download sul proprio sito Web. Per installare una dashboard predefinita:

1. Scarica il json del plug-in file.

2. Fare clic su Importa e segui le istruzioni per caricare il file su Grafana.


3. Per installare i plugin, accedi al pod Grafana nel cluster usando kubectl exec .

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


4. Ora usa il grafana-cli strumento da riga di comando per installare il plug-in:

grafana-cli plugins install grafana-worldmap-panel


Il plugin si installa nella directory dei plugin di Grafana. La posizione predefinita è /var/lib/grafana/plugins . Una volta che il plugin è stato installato correttamente, è automaticamente disponibile in Grafana.


Cent OS
  1. Migrazione da CentOS 8 a Rocky Linux 8:un tutorial passo-passo

  2. Tutorial per la risoluzione dei problemi di Nagios

  3. Monitora il server Linux usando Prometheus e Grafana

  4. Installa Grafana su CentOS 8 - Guida passo passo?

  5. Come installare Web2py su CentOS 7

Come installare Prometheus e node_exporter su CentOS 7

Linux mktemp Command Tutorial per principianti (5 esempi)

Installa e configura FreeIPA Server su CentOS 8

Come installare Grafana su CentOS 8

Come installare Prometheus su CentOS 8

Utilizzo di Grafana &Prometheus Kubernetes Cluster Monitoring