照会ビルダー
クエリビルダを使用すると、 DataPrime, Lucene や PromQL 構文を知らなくても、カスタム IBM® Cloud Logs ダッシュボードウィジェット用のクエリを構築できます。
ウィジェットを定義するとき、 ビルダー・モードか クエリ・モードかを選択できます。
メトリクスベースのクエリー
メトリックスを使用するウィジェットを作成するときは、ソースとしてビルダー・モード、 メトリックスの順に選択します。
照会タイプ
クエリーのタイプは、 インスタント・クエリー またはレンジ・クエリーのいずれかを選択します。 クエリは、ダッシュボードのタイムピッカーまたはウィジェットのタイムフレームで定義された特定の時間枠で実行されます。
-
インスタントクエリモードでは、選択した時間枠の終了タイムスタンプを中心に、1時点のメトリック値が表示されます。 インスタント・クエリ・モードは、リアルタイム・モニタリングに最適で、可視化された瞬間のデータのスナップショットを提供します。 また、データセット全体を取得することなく、最新のデータポイントのみを取得するため、よりパフォーマンスが高い。
-
レンジクエリモードでは、指定された期間のメトリックデータを取得し、集計します。 これは、クエリにマッチする開始と終了のタイムスタンプの間のすべてのデータポイントを返します。 時間枠が変わると、システムは自動的に間隔を調整し、グラフに表示されるデータポイントの数を最適化する。 レンジクエリーモードは、トレンドの特定や定義された期間におけるパフォーマンスの評価に最適です。
メトリック名
利用可能なメトリクスが動的に表示されるドロップダウンメニューから、希望のメトリクスを選択します。 オートコンプリート機能を使用して、メトリック名、ラベル、および値を調べることができます。
フィルター
フィルタを追加するには、 +をクリックします。メトリックのラベルと関連する値を選択して、メトリックをフィルタリングします。
ドロップダウンメニューから = または != 演算子を選択し、1つまたは複数の値を含めたり除外したりします。 =~ 、または !~ 演算子を使えば、 RegEx 式を入力できる。
ラベルと値のペアをさらに追加するには、 +をクリックして行を追加する。
関数
メトリクスとラベルを選択することで、有効な Prometheus クエリを作成できますが、関数を使用することで、より複雑なクエリを作成することもできます。
関数を追加するには、 +をクリックします。 aggregation, count, rollup 関数から選択します。
集約関数は、一連の値を計算し、単一の値を返します。 これらの機能には、 SUM()、 AVG()、 MIN()、 MAX()、 COUNT() などがある。 機能を選択したら、ドロップダウンメニューから集計するラベルを選択するか、ラベルの値を入力します。
| 集計 | 説明 |
|---|---|
average |
選択した時間範囲内の全データポイントの平均値。 |
count |
選択した時間範囲内のデータポイントの総数。 |
min |
選択した時間範囲内のデータポイントの中で最小の値。 |
max |
選択した時間範囲内のデータポイントの中で最大の値。 |
sum |
選択した時間範囲内のすべてのデータポイントの合計。 |
quantile |
quantile(phi, q) by (group_labels) 関数は、 q によって返される時系列内の各ラベルグループについて、 phi-quantile を計算する集約関数である。 phi の値は、 [0...1] の範囲内でなければならない。 分位値は、同じタイムスタンプを持つポイントのセットごとに別々に計算される。 |
histogram_quantile |
histogram_quantile 関数は、提供されたヒストグラムバケットに基づいて phi-percentile を計算する変換関数である。 phi の値は [0...1] の間でなければならない。 例えば、 histogram_quantile(0.5, sum(rate(http_request_duration_seconds_bucket[5m])) by (le)) は過去5分間の全リクエストのリクエスト時間の中央値を返します。 |
カウント関数は、一連の値に対して計算を実行し、単一の値を返します。 これらの関数には、 Count()、 Absent()、 Absent over time()、 Present over time()、 Changes()、 Resets()、その他が含まれる。
| 数 | 説明 |
|---|---|
count |
選択した時間範囲内のデータポイントの総数。 |
absent |
時系列にポイントがない場合は1を返す。 そうでなければ、空の結果を返す。 |
absent over time |
指定された時間範囲に生サンプルが含まれていない場合は1を返す。 |
present over time |
指定された時間範囲内に少なくとも1つの生サンプルがあれば1を返す。 |
changes |
提供された時間範囲内で時系列値が変化した回数。 |
resets |
指定された時間範囲内でのカウンターのリセット回数。 |
ロールアップ関数とは、指定した時間範囲の時系列データを集計する関数を指す。 これらの関数は、 average (avg_over_time)、 sum (sum_over_time)、 minimum (min_over_time)、 maximum (max_over_time)、 count (count_over_time)、
quantiles (quantile_over_time) のような指標を、ある時間ウィンドウにわたって計算する。 メートル法のデータを要約し、分析するために使用される。
| ROLLUP | 説明 |
|---|---|
average over time |
時間範囲にわたる時系列値の平均を計算する。 |
max over time |
時系列データの時間範囲における最大値を求めます。 |
min over time |
時系列データの最小値を時間範囲で決定します。 |
sum over time |
時系列和は、時間範囲にわたる時系列値の和を計算します。 |
count over time |
時系列中の NaN 以外の要素の数を、ある時間範囲にわたってカウントする。 |
quantile over time |
時系列データの指定された分位数を時間範囲にわたって計算する。 |
機能を選択した後、照会する範囲を数字または ${__range} で選択します。 ${__range} はダッシュボードの時間範囲の期間を表します。 PromQL でサポートされている区間文字列としてレンダリングされる。 例えば、 13.00 から 14.30 までの時間範囲を選択した場合、 ${__range} 変数は 90m として表示される。
ランク関数を使用すると、クエリ内でデータの並べ替え、ランク付け、フィルタリングを行うことができます。 それらを使って、特定の指標や値に基づいて結果を絞り込むことができる。
ランク関数を追加するには、 + をクリックし、 TOPK、 SORT、 SORT Descending から選択する。 ランク関数を選択したら、メトリックとパラメータを指定して設定します(たとえば、クエリで TOPK について取得したい K 結果の数を入力します)。
| ランク | 説明 |
|---|---|
TOPK |
指定されたメトリックに基づいて、データセットから最高 K の結果を取得します。 TOPK 、最上位のデータポイントを表示する。 |
SORT |
選択したメトリックに基づいて昇順にデータを並べ替えます。 SORT を使って、最小値から最大値までデータを整理する。 |
SORT Descending |
選択した指標に基づいて降順にデータを並べ替える。 SORT Descending を使用して、結果セットの最初にある最大の値を優先する。 |
ログベースのクエリー
ログベースのクエリビルダでは、Luceneベースのクエリを作成し、フィルタや関数を追加することで、複雑なクエリを作成できます。
ログを使用するウィジェットを構築する場合、ソースとしてビルダー・モード、 ログを選択します。
また、 優先順位の洞察 または 分析とアラート データパイプラインでログを照会するかどうかを選択する必要がある。
フィルター
フィルタを追加するには、 +をクリックする。ラベルと関連する値を選択します。
ドロップダウンメニューから = または != 演算子を選択し、1つまたは複数の値を含めたり除外したりします。 =~ 、または !~ 演算子を使えば、 RegEx 式を入力できる。
ラベルと値のペアをさらに追加するには、 +をクリックします。
関数
関数を追加するには、 +をクリックします。関数を使用して集計値を選択します。
| 関数 | 説明 |
|---|---|
Count |
選択した時間範囲内のデータポイントの総数。 |
Count Distinct |
選択した時間範囲内のユニークなデータポイントの数。 |
Sum |
選択した時間範囲内のすべてのデータポイントの合計。 |
Min |
選択した時間範囲内のデータポイントの中で最小の値。 |
Max |
選択した時間範囲内のデータポイントの中で最大の値。 |
Average |
選択した時間範囲内の全データポイントの平均値。 |
Percentile XX |
XX%未満のデータポイントが該当する値を表す。 例えば、 Percentile 95 は、 95% 以下のデータポイントが該当する値である。 |
Group byを使用すると、1つまたは複数のフィールドでクエリ結果をグループ化できます。
DataPrime クエリ
ウィジェットのベースとして、 DataPrime クエリを作成できます。
優先順位の洞察、 分析とアラート データパイプラインでログを照会するかどうかを選択する必要がある。
ログデータに基づいてクエリを作成する場合、クエリビルダーの 「Convert to DataPrime 」をクリックして、クエリを DataPrime 構文言語に変換するオプションがあります。
変換されると、変換されたクエリは DataPrime タブに表示されます。
データソースを変更したり、クエリを DataPrime, に変換したりすると、クエリビルダーの元のクエリパラメータは失われます。 ウィジェットを保存すると、ウィジェットの最新の状態が保存されます。
ウィジェット時間
ダッシュボードのタイムピッカーは、クエリのデフォルトの時間枠を設定します。 設定中のウィジェットの時間枠をカスタマイズするには、[ ウィジェットの時間] をクリックし、トグルをオフに切り替えてダッシュボードの時間枠からのリンクを解除します。 次に、設定するウィジェット専用の標準またはカスタムの時間枠を選択できます。