Maison >développement back-end >Golang >Utiliser Prometheus et Grafana pour mettre en œuvre la surveillance et les alarmes dans Beego

Utiliser Prometheus et Grafana pour mettre en œuvre la surveillance et les alarmes dans Beego

WBOY
WBOYoriginal
2023-06-22 09:06:091014parcourir

Avec l'essor du cloud computing et des microservices, la complexité des applications a augmenté. Par conséquent, la surveillance et le diagnostic deviennent l’une des tâches de développement importantes. À cet égard, Prometheus et Grafana sont deux outils open source populaires de surveillance et de visualisation qui peuvent aider les développeurs à mieux surveiller et analyser les applications.

Cet article explorera comment utiliser Prometheus et Grafana pour implémenter la surveillance et les alarmes dans le framework Beego.

1. Introduction

Beego est un framework d'application Web open source à développement rapide qui prend en charge l'architecture MVC et possède des fonctions communes telles que le routage, l'ORM et la session. Il est efficace, des fonctionnalités simples et flexibles ont été utilisées par de plus en plus de développeurs.

Prometheus est un outil de surveillance des systèmes et des services qui collecte diverses métriques et les stocke dans une base de données de séries chronologiques. Grafana est une plateforme de visualisation open source très populaire qui peut se connecter à une variété de sources de données pour créer de superbes tableaux de bord hautement personnalisables.

L'utilisation de Prometheus et Grafana dans le framework Beego pour mettre en œuvre la surveillance et les alarmes nous permet de mieux comprendre l'état d'exécution de l'application et de répondre rapidement lorsqu'une exception se produit dans l'application.

2. Installez et configurez Prometheus

  1. Téléchargez Prometheus

Téléchargez le fichier binaire depuis le site officiel de Prometheus et extrayez-le dans le répertoire Spécifier.

  1. Configuration de Prometheus

Créez le fichier de configuration prometheus.yml dans le répertoire d'installation de Prometheus et configurez-le comme suit :

#🎜 'beego ' # 🎜🎜#scrape_interval: 5s

static_configs:

targets: ['localhost:8080']

  • # 🎜🎜# Parmi eux, la configuration globale définit la fréquence de collecte des indicateurs, tandis que la configuration scrape_configs définit le Job à surveiller ainsi que la fréquence de collecte et l'adresse de surveillance.



    Démarrer Prometheus

    • Entrez le répertoire d'installation de Prometheus dans le terminal de commande et saisissez la commande suivante pour démarrer Prometheus :
    • #🎜 🎜# ./prometheus --config.file=prometheus.yml
  • Prometheus sera démarré à ce moment-là et écoutera le port 9090. Vous pouvez accéder à l'interface Web de Prometheus via http://localhost:9090 .

3. Utilisez Prometheus dans Beego

  1. Ajouter des dépendances

Ajouter prometheus/client_golang dans les dépendances de la bibliothèque d'application Beego afin que le programme peut utiliser Prometheus normalement :

import "github.com/prometheus/client_golang/prometheus"

Définir les indicateurs

# 🎜🎜#

Définissez les indicateurs à surveiller dans le contrôleur de l'application Beego, par exemple :
  1. var myCounter = prometheus.NewCounter(prometheus.CounterOpts{
  2. Nom : "my_counter ",
Aide : "Ceci est mon compteur",

})

Parmi elles, la fonction NewCounter permet de créer un compteur nommé mon_compteur et définit l'aide de cet indicateur information.

  1. Enregistrer les métriques

Dans la fonction init de l'application Beego, enregistrez la métrique et enregistrez-la auprès de Prometheus :

#🎜 🎜#func init() {

prometheus.MustRegister(myCounter)
}

Indicateur d'exportation

    Defined After l'indicateur est enregistré dans Prometheus, la valeur de l'indicateur doit être exportée dans l'application. Dans le contrôleur de l'application Beego, ajoutez la ligne de code suivante pour augmenter la valeur de l'indicateur :
  1. myCounter.Inc()

La ligne de code ci-dessus sera traité à chaque demande Appelé lorsque le programme se termine pour incrémenter le compteur.

4. Installez et configurez Grafana

Téléchargez et installez Grafana
  1. Téléchargez les derniers fichiers binaires depuis Grafana site officiel, extrayez-le dans le répertoire spécifié.

Démarrer Grafana

Entrez le répertoire d'installation de Grafana dans le terminal de commande et saisissez la commande suivante pour démarrer Grafana :

#🎜 🎜# ./bin/grafana-server web

Grafana sera démarré et écoutera sur le port 3000. L'interface Web de Grafana est accessible via http://localhost:3000.
  1. Ajouter une source de données Prometheus

Dans l'interface Web Grafana, sélectionnez Configurer les sources de données (Sources de données) et sélectionnez la source de données Prometheus. Dans la configuration de la source de données, définissez l'adresse Prometheus (http://localhost:9090) et les paramètres de requête.
  1. Créer un tableau de bord

Dans l'interface Web de Grafana, sélectionnez Créer un tableau de bord et sélectionnez Ajouter un panneau. Dans la configuration du panneau ajouté, sélectionnez les indicateurs à afficher et le type de graphique, par exemple :

Grafana peut créer une variété de graphiques et de tableaux de bord afin que les développeurs puissent mieux surveiller et analyser les informations des indicateurs.

5. Alarme
  1. Une fois que nous trouvons une anomalie dans l'application, nous devons envoyer une alarme à temps. Grafana offre la possibilité de s'intégrer à une variété d'outils d'alarme et peut envoyer des notifications d'alarme à Slack, par e-mail et à d'autres canaux.
Dans l'interface web de Grafana, sélectionnez Alerte et créez une nouvelle alerte. Définissez des règles et des canaux de notification d'alarme dans l'alarme.

6.Conclusion

    Cet article explique comment utiliser Prometheus et Grafana pour implémenter la surveillance et les alarmes dans le framework Beego. Grâce à Prometheus, l'état d'exécution de l'application peut être indexé et les modifications de l'index peuvent être surveillées en temps réel. Grafana peut offrir aux développeurs la possibilité d'afficher des informations sur les indicateurs dans des tableaux de bord visuels et de s'intégrer à une variété d'outils d'alarme. Grâce à l'utilisation combinée de ces deux outils, l'état de fonctionnement des applications Beego peut être mieux surveillé et la fiabilité et la stabilité des applications peuvent être améliorées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn