Google Cloud Monitoring データソースに接続する - Amazon Managed Grafana

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Google Cloud Monitoring データソースに接続する

注記

以前のバージョンの Grafana では、このデータソースの名前は Google Stackdriver でした。

Google Cloud Monitoring データソースを追加して、Google Cloud Monitoring メトリクスのダッシュボードを構築できるようにします。

データソースの追加

  1. 上部のヘッダーにある Grafana アイコンを選択して、サイドメニューを開きます。

  2. サイドメニューの Dashboards リンクの下に、データソースリンクがあります。

  3. 上部のヘッダーで + データソースの追加ボタンを選択します。

  4. Type ドロップダウンリストから Google Cloud Monitoring を選択します。

  5. サービスアカウントキーファイルをアップロードまたは貼り付けます。サービスアカウントキーファイルを作成する手順については、このドキュメントの後半を参照してください。

注記

サイドメニューにデータソースリンクが表示されない場合、現在のユーザーには Adminロールがありません。

名前 説明
Name データソース名。これは、パネルとクエリでデータソースを参照する方法です。
Default デフォルトのデータソースは、新しいパネルに対して事前に選択されることを意味します。
Service Account Key GCP プロジェクトのサービスアカウントキーファイル。作成方法については、このドキュメントで後述する手順を参照してください。

認証

Google Cloud Monitoring プラグインを認証するには 2 つの方法があります。

  • Google JWT ファイルをアップロードする

  • Google メタデータサーバーから認証情報を自動的に取得する

後者のオプションは、GCE 仮想マシンで Grafana を実行する場合にのみ使用できます。

Google サービスアカウントキーファイルの使用

Google Cloud Monitoring API で認証するには、データを表示するプロジェクトの Google Cloud Platform (GCP) サービスアカウントを作成する必要があります。Grafana データソースは、1 つの GCP プロジェクトと統合されます。複数の GCP プロジェクトのデータを視覚化するには、 GCP プロジェクトごとに 1 つのデータソースを作成する必要があります。

APIs有効化

最初に次の APIsを有効にする必要があります。

リストされているリンクを選択し、有効化ボタンを選択します。

プロジェクトの GCP サービスアカウントの作成

  1. APIs とサービス認証情報ページに移動します

  2. 認証情報の作成ドロップダウン/ボタンを選択し、サービスアカウントキーオプションを選択します。

    {{< docs-imagebox img"/img/docs/v71/cloudmonitoring_create_service_account_button .png" class"docs-image–no-shadow" caption"" >}}

  3. サービスアカウントキーの作成ページで、キータイプ を選択しますJSON。次に、サービスアカウントドロップダウンリストで、新しいサービスアカウントオプションを選択します。

    {{< docs-imagebox img"/img/docs/v71/cloudmonitoring_create_service_account_key .png" クラス "docs-image–no-shadow" キャプション "サービスアカウントキーの作成" >}}

  4. 一部の新しいフィールドが表示されます。サービスアカウント名フィールドにサービスアカウントの名前を入力し、ロールドロップダウンリストからモニタリングビューワーロールを選択します。

    {{< docs-imagebox img"/img/docs/v71/cloudmonitoring_service_account_choose_role .png" クラス "docs-image–no-shadow" 字幕 "Choose role" >}}

  5. [サーバーの作成] ボタンを選択します。JSON キーファイルが作成され、コンピュータにダウンロードされます。このファイルは、Google Cloud Monitoring データへのアクセスを許可するため、安全な場所に保存します。

  6. データソース設定ページの Grafana にアップロードします。ファイルをアップロードするか、ファイルの内容に貼り付けることができます。

    {{< docs-imagebox img"/img/docs/v71/cloudmonitoring_grafana_upload_key .png" クラス "docs-image–no-shadow" キャプション "サービスキーファイルを Grafana にアップロード" >}}

  7. ファイルの内容は暗号化され、Grafana データベースに保存されます。ファイルをアップロードした後は、必ず保存してください。

    {{< docs-imagebox img"/img/docs/v71/cloudmonitoring_grafana_key_uploaded .png" クラス"docs-image–no-shadow" キャプション "Service キーファイルが Grafana" >}} にアップロードされました

クエリエディタの使用

