ホームページ >バックエンド開発 >Golang >Prometheus と Grafana を使用して Beego で監視と警報を実装する

Prometheus と Grafana を使用して Beego で監視と警報を実装する

WBOY
WBOYオリジナル
2023-06-22 09:06:09974ブラウズ

クラウド コンピューティングとマイクロサービスの台頭により、アプリケーションの複雑さも増加しました。したがって、監視と診断は重要な開発タスクの 1 つになります。この点に関して、Prometheus と Grafana は、開発者がアプリケーションをより適切に監視および分析できるようにする 2 つの人気のあるオープンソース監視および視覚化ツールです。

この記事では、Prometheus と Grafana を使用して、Beego フレームワークで監視と警報を実装する方法について説明します。

1. はじめに

Beego は、MVC アーキテクチャをサポートし、ルーティング、ORM、セッションなどの共通機能を備えたオープンソースの高速開発 Web アプリケーション フレームワークであり、効率的、シンプル、柔軟です。 . ますます多くの開発者によって使用されています。

Prometheus は、さまざまな指標を収集し、時系列データベースに保存できるシステムおよびサービス監視ツールです。 Grafana は、さまざまなデータ ソースに接続して、美しく高度にカスタマイズ可能なダッシュボードを作成できる、非常に人気のあるオープン ソース視覚化プラットフォームです。

Beego フレームワークで Prometheus と Grafana を使用して監視とアラームを実装すると、アプリケーションの実行ステータスをより深く理解し、アプリケーションで例外が発生したときに迅速に対応できるようになります。

2. Prometheus のインストールと設定

  1. Prometheus のダウンロード

Prometheus 公式 Web サイトからバイナリ ファイルをダウンロードし、指定したディレクトリに解凍します。

  1. Prometheus の構成

Prometheus インストール ディレクトリに prometheus.yml 構成ファイルを作成し、次のように構成します:

global:
scrape_interval : 15秒
評価間隔: 15秒

scrape_configs:

  • ジョブ名: 'beego'
    scrape_interval: 5秒
    static_configs:

    • targets: ['localhost:8080']

このうち、グローバル設定はインジケーターを収集する頻度を定義し、scrape_configs 設定は監視するジョブを定義します収集頻度と監視アドレス。

  1. Prometheus の起動

コマンド ターミナルに Prometheus インストール ディレクトリを入力し、次のコマンドを入力して Prometheus を起動します:

./prometheus --config .file =prometheus.yml

Prometheus はこの時点で開始され、ポート 9090 をリッスンします。http://localhost:9090 を通じて Prometheus Web インターフェイスにアクセスできます。

3. Beego で Prometheus を使用する

  1. 依存関係の追加

プログラムが動作できるように、Beego アプリケーションの prometheus/client_golang ライブラリに依存関係を追加します。通常は Prometheus を使用します:

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

  1. Define metrics

Beego アプリケーションのコントローラーで定義監視する必要があるインジケーターの例:

var myCounter = prometheus.NewCounter(prometheus.CounterOpts{
Name: "my_counter",
Help: "This is my counter",
})

このうち、NewCounter 関数は、my_counter という名前のカウンターを作成し、インジケーターのヘルプ情報を定義するために使用されます。

  1. インジケーターの登録

Beego アプリケーションの init 関数で、インジケーターを登録し、Prometheus に登録します。

func init() {
prometheus.MustRegister(myCounter)
}

  1. インジケーターのエクスポート

インジケーターを定義して Prometheus に登録した後、次の値をエクスポートする必要があります。アプリケーション内のインジケーター。 Beego アプリケーションのコントローラーに、次のコード行を追加して、インジケーターの値をインクリメントします:

myCounter.Inc()

上記のコード行は、リクエストが発生するたびに呼び出されます。ハンドラが完了し、カウンタ値をインクリメントします。

4. Grafana のインストールと設定

  1. Grafana のダウンロードとインストール

Grafana 公式 Web サイトから最新のバイナリ ファイルをダウンロードし、指定した場所に解凍します。ディレクトリ。

  1. Grafana の起動

コマンド ターミナルに Grafana インストール ディレクトリを入力し、次のコマンドを入力して Grafana を起動します:

./bin/grafana-サーバー Web

この時点で Grafana が開始され、ポート 3000 をリッスンします。 http://localhost:3000 を通じて Grafana の Web インターフェイスにアクセスできます。

  1. Prometheus データ ソースの追加

Grafana の Web インターフェイスで、[データ ソースの構成 (データ ソース)] を選択し、Prometheus データ ソースを選択します。データ ソース構成で、Prometheus アドレス (http://localhost:9090) とクエリ パラメーターを定義します。

  1. ダッシュボードの作成

Grafana の Web インターフェイスで [ダッシュボードの作成] を選択し、[パネルの追加] を選択します。追加されたパネルの構成で、表示する必要があるインジケーターとチャートの種類を選択します。例:

Grafana は、開発者がインジケーター情報をより適切に監視および分析できるように、さまざまなチャートとダッシュボードを作成できます。

5. アラーム

アプリケーションに異常を発見したら、適時にアラームを発する必要があります。 Grafana は、さまざまなアラーム ツールと統合する機能を提供し、Slack、電子メール、その他のチャネルにアラーム通知を送信できます。

Grafana の Web インターフェイスで、[アラート] を選択し、新しいアラームを作成します。アラーム内のルールとアラーム通知チャネルを定義します。

6.結論

この記事では、Prometheus と Grafana を使用して、Beego フレームワークに監視と警報を実装する方法を紹介します。 Prometheus を通じて、アプリケーションの実行ステータスにインデックスを付け、インデックスの変更をリアルタイムで監視できます。 Grafana は、開発者にインジケーター情報をビジュアル ダッシュボードに表示し、さまざまなアラーム ツールと統合する機能を提供します。これら 2 つのツールを組み合わせて使用​​することで、Beego アプリケーションの動作状況をより適切に監視し、アプリケーションの信頼性と安定性を向上させることができます。

以上がPrometheus と Grafana を使用して Beego で監視と警報を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。