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

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

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

Grafana には、メトリクススペースの迅速な移動、関数の追加、関数パラメータの変更などを可能にする高度な Graphite クエリエディタがあります。エディタは、すべてのタイプのグラファイトクエリを処理できます。クエリ参照を使用して、複雑なネストされたクエリを処理することもできます。

Graphite の設定

Graphite 設定にアクセスするには、設定 (歯車) アイコンで一時停止し、データソース を選択し、Graphite データソースを選択します。

名前 説明
Name データソース名。これは、パネルとクエリでデータソースを表示する方法です。
Default デフォルトのデータソースは、新しいパネルに対して事前に選択されることを意味します。
URL graphite-web または graphite-api インストールの HTTP プロトコル、IP、ポート。
Access サーバー (デフォルト) = URL は Grafana バックエンド/サーバーからアクセス可能である必要があります。
Auth
Basic Auth データソースへの基本認証を有効にします。
User 基本認証のユーザー名。
Password 基本認証のパスワード。
Custom HTTP Headers ヘッダーの追加 を選択して、カスタム HTTP ヘッダーを追加します。
Header カスタムヘッダー名を入力します。
Value カスタムヘッダー値を入力します。
Graphite details
Version Graphite のバージョンを選択します。
Type Graphite のタイプを選択します。

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

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

すべてのリクエストはブラウザから Amazon Managed Grafana に転送され、リクエストはデータソースに転送され、Cross-Origin Resource Sharing (CORS) の要件を回避します。このアクセスモードを選択した場合、URL は Amazon Managed Grafana からアクセス可能である必要があります。

ブラウザアクセスモード

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

Graphite クエリエディタ

Grafana には、クエリの構築に役立つ Graphite 固有のクエリエディタが含まれています。

Graphite に送信されるクエリの未加工テキストを表示するには、テキスト編集モード (鉛筆) の切り替えアイコンを選択します。

クエリするメトリクスの選択

メトリクスの選択 を選択して、メトリクススペースをナビゲートします。起動後、ポインタまたはキーボードの矢印キーを引き続き使用できます。ワイルドカード文字を選択しても続行できます。

関数

関数を追加するには、関数 の横にあるプラスアイコンを選択します。関数を検索するか、メニューから選択できます。関数を選択すると、その関数が追加され、最初のパラメータのテキストボックスにフォーカスが表示されます。パラメータを編集または変更するには、パラメータを選択すると、テキストボックスに変わります。- 関数を削除するには、関数名に続いて x アイコンを選択します。

などの一部の関数はaliasByNode、オプションの 2 番目の引数をサポートしています。引数を追加するには、最初の引数を一時停止し、表示される+記号を選択します。2 番目のオプションパラメータを削除するには、それを選択し、空白のままにします。エディタによって削除されます。

ソートラベル

一貫した順序付けが必要な場合は、 を使用しますsortByName。これは、複数のグラフに同じラベルがあり、それぞれ異なるソートと異なる色を使用した場合に、迷惑になる可能性があります。これを修正するには、 を使用しますsortByName()

ネストされたクエリ

クエリは、クエリが存在する行文字で参照できます (Microsoft Excel と同様)。グラフに 2 番目のクエリを追加する場合は、#A と入力して最初のクエリを参照できます。これにより、複合クエリを構築するための便利な方法が提供されます。

ワイルドカード文字を使用した多くのクエリの回避

場合によっては、同じグラフに複数の時系列がプロットされることがあります。例えば、CPU がマシンでどのように使用されているかを確認することができます。最初は、cpu.percent.user.g、 などの時系列ごとにクエリを追加してグラフを作成できますcpu.percent.system.g。これにより、データソースに対してクエリが n 件行われ、非効率になります。

より効率的にするために、検索でワイルドカード文字を使用し、すべての時系列を 1 つのクエリで返すことができます。例えば cpu.percent.*.g です。

テーブルまたはグラフのメトリクス名の変更

alias 関数を使用して、Grafana テーブルまたはグラフのメトリクス名を変更します。例えば、 aliasByNode() または ですaliasSub()

ポイント統合

すべての Graphite メトリクスは統合されているため、Graphite はグラフにピクセルがあるよりも多くのデータポイントを返しません。デフォルトでは、この統合は avg関数を使用して行われます。Graphite consolidateBy 関数を追加することで、Graphite がメトリクスを統合する方法を制御できます。

注記

つまり、凡例のサマリー値 (最大、最小、合計) がすべて同時に正しいとは限りません。これらは Grafana によってクライアント側で計算されます。また、統合関数によっては、1 つまたは 2 つの だけが同時に正しい状態になります。

時系列の組み合わせ

時系列を組み合わせるには、関数リストで結合を選択します。

データ探索とタグ

Graphite では、すべてがタグです。

データを調べる場合、以前に選択したタグを使用して残りの結果セットをフィルタリングします。データを選択するには、タグ式 (、=、、=~!=~) を使用して時系列をフィルタリングする !=seriesByTag関数を使用します。

Grafana クエリビルダーは、タグを選択すると自動的にこれを行います。

注記

ヒント: 正規表現の検索は高カーディナリティタグでは遅くなる可能性があるため、最初に他のタグを使用してスコープを縮小してみてください。特定の名前または名前空間から始めると、結果を減らすのに役立ちます。

テンプレート変数

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

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

タグ値を使用して変数を作成するには、Grafana 関数 tagsおよび を使用しますtag_values

Query 説明
tags() すべてのタグを返します。
tags(server=~backend\*) フィルター式に一致する連続して発生するタグのみを返します。
tag_values(server) 指定されたタグのタグ値を返します。
tag_values(server, server=~backend\*) 指定されたタグに対して発生するフィルタリングされたタグ値を、それらの式と一致する連続して返します。
tag_values(server, server=~backend\*, app=~${apps:regex}) 複数のフィルター式と式には、他の変数を含めることができます。

詳細については、タグ のオートコンプリート API の「Graphite docs」を参照してください。

クエリ変数

クエリフィールドで指定するクエリは、メトリクス検索タイプのクエリである必要があります。例えば、 などのクエリprod.servers.*は、ワイルドカードの位置に存在するすべての可能な値で変数を埋めます。

定義で他の変数を使用するネストされた変数を作成することもできます。例えば、 クエリ定義$appで 変数apps.$app.servers.*を使用します。

を使用してクエリ変数の結果__searchFilterをフィルタリングする

クエリフィールド__searchFilterで を使用すると、ドロップダウン選択ボックスに入力した内容に基づいてクエリ結果がフィルタリングされます。何も入力しない場合、 のデフォルト値__searchFilter*であり、正規表現の一部として使用する場合は `` です。

次の例は、ユーザーがドロップダウン選択ボックスにテキストを入力serverしている間に、 をクエリフィールド__searchFilterの一部として使用して検索を有効にする方法を示しています。

Query

apps.$app.servers.$__searchFilter

TagValues

tag_values(server, server=~${__searchFilter:regex})

可変使用量

変数は、メトリクスノードパスまたは関数のパラメータとして使用できます。

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

  • $<varname> 例: apps.frontend.$server.requests.count

  • ${varname} 例: apps.frontend.${server}.requests.count

2 つの方法があるのはなぜですか? 最初の構文は読み書きが容易ですが、単語の途中で変数を使用することは許可されません。などの式で 2 番目の構文を使用しますmy.server${serverNumber}.count

タグクエリでの可変使用量

タグクエリの複数値変数は、Grafana 5.0 で導入された高度なフォーマット構文を変数 に使用します{var:regex}。タグ以外のクエリでは、複数値変数にデフォルトの glob 形式が使用されます。

次のコード例は、正規表現フォーマットで、等号演算子 を使用したタグ式を示しています=~

server=~${servers:regex}

詳細については、「高度な変数形式のオプション」を参照してください。

‏注釈

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

Graphite は、注釈をクエリする 2 つの方法をサポートしています。

  • 通常のメトリクスクエリ。そのためには、Graphite クエリテキストボックスを使用します。

  • Graphite イベントクエリ。そのためには、Graphite event tagsテキストボックスを使用し、タグまたはワイルドカード文字を指定します (空のままにしておくと機能します)。