Amazon OpenSearch Service データソースの使用 - Amazon Managed Grafana

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

Amazon OpenSearch Service データソースの使用

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

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

パイプ処理言語 (PPL) の使用

Amazon OpenSearch Service データソースは、パイプ処理言語 (PPL) をサポートしています。PPL を使用すると、 のクエリと視覚化の機能がシンプルでありながら強力になります OpenSearch。PPL を使用すると、長い OpenSearch ドメイン固有言語 (DSL) ステートメントを作成したり、JSON オブジェクトを使用してクエリを記述したりすることなく、データを探索して検索できます。PPL を使用すると、UNIX パイプに似たパイプで区切られた一連のコマンドとしてクエリを記述できます。

例として、次のサンプル DSL クエリを使用します。

GET opensearch_sample_data_logs/_search{"from":0,"size":0,"timeout":"1m","query":{"bool":{"should":[{"term":{"response.keyword":{"value":"404","boost":1}}},{"term":{"response.keyword":{"value":"503","boost":1}}}],"adjust_pure_negative":true,"boost":1}},"sort":[{"_doc":{"order":"asc"}}],"aggregations":{"composite_buckets":{"composite":{"size":1000,"sources":[{"host":{"terms":{"field":"host.keyword","missing_bucket":true,"order":"asc"}}},{"response":{"terms":{"field":"response.keyword","missing_bucket":true,"order":"asc"}}}]},"aggregations":{"request_count":{"value_count":{"field":"request.keyword"}},"sales_bucket_sort":{"bucket_sort":{"sort":[{"request_count":{"order":"desc"}}],"size":10}}}}}}>

前述の DSL クエリは、簡潔で人間が読み取れる次の PPL コマンドに置き換えることができます。

source = opensearch_sample_data_logs | where response='404' or response='503' | stats count(request) as request_count by host, response | sort –request_count

PPL の詳細については、「パイプ処理言語 を使用した Amazon OpenSearch Service データのクエリ」を参照してください。

シリーズの命名パターンとエイリアスパターン

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

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

パイプラインメトリクス

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

テンプレート

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

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

クエリ変数

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

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

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

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

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

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

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

クエリでの変数の使用

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

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

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

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

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

‏注釈

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

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

ログのクエリ

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

ログクエリ

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

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

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