OpenSearch データソースに接続する - Amazon Managed Grafana

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

OpenSearch データソースに接続する

注記

バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインのインストールが必要になる場合があります。詳細については、「プラグインを使用したワークスペースの拡張」を参照してください。

Amazon Managed Grafana では、オープンソースの OpenSearch (またはレガシー Elasticsearch) をデータソースとして追加できます。OpenSearch に保存されているログまたはメトリクスを視覚化するために、単純または複雑なさまざまな種類の OpenSearch クエリを実行できます。OpenSearch に保存されているログイベントを使用してグラフに注釈を付けることもできます。

OpenSearch をデータソースとして追加する

注記

OpenSearch データソースを追加するには、Grafana IAM アカウントを ALL_ACCESS ロールと SECURITY_MANAGER ロールに追加する必要があります。

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

  2. [ダッシュボード] リンクのサイドメニューには、名前付き [データソース] リンクがあります。

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

  4. [タイプ] ドロップダウンリストから [OpenSearch] を選択します。

注記

サイドメニューに [データソース] リンクが表示されない場合は、現在のユーザーに Admin ロールが付与されていないことを示します。

名前 説明
Name データソース名。これは、パネルとクエリ内へのデータソースの表示のされ方です。
Default デフォルトのデータソースは、新しいパネル用に事前に選択されたデータソースです。
Url OpenSearch サーバーの HTTP プロトコル、IP、ポート。
Access サーバー (デフォルト) = URL は Grafana バックエンド/サーバーからアクセス可能である必要があります。ブラウザ = URL はブラウザからアクセス可能である必要があります。

アクセスモードは、データソースへのリクエストの処理方法を制御します。他に何も記述されていない場合は、サーバーが優先されます。

サーバーアクセスモード (デフォルト)

すべてのリクエストはブラウザから Grafana バックエンドまたはサーバーに行われ、リクエストはデータソースに転送されるため、クロスオリジンリソース共有 (CORS) 要件を回避できます。このアクセスモードを選択する場合、URL は Grafana バックエンドまたはサーバーからアクセス可能である必要があります。

ブラウザ (直接) アクセス

Amazon Managed Grafana は、OpenSearch データソースのブラウザへの直接アクセスをサポートしていません。

インデックス設定

ここでは、time field のデフォルトを指定し、OpenSearch インデックスの名前を指定できます。インデックス名またはワイルドカード文字に時間パターンを使用できます。

OpenSearch/Elasticsear バージョン

バージョンドロップダウンメニューで OpenSearch またはレガシー Elasticsearch バージョンを指定します。バージョンごとにクエリの構成方法が異なるため、バージョンは重要です。現在、Grafana は OpenSearch 1.0.x をサポートしています。サポートされている Elasticsearch のバージョンは、2.0+5.0+5.6+6.0+7.0+ です。値 5.6+ はバージョン 5.6 以降、6.0 未満を意味します。値 6.0+ はバージョン 6.0 以降、7.0 未満を意味します。最後に、7.0+ はバージョン 7.0 以降、8.0 未満を意味します。

最小時間間隔

時間間隔による自動グループの下限。データを 1 分ごとに書き込む場合は 1m など、書き込み頻度に設定することをお勧めします。このオプションは、[Data Source] (データソース) オプションのダッシュボードパネルで上書き/設定することもできます。この値は、1m (1 分) や 30s (30 秒) など、有効な時間識別子が続く数値としてフォーマットする必要があります。以下の時間識別子がサポートされています。

識別子 説明
y
M
w
d
h 時間
m
s
ms ミリ秒

ログ

2 つのパラメータである Message field nameLevel field name は、オプションで、Explore のログを視覚化するときにログメッセージとログレベルに使用されるフィールドを決定するデータソース設定ページから設定できます。

例えば、OpenSearch へのログの配送に Filebeat のデフォルト設定を使用する場合、次の設定が機能します。

  • メッセージフィールド名: メッセージ

  • レベルフィールド名: fields.level

データリンクは、Explore のログビューでアクセスできる指定されたフィールドからリンクを作成します。

各データリンク設定は、以下で構成されます。

  • フィールド – データリンクで使用されるフィールドの名前。

  • URL/クエリ – リンクが外部である場合は、完全なリンク URL を入力します。リンクが内部リンクの場合、この入力はターゲットデータソースのクエリとして機能します。どちらの場合も、${__value.raw } マクロを使用してフィールドから値を補間できます。

  • 内部リンク – リンクが内部または外部である場合に選択します。リンクが内部の場合、データソースセレクタを使用すると、ターゲットデータソースを選択できます。データソースのトレースのみがサポートされています。

OpenSearch データソースの使用

メトリクスクエリエディタ

