インスタンスを監視する
StackheroインスタンスからPrometheusのリアルタイムメトリクスを取得する方法
はじめに
Stackheroは、インスタンスからPrometheus形式でリアルタイムメトリクスを取得するのをサポートします。このシームレスな統合により、Grafanaダッシュボードでデータを視覚化し、Prometheusを使用して(メール、SMS、Slack、Mattermostなどを通じて)アラートをトリガーすることが簡単になります。すべてのStackheroサービスに対して、わずか数分で設定できます。
リアルタイムでインスタンスを表示するGrafanaダッシュボード
StackheroでのPrometheusメトリクスの動作
Stackheroは、インスタンスからPrometheus形式でリアルタイムメトリクスを返す"Service Discovery" HTTPエンドポイントを提供します。
全体の流れは次のとおりです:
- Prometheusサーバーは15秒ごとにStackheroのAPIに接続し、インスタンスからリアルタイムメトリクスを取得します。
- Prometheusサーバーは、定義された条件が満たされたときにAlert Managerを使用してアラートをトリガーします。
- GrafanaサーバーはPrometheusサーバーに接続し、Stackheroインスタンスを表示するダッシュボードを表示します。
インスタンスからリアルタイムメトリクスを取得する
1. トークンを作成する
まず、PrometheusサーバーがStackheroのAPIに接続するために使用するトークンを生成する必要があります。
- Stackheroダッシュボードに接続します。
- 左側のメニューで
Prometheusに移動します。 トークンを作成をクリックします。- 説明を追加し、必要に応じてIPアクセスを制限します(すべてのIPを許可するには
0.0.0.0/0を残します)。 - 生成されたPrometheus設定をコピーします。
StackheroダッシュボードでのPrometheusトークン作成
2. Prometheusを設定する
まだPrometheusサーバーをお持ちでないですか? Stackheroを使用すると、わずか2分で管理されたPrometheusを開始できます!
prometheus.yml設定ファイルを開き、ファイルの最後に「stackhero」ジョブ(以前に生成されたもの)を追加します。
以下は設定例です:
- job_name: "stackhero"
scheme: "https"
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
http_sd_configs:
- url: "https://api.stackhero.io/v1/prometheus/targets"
refresh_interval: "15s" # 15秒未満に設定しないでください!
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
3. Prometheusがメトリクスを取得していることを確認する
Prometheusダッシュボードに移動し、Status > Service Discoveryに進みます。「stackhero」サービスディスカバリーエントリが登録されているはずです。
Stackheroサービスディスカバリーを表示するPrometheusダッシュボード
次に、Status > Targetsに進みます。各Stackheroインスタンスのエンドポイントが表示されるはずです。
Stackheroターゲットを表示するPrometheusダッシュボード
おめでとうございます!Prometheusサーバーは、すべてのサービスのリアルタイムメトリクスを自動的に取得するようになりました。
4. Grafanaダッシュボードを追加する(オプション)
まだGrafanaサーバーをお持ちでないですか? Stackheroを使用すると、わずか2分で管理されたGrafanaを開始できます!
Grafanaで事前設定されたダッシュボードを利用して、インスタンスのメトリクスを表示できます。
- GrafanaのWeb UIで、
Create>Importに進みます。 Import via grafana.comセクションで、IDを1860に設定し、Loadボタンをクリックします。- 次のページで、Prometheusデータソースを選択し、
Importをクリックします。
Grafanaは、Prometheusから取得したデータを即座に表示するダッシュボードを生成します!
リアルタイムでインスタンスを表示するGrafanaダッシュボード
画面の左上で、hostリストをクリックして表示したいインスタンスを選択できます。
"host"リストでインスタンスを選択する
おめでとうございます、これでリアルタイムで全てのインスタンスを監視できます!