インスタンスを監視する

StackheroインスタンスからPrometheusのリアルタイムメトリクスを取得する方法

Stackheroは、インスタンスからPrometheus形式でリアルタイムメトリクスを取得するのをサポートします。このシームレスな統合により、Grafanaダッシュボードでデータを視覚化し、Prometheusを使用して(メール、SMS、Slack、Mattermostなどを通じて)アラートをトリガーすることが簡単になります。すべてのStackheroサービスに対して、わずか数分で設定できます。

リアルタイムでインスタンスを表示するGrafanaダッシュボードリアルタイムでインスタンスを表示するGrafanaダッシュボード

Stackheroは、インスタンスからPrometheus形式でリアルタイムメトリクスを返す"Service Discovery" HTTPエンドポイントを提供します。

全体の流れは次のとおりです:

  1. Prometheusサーバーは15秒ごとにStackheroのAPIに接続し、インスタンスからリアルタイムメトリクスを取得します。
  2. Prometheusサーバーは、定義された条件が満たされたときにAlert Managerを使用してアラートをトリガーします。
  3. GrafanaサーバーはPrometheusサーバーに接続し、Stackheroインスタンスを表示するダッシュボードを表示します。

まず、PrometheusサーバーがStackheroのAPIに接続するために使用するトークンを生成する必要があります。

  • Stackheroダッシュボードに接続します。
  • 左側のメニューでPrometheusに移動します。
  • トークンを作成をクリックします。
  • 説明を追加し、必要に応じてIPアクセスを制限します(すべてのIPを許可するには0.0.0.0/0を残します)。
  • 生成されたPrometheus設定をコピーします。

StackheroダッシュボードでのPrometheusトークン作成Stackheroダッシュボードでの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>"

Prometheusダッシュボードに移動し、Status > Service Discoveryに進みます。「stackhero」サービスディスカバリーエントリが登録されているはずです。

Stackheroサービスディスカバリーを表示するPrometheusダッシュボードStackheroサービスディスカバリーを表示するPrometheusダッシュボード

次に、Status > Targetsに進みます。各Stackheroインスタンスのエンドポイントが表示されるはずです。

Stackheroターゲットを表示するPrometheusダッシュボードStackheroターゲットを表示するPrometheusダッシュボード

おめでとうございます!Prometheusサーバーは、すべてのサービスのリアルタイムメトリクスを自動的に取得するようになりました。

まだGrafanaサーバーをお持ちでないですか? Stackheroを使用すると、わずか2分で管理されたGrafanaを開始できます!

Grafanaで事前設定されたダッシュボードを利用して、インスタンスのメトリクスを表示できます。

  1. GrafanaのWeb UIで、Create > Importに進みます。
  2. Import via grafana.comセクションで、IDを1860に設定し、Loadボタンをクリックします。
  3. 次のページで、Prometheusデータソースを選択し、Importをクリックします。

Grafanaは、Prometheusから取得したデータを即座に表示するダッシュボードを生成します!

リアルタイムでインスタンスを表示するGrafanaダッシュボードリアルタイムでインスタンスを表示するGrafanaダッシュボード

画面の左上で、hostリストをクリックして表示したいインスタンスを選択できます。

"host"リストでインスタンスを選択する"host"リストでインスタンスを選択する

おめでとうございます、これでリアルタイムで全てのインスタンスを監視できます!