Google Cloud Monitoring クエリエディタを使用すると、メトリクスサービスレベル目標 (SLO) の 2 種類のクエリを構築できます。どちらのタイプも時系列データを返します。

メトリクスクエリ

メトリクスクエリエディタを使用すると、メトリクスの選択、ラベルおよび時間によるグループ化/集計、フィルターを使用した結果の時系列の指定を行うことができます。

メトリクスクエリを作成するには、次の手順に従います。

  1. クエリタイプのドロップダウンリストで、メトリクスオプションを選択します。

  2. プロジェクトドロップダウンリストからプロジェクトを選択します。

  3. サービスドロップダウンリストから Google クラウドプラットフォームサービスを選択します。

  4. メトリクスドロップダウンリストからメトリクスを選択します。

  5. フィルターを追加または削除したり、句でグループ化したりするには、フィルターとセクションでプラスアイコンとマイナスアイコンを使用します。この手順は省略可能です。

Google Cloud Monitoring メトリクスにはさまざまな種類 (GAUGE、DELTA、CUMULATIVE) があり、これらの種類ではさまざまな集約オプション (リデューサーとアリーマー) がサポートされています。Grafana クエリエディタは、選択したメトリクスで使用可能な集計メソッドのリストを表示し、メトリクスを選択するときにデフォルトのリデューサーとアリーマーを設定します。Y 軸の単位もクエリエディタによって自動的に選択されます。

フィルター

フィルターを追加するには、プラスアイコンを選択し、フィルタリングするフィールドを選択し、フィルター値を入力します。たとえば、instance_name = grafana-1 と入力します。フィルターを削除するには、フィルター名を選択し、 を選択します--remove filter--

シンプルなワイルドカード文字

演算子が または に設定されている場合、=!=フィルター値フィールドにワイルドカード文字を追加できます。例えば、 us-*は「us-」で始まるすべての値を*central-aキャプチャし、「central-a」で終わるすべての値をキャプチャします。 は の部分文字列を持つすべての値を*-central-*キャプチャしますcentral-。単純なワイルドカード文字は正規表現よりも安価です。

正規表現

演算子が または に設定されている場合、=~!=~フィルター値フィールドに正規表現を追加できます。例えば、 は、「us-central」で始まり、その後に 1 ~ 3 の範囲の数値、ダッシュ、その後に「a」または「f」のいずれかが続くすべての値us-central[1-3]-[af]に一致します。正規表現を作成するときは、先頭と末尾のスラッシュは必要ありません。

集計

集計フィールドでは、一般的な統計に基づいて時系列を組み合わせることができます。集計の詳細については、「集計オプション」を参照してください。

Aligner フィールドを使用すると、同じグループの後に複数の時系列を時間間隔で調整できます。アラインダーの詳細については、「アラインメントメトリクスセレクタ」を参照してください。

調整期間と時間によるグループ化

集計が選択されている場合、 はメトリクスを時間単位でAlignment Periodグループ化します。デフォルトでは、 GCP Google Cloud Monitoring のデフォルトグループが使用されます (これにより、Grafana のグラフと Google Cloud Monitoring UI のグラフを比較できます)。オプションは cloud monitoring autoと呼ばれ、デフォルトは次のとおりです。

  • 時間範囲 < 23 時間の場合は 1m

  • 時間範囲 >= 23 時間 < 6 日で 5m

  • 時間範囲 >= 6 日の場合は 1h

もう 1 つの自動オプションは ですgrafana auto。これにより、選択した時間範囲とグラフパネルの幅に応じて、時間ごとにグループが自動的に設定されます。詳細については、「間隔変数の追加」を参照してください。

また、 1hや など、グループ化する固定時間間隔を選択することもできます1d

グループ化の基準

リソースまたはメトリクスのラベルでグループ化して時系列の数を減らし、グループごとに結果を集計します。例えば、instance_name でグループ化すると、コンピューティングインスタンスの集計メトリクスが表示されます。

メタデータラベル

リソースメタデータラベルには、Google クラウド内のリソースを一意に識別するための情報が含まれています。メタデータラベルは、時系列リクエストの Group By セグメントの一部である場合にのみ、時系列レスポンスで返されます。メタデータラベルを取得するための API がないため、選択したサービスおよびメトリクスで使用できるメタデータラベルをドロップダウンリストでグループに入力することはできません。ただし、グループ化フィールドのドロップダウンリストには、一般的なシステムラベルの定義済みリストが付属しています。