OpenSearch クエリエディタを使用すると、複数のメトリクスを選択し、複数の用語またはフィルターでグループ化できます。右側のプラスアイコンとマイナスアイコンを使用して、メトリクスまたはグループを句で追加/削除します。一部のメトリクスと group by 句にはオプションがあります。オプションテキストを選択して行を展開し、オプション別にメトリクスまたはグループを表示および編集します。

シリーズの名前付けとエイリアスパターン

Alias 入力フィールドを使用して時系列の名前を制御できます。

パターン 説明
{{term fieldname}} Group By という用語の値に置き換え。
{{metric}} メトリクス名に置き換え (例:平均、最小、最大)。
{{field}} メトリクスフィールド名に置き換え。

パイプラインメトリクス

例えば、移動平均派生など、一部のメトリクス集約はパイプライン集約と呼ばれます。OpenSearch パイプラインメトリクスは、別のメトリクスに基づく必要があります。メトリクスの横にある目のアイコンを使用して、メトリクスがグラフに表示されないようにします。これは、パイプラインメトリクスで使用するクエリにのみあるメトリクスに役立ちます。

テンプレート作成

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

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

クエリ変数

OpenSearch データソースは、[クエリ]変数の[クエリ]フィールドで使用できる 2 種類のクエリをサポートしています。クエリは、カスタム JSON 文字列を使用して記述します。

クエリ 説明
{"find": "fields", "type": "keyword"} インデックスタイプ keyword のフィールド名のリストを返します。
{"find": "terms", "field": "@hostname", "size": 1000} 用語集約を使用してフィールドの値のリストを返します。クエリは、クエリの時間範囲として現在のダッシュボードの時間範囲を使用します。
{"find": "terms", "field": "@hostname", "query": '<lucene query>'} 用語集約と指定された Lucene クエリフィルターを使用して、フィールドの値のリストを返します。クエリは、クエリの時間範囲として現在のダッシュボードの時間範囲を使用します。

用語クエリにはデフォルトのサイズ制限 500 があります。カスタム制限を設定するには、クエリのサイズプロパティを設定します。クエリでは、その他の変数を使用できます。次のコード例は、$host という名前の変数のクエリ定義を示しています。

{"find": "terms", "field": "@hostname", "query": "@source:$source"}

前の例では、クエリ定義内で $source という名前の別の変数を使用します。$source 変数の現在の値をドロップダウンリストで変更すると、$host 変数の更新が開始されます。更新後、$host 変数にはホスト名のみが含まれます。この場合、@source ドキュメントプロパティによってフィルタリングされます。

デフォルトでは、これらのクエリは用語の順序で返されます (その後、任意の変数と同様にアルファベット順または数値順にソートできます)。ドキュメント数でソートされた用語のリスト (上位 N の値リスト) を作成するには、doc_countorderBy プロパティを追加します。これにより、降順ソートが自動的に選択されます。doc_count (降順 N リスト) で asc を使用するには、order: "asc" を設定しますが、ドキュメントカウントのエラーが増加するため、推奨されません。ドキュメントカウントの順序で用語を保持するには、変数の [ソート] ドロップダウンリストを[無効]に設定します。または、[アルファベット]順を使用して再ソートすることもできます。

{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}

クエリでの変数の使用

2 つの構文があります。

  • $<varname> 例: @hostname:$hostname

  • [[varname]] 例: @hostname:[[hostname]]

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

前の例では、$hostname という名前の変数を使用して @hostname プロパティに基づいてドキュメントをフィルタリングする Lucene クエリがあります。また、フィールド入力ボックス別の用語グループで変数を使用しています。これにより、変数を使用してデータのグループ化方法をすばやく変更できます。

‏注釈

注釈を使用すると、グラフの上にリッチイベント情報をオーバーレイできます。ダッシュボードメニューまたは注釈ビューを使用して注釈クエリを追加します。Grafana は、注釈イベントの OpenSearch インデックスをクエリできます。詳細については、「‏注釈」を参照してください。

名前 説明
Query 検索クエリは空白のままにするか、Lucene クエリを指定できます。
Time 時間フィールドの名前。 日付フィールドである必要があります。
Time End 終了時刻フィールドのオプション名は日付フィールドである必要があります。設定されている場合、注釈は時間と終了時間の間のリージョンとしてマークされます。
Text イベントの説明フィールド。
Tags イベントタグに使用するオプションのフィールド名 (配列または CSV 文字列)。

ログのクエリ

OpenSearch からのログデータのクエリと表示は、Explore で確認できます。ログを表示するには、OpenSearch データソースを選択し、オプションで Lucene クエリを入力します。詳細については、「Explore」を参照してください。

ログクエリ

結果が返されると、ログパネルにログ行のリストと棒グラフが表示されます。x 軸は時間、y 軸は頻度またはカウントを示します。

ログメッセージのフィルタリング

必要に応じて、クエリフィールドに Lucene クエリを入力して、ログメッセージをフィルタリングできます。例えば、デフォルトの Filebeat 設定を使用すると、fields.level:error を使用してエラーメッセージのみを表示できます。