クラウド コンピューティングとマイクロサービスの台頭により、アプリケーションの複雑さも増加しました。したがって、監視と診断は重要な開発タスクの 1 つになります。この点に関して、Prometheus と Grafana は、開発者がアプリケーションをより適切に監視および分析できるようにする 2 つの人気のあるオープンソース監視および視覚化ツールです。
この記事では、Prometheus と Grafana を使用して、Beego フレームワークで監視と警報を実装する方法について説明します。
1. はじめに
Beego は、MVC アーキテクチャをサポートし、ルーティング、ORM、セッションなどの共通機能を備えたオープンソースの高速開発 Web アプリケーション フレームワークであり、効率的、シンプル、柔軟です。 . ますます多くの開発者によって使用されています。
Prometheus は、さまざまな指標を収集し、時系列データベースに保存できるシステムおよびサービス監視ツールです。 Grafana は、さまざまなデータ ソースに接続して、美しく高度にカスタマイズ可能なダッシュボードを作成できる、非常に人気のあるオープン ソース視覚化プラットフォームです。
Beego フレームワークで Prometheus と Grafana を使用して監視とアラームを実装すると、アプリケーションの実行ステータスをより深く理解し、アプリケーションで例外が発生したときに迅速に対応できるようになります。
2. Prometheus のインストールと設定
Prometheus 公式 Web サイトからバイナリ ファイルをダウンロードし、指定したディレクトリに解凍します。
Prometheus インストール ディレクトリに prometheus.yml 構成ファイルを作成し、次のように構成します:
global:
scrape_interval : 15秒
評価間隔: 15秒
scrape_configs:
ジョブ名: 'beego'
scrape_interval: 5秒
static_configs:
このうち、グローバル設定はインジケーターを収集する頻度を定義し、scrape_configs 設定は監視するジョブを定義します収集頻度と監視アドレス。
コマンド ターミナルに Prometheus インストール ディレクトリを入力し、次のコマンドを入力して Prometheus を起動します:
./prometheus --config .file =prometheus.yml
Prometheus はこの時点で開始され、ポート 9090 をリッスンします。http://localhost:9090 を通じて Prometheus Web インターフェイスにアクセスできます。
3. Beego で Prometheus を使用する
プログラムが動作できるように、Beego アプリケーションの prometheus/client_golang ライブラリに依存関係を追加します。通常は Prometheus を使用します:
import "github.com/prometheus/client_golang/prometheus"
Beego アプリケーションのコントローラーで定義監視する必要があるインジケーターの例:
var myCounter = prometheus.NewCounter(prometheus.CounterOpts{
Name: "my_counter",
Help: "This is my counter",
})
このうち、NewCounter 関数は、my_counter という名前のカウンターを作成し、インジケーターのヘルプ情報を定義するために使用されます。
Beego アプリケーションの init 関数で、インジケーターを登録し、Prometheus に登録します。
func init() {
prometheus.MustRegister(myCounter)
}
インジケーターを定義して Prometheus に登録した後、次の値をエクスポートする必要があります。アプリケーション内のインジケーター。 Beego アプリケーションのコントローラーに、次のコード行を追加して、インジケーターの値をインクリメントします:
myCounter.Inc()
上記のコード行は、リクエストが発生するたびに呼び出されます。ハンドラが完了し、カウンタ値をインクリメントします。
4. Grafana のインストールと設定
Grafana 公式 Web サイトから最新のバイナリ ファイルをダウンロードし、指定した場所に解凍します。ディレクトリ。
コマンド ターミナルに Grafana インストール ディレクトリを入力し、次のコマンドを入力して Grafana を起動します:
./bin/grafana-サーバー Web
この時点で Grafana が開始され、ポート 3000 をリッスンします。 http://localhost:3000 を通じて Grafana の Web インターフェイスにアクセスできます。
Grafana の Web インターフェイスで、[データ ソースの構成 (データ ソース)] を選択し、Prometheus データ ソースを選択します。データ ソース構成で、Prometheus アドレス (http://localhost:9090) とクエリ パラメーターを定義します。
Grafana の Web インターフェイスで [ダッシュボードの作成] を選択し、[パネルの追加] を選択します。追加されたパネルの構成で、表示する必要があるインジケーターとチャートの種類を選択します。例:
Grafana は、開発者がインジケーター情報をより適切に監視および分析できるように、さまざまなチャートとダッシュボードを作成できます。
5. アラーム
アプリケーションに異常を発見したら、適時にアラームを発する必要があります。 Grafana は、さまざまなアラーム ツールと統合する機能を提供し、Slack、電子メール、その他のチャネルにアラーム通知を送信できます。
Grafana の Web インターフェイスで、[アラート] を選択し、新しいアラームを作成します。アラーム内のルールとアラーム通知チャネルを定義します。
6.結論
この記事では、Prometheus と Grafana を使用して、Beego フレームワークに監視と警報を実装する方法を紹介します。 Prometheus を通じて、アプリケーションの実行ステータスにインデックスを付け、インデックスの変更をリアルタイムで監視できます。 Grafana は、開発者にインジケーター情報をビジュアル ダッシュボードに表示し、さまざまなアラーム ツールと統合する機能を提供します。これら 2 つのツールを組み合わせて使用することで、Beego アプリケーションの動作状況をより適切に監視し、アプリケーションの信頼性と安定性を向上させることができます。
以上がPrometheus と Grafana を使用して Beego で監視と警報を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。