GNU/Linux >> Tutoriels Linux >  >> Cent OS

Tutoriel du tableau de bord Grafana Prometheus

Présentation

Prometheus est un logiciel de surveillance d'événements open source pour les applications distribuées à volume élevé. Il propose des métriques et des alertes en temps réel, des requêtes flexibles, un modèle d'extraction HTTP et constitue un bon choix pour surveiller les clusters Kubernetes.

Bien que Prometheus soit une application autonome, son utilisation avec un tableau de bord de visualisation permet de conserver une meilleure vue d'ensemble d'un cluster Kubernetes. Un choix populaire pour ce scénario est Grafana, un logiciel de visualisation open source, qui prend en charge Prometheus en tant que source de données prête à l'emploi.

Ce didacticiel vous montrera comment installer Grafana dans votre cluster Kubernetes, le connecter à Prometheus et organiser les données dans des tableaux de bord.

Prérequis

  • Cluster Kubernetes
  • outil de ligne de commande kubectl installé
  • Prometheus installé et configuré

Installer Grafana

Pour installer Grafana sur un cluster Kubernetes, créez et appliquez une série de yaml fichiers.

1. Commencez par créer un ConfigMap dans un fichier intitulé grafana-datasource-config.yaml :

nano grafana-datasource-config.yaml

Le fichier est composé des déclarations suivantes :

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. Ajustez le contenu du fichier en fonction de vos besoins en spécifiant l'espace de noms dans lequel vous souhaitez installer Grafana.

3. Enregistrez et quittez le fichier.

4. Appliquez les modifications à votre cluster à l'aide de kubectl :

kubectl create -f grafana-datasource-config.yaml

La sortie confirme la création de la ConfigMap :


5. Ensuite, créez un yaml fichier pour le déploiement Grafana :

nano deployment.yaml

Le fichier contient la configuration du déploiement 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. Enregistrez le fichier, puis appliquez-le au cluster :

kubectl create -f deployment.yaml

La sortie confirme la création du déploiement :


7. Enfin, créez le service.yaml fichier pour configurer le service Grafana :

nano service.yaml

Le fichier est composé des déclarations suivantes :

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. Ajustez le fichier aux besoins de votre cluster, puis enregistrez-le et appliquez-le :

kubectl create -f service.yaml

La sortie confirme que le service a été créé avec succès :


9. Utilisez la commande kubectl port-forward pour transférer le service Grafana vers le port 3000 :

kubectl port-forward svc/grafana 3000


10. Ouvrez maintenant un navigateur et accédez à http://localhost:3000/ .

11. L'écran de connexion Grafana apparaît, vous demandant votre nom d'utilisateur et votre mot de passe. Tapez admin dans les deux champs et cliquez sur Connexion .


12. Grafana vous demande de définir un nouveau mot de passe, après quoi la page d'accueil s'affiche.

Ajouter Prometheus comme source de données Grafana

Pour commencer à travailler avec Prometheus dans Grafana, ajoutez Prometheus comme source de données.

1. Dans la barre latérale à gauche, survolez l'icône de la roue dentée pour afficher le sous-menu de configuration.

2. Cliquez sur Sources de données .


2. Une page de configuration s'ouvre. Cliquez sur Ajouter une source de données bouton.


3. Sélectionnez Prometheus comme type de source de données en cliquant sur Sélectionner bouton à droite.


4. La page de configuration de Prometheus s'ouvre. Ici, vous spécifiez le nom de la source, l'URL et le port du service Prometheus, ainsi que le type d'accès (l'accès au serveur est l'option par défaut).


5. Une fois que vous avez terminé, faites défiler vers le bas de la page et cliquez sur Enregistrer et tester bouton.

Grafana teste la connexion avec Prometheus et termine l'ajout de la source de données.

Importer les statistiques Prometheus sous forme de tableau de bord dans Grafana

Grafana prend en charge Prometheus prêt à l'emploi et vous pouvez facilement accéder au tableau de bord Prometheus prédéfini.

1. Revenez aux sources de données section et sélectionnez Prométhée .

2. Ouvrez les Paramètres menu déroulant.

3. Cliquez ensuite sur Tableaux de bord .


4. Une liste des tableaux de bord disponibles s'affiche. Importez le tableau de bord souhaité en cliquant sur Importer à droite du nom du tableau de bord.


5. Pour accéder au tableau de bord, survolez l'icône à quatre carrés dans la barre latérale gauche pour afficher les Tableaux de bord menu.

6. Cliquez sur Gérer .

7. Sélectionnez le Prométhée tableau de bord que vous souhaitez gérer à partir de la liste.

Statistiques de votre serveur Prometheus

Le tableau de bord Prometheus se compose de plusieurs graphiques à statistiques uniques décrits ci-dessous.

Graphiques statistiques simples

Après avoir sélectionné les Statistiques Prometheus tableau de bord sur la Gestion du tableau de bord page, les statistiques apparaissent organisées en panneaux.

La première ligne se compose des panneaux suivants :

  • Temps de disponibilité :Combien de temps s'est écoulé depuis le démarrage du serveur Prometheus
  • Série de mémoire de stockage local :Le nombre de séries que Prometheus détient actuellement en mémoire
  • Longueur de la file d'attente de stockage interne :Plus ce nombre est bas, mieux c'est. Le message "Vide" signifie que le numéro de file d'attente est zéro.

Les échantillons ingérés Le panneau fournit des informations sur le nombre d'exemples de messages que Prometheus a ingérés au rythme de 5 minutes.

Métriques de récupération de Prometheus

Métriques de récupération les panneaux sont juste en dessous du panneau Échantillons ingérés.

  • Les grattages ciblés Le panneau indique la fréquence de grattage de la cible, c'est-à-dire Prometheus, mesurée au cours des cinq dernières minutes, par série temporelle dans le vecteur de plage.
  • La durée de récupération Le panneau indique la durée des éraflures, mesurée sur la même période de cinq minutes.

Durée des évaluations

La durée d'évaluation de la règle situé sous les panneaux Scrape metrics fournit des informations sur la durée de toutes les évaluations à exécuter.

Créer un nouveau tableau de bord

Pour créer un nouveau tableau de bord Grafana :

1. Accédez aux tableaux de bord et cliquez sur Nouveau tableau de bord bouton.


2. Un écran apparaît où vous pouvez ajouter de nouveaux panneaux et rangées vides.


3. Un nouvel écran apparaît avec un seul panneau factice.

Personnaliser le tableau de bord à l'aide de l'éditeur de requête Prometheus

Pour modifier un panneau Grafana spécifique :

1. Cliquez sur le titre du panneau pour ouvrir un menu déroulant.

2. Dans le menu, cliquez sur Modifier .


3. La fenêtre d'édition apparaît. Personnalisez les panneaux en introduisant de nouvelles requêtes ou en modifiant les actuelles. L'interrogation est effectuée à l'aide du langage de requête Prometheus.


4. Les mesures suivantes ne figurent pas dans le tableau de bord Prometheus prédéfini de Grafana, mais sont utiles pour surveiller Prometheus :

  • prometheus_local_storage_memory_chunks – Surveille les blocs de mémoire que Prometheus stocke en mémoire.
  • prometheus_local_storage_memory_series – Surveille les séries de mémoire que Prometheus stocke en mémoire.
  • prometheus_local_storage_ingested_samples_total – Mesure le taux d'ingestion des échantillons.
  • prometheus_target_interval_length_seconds – Mesure le temps écoulé entre les grattages ciblés.
  • prometheus_local_storage_chunk_ops_total – Surveille le taux par seconde de toutes les opérations de bloc de stockage Prometheus.

Utiliser des tableaux de bord et des plugins prédéfinis

Grafana propose une large sélection de tableaux de bord et de plugins prédéfinis disponibles en téléchargement sur son site Web. Pour installer un tableau de bord prédéfini :

1. Téléchargez le json du plugin fichier.

2. Cliquez sur Importer et suivez les instructions pour télécharger le fichier sur Grafana.


3. Pour installer les plugins, connectez-vous au pod Grafana dans le cluster à l'aide de kubectl exec .

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


4. Utilisez maintenant le grafana-cli outil en ligne de commande pour installer le plugin :

grafana-cli plugins install grafana-worldmap-panel


Le plugin s'installe dans le répertoire des plugins Grafana. L'emplacement par défaut est /var/lib/grafana/plugins . Une fois le plugin installé avec succès, il est automatiquement disponible dans Grafana.


Cent OS
  1. Migration de CentOS 8 vers Rocky Linux 8 :un didacticiel pas à pas

  2. Tutoriel de dépannage de Nagios

  3. Surveiller le serveur Linux en utilisant Prometheus et Grafana

  4. Installer Grafana sur CentOS 8 - Guide étape par étape ?

  5. Surveiller le serveur Linux avec Prometheus et Grafana

Comment installer Prometheus et node_exporter sur CentOS 7

Tutoriel de commande Linux mktemp pour les débutants (5 exemples)

Installer et configurer le serveur FreeIPA sur CentOS 8

Comment installer Grafana sur CentOS 8

Comment installer Prometheus sur CentOS 8

Utilisation de Grafana &Prometheus Kubernetes Cluster Monitoring