ユーザーラベルは事前定義できませんが、グループ別フィールドに手動で入力できます。メタデータラベル、ユーザーラベル、またはシステムラベルが Group By セグメントに含まれている場合は、それに基づいてフィルターを作成し、エイリアスフィールドでその値を展開できます。

エイリアスパターン

Alias By フィールドでは、凡例キーの形式を制御できます。デフォルトでは、メトリクス名とラベルが表示されます。これは長くて読みにくい場合があります。エイリアスフィールドで次のパターンを使用して、凡例キーを目的どおりにフォーマットできます。

メトリクスタイプのパターン

エイリアスパターン 説明 結果の例
{{metric.type}} 完全なメトリクスタイプを返します。 compute.googleapis.com/instance/cpu/utilization
{{metric.name}} メトリクス名の部分を返します。 instance/cpu/utilization
{{metric.service}} サービスパーツを返します。 compute

ラベルパターン

Group By ドロップダウンリストには、メトリクスとメトリクスのリソースラベルのリストが表示されます。これらは、エイリアスパターンを使用して凡例キーに含めることができます。

エイリアスパターン形式 説明 エイリアスパターンの例 結果の例
{{metric.label.xxx}} メトリクスラベル値を返します。 {{metric.label.instance_name}} grafana-1-prod
{{resource.label.xxx}} リソースラベルの値を返します。 {{resource.label.zone}} us-east1-b
{{metadata.system_labels.xxx}} メタデータシステムのラベル値を返します。 {{metadata.system_labels.name}} grafana
{{metadata.user_labels.xxx}} メタデータユーザーラベルの値を返します。 {{metadata.user_labels.tag}} production

エイリアスの例: {{metric.type}} - {{metric.label.instance_name}}

結果の例: compute.googleapis.com/instance/cpu/usage_time - server1-prod

モニタリング対象リソースタイプの名前を解決することもできます。

エイリアスパターン形式 説明 結果の例
{{resource.type}} モニタリング対象のリソースタイプの名前を返します。 gce_instance

エイリアスの例: {{resource.type}} - {{metric.type}}

結果の例: gce_instance - compute.googleapis.com/instance/cpu/usage_time

SLO クエリ

注記

SLO クエリは Grafana v7.0 以降でのみ使用できます

Google Cloud Monitoring データソースの SLO クエリビルダーを使用すると、SLO データを時系列形式で表示できます。サービスモニタリングの基本概念を理解するには、Google Cloud Monitoring の公式ドキュメント を参照してください。

SLO クエリの作成

SLO クエリを作成するには、次の手順に従います。

  1. クエリタイプのドロップダウンリストで、サービスレベル目標 (SLO) オプションを選択します。

  2. プロジェクトドロップダウンリストからプロジェクトを選択します。

  3. サービスドロップダウンリストから SLO サービスを選択します。

  4. SLO ドロップダウンリストから SLO を選択します。

  5. セレクタドロップダウンリストから時系列セレクタを選択します。

時系列セレクタのフレンドリ名は Grafana に表示されます。次の表は、サービスモニタリングドキュメントで使用されているフレンドリ名からシステム名へのマッピングを示しています。

セレクタードロップダウンリストの値 対応する時系列セレクタが使用されている
SLI 値 select_slo_health
SLO コンプライアンス select_slo_compliance
残りの SLO エラー予算 select_slo_Budget_fraction

SLO クエリのエイリアスパターン

Alias By フィールドを使用して、SLO クエリの凡例キーの形式を制御できます。

エイリアスパターン 説明 結果の例
{{project}} GCP プロジェクト名を返します。 myProject
{{service}} サービス名を返します。 myService
{{slo}} SLO を返します。 latency-slo
{{selector}} セレクターを返します。 select_slo_health

SLO クエリの調整期間と時間別のグループ化

SLO クエリは、メトリクスクエリと同じ調整期間機能を使用します。詳細については、「メトリクスクエリ」を参照してください。

テンプレート

メトリクスクエリでサーバー、アプリケーション、センサー名などのモノをハードコーディングする代わりに、代わりに変数を使用できます。変数は、ダッシュボードの上部にドロップダウン選択ボックスとして表示されます。これらのドロップダウンボックスを使用して、ダッシュボードに表示されるデータを変更できます。

テンプレート変数とテンプレート変数の詳細については、「」を参照してくださいテンプレートと変数

クエリ変数

Query 型の変数を使用すると、さまざまなタイプのデータを Google Cloud Monitoring にクエリできます。Google Cloud Monitoring データソースプラグインには、次の が用意されていますQuery Types

名前 説明
Metric Types 指定されたサービスで使用できるメトリクスタイプ名のリストを返します。
Labels Keys resource label 指定されたメトリクスの metric labelおよび のキーのリストを返します。
Labels Values 指定されたメトリクス内のラベルの値のリストを返します。
Resource Types 指定されたメトリクスのリソースタイプのリストを返します。
Aggregations 指定されたメトリクスの集計 (シリーズ間のリデューサー) のリストを返します。
Aligners 指定されたメトリクスのアリーマー (シリーズアリーマーごと) のリストを返します。
Alignment periods Grafana の Google Cloud Monitoring クエリエディタで使用できるすべての調整期間のリストを返します。
Selectors SLO (サービスレベル目標) クエリで使用できるセレクタのリストを返します。
SLO Services SLO クエリで使用できるサービスモニタリングサービスのリストを返します。
Service Level Objectives (SLO) 指定された SLO サービスの SLO のリストを返します。

クエリでの変数の使用

次の 2 つの構文があります。

  • $<varname> 例: metric.label.$metric_label

  • [[varname]] 例: metric.label.[[metric_label]]

2 つの方法があるのはなぜですか? 最初の構文は読み書きが容易ですが、単語の途中で変数を使用することは許可されません。複数値またはすべての値を含めるオプションが有効になっている場合、Grafana はラベルをプレーンテキストから正規表現互換の文字列に変換します。つまり、 =~の代わりに を使用する必要があります=

‏注釈

注釈を使用して、グラフの上に豊富なイベント情報をオーバーレイできます。ダッシュボードメニュー/注釈ビューを使用して注釈クエリを追加します。注釈のレンダリングにはコストがかかるため、返される行数を制限することが重要です。Google Cloud Monitoring の注釈とイベントはまだ表示できませんが、Google Cloud Monitoring のカスタムメトリクスでうまく機能します。

注釈の詳細については、「」を参照してください‏注釈

注釈のクエリエディタを使用すると、メトリクスとフィルターを選択できます。タイトルフィールドとテキストフィールドはテンプレート化をサポートし、クエリから返されたデータを使用できます。例えば、タイトル フィールドには次のテキストを含めることができます。

{{metric.type}} has value: {{metric.value}}

結果の例: monitoring.googleapis.com/uptime_check/http_status has this value: 502

注釈クエリエディタのパターン

エイリアスパターン形式 説明 エイリアスパターンの例 結果の例
{{metric.value}} メトリクス/ポイントの値。 {{metric.value}} 555
{{metric.type}} 完全なメトリクスタイプを返します。 {{metric.type}} compute.googleapis.com/instance/cpu/utilization
{{metric.name}} メトリクス名の部分を返します。 {{metric.name}} instance/cpu/utilization
{{metric.service}} サービスパーツを返します。 {{metric.service}} compute
{{metric.label.xxx}} メトリクスラベル値を返します。 {{metric.label.instance_name}} grafana-1-prod
{{resource.label.xxx}} リソースラベルの値を返します。 {{resource.label.zone}} us-east1-b

Grafana パネルから Google クラウドコンソールの Metrics Explorer へのディープリンク

注記

この機能はメトリクスクエリでのみ使用できます。

パネルで時系列を選択すると、Google クラウドコンソールの Metrics Explorer で表示へのリンクを含むコンテキストメニューが表示されます。リンクを選択すると、Google クラウドコンソールで Metrics Explorer が開き、Grafana パネルからクエリが実行されます。リンクは、まずユーザーを Google アカウント選択に移動します。アカウントを正常に選択すると、ユーザーは Metrics Explorer にリダイレクトされます。提供されたリンクはどのアカウントでも有効ですが、アカウントがクエリで指定された GCP プロジェクトにアクセスできる場合にのみクエリが表示されます。