Log Service のダッシュボードにフィルターを適用することで、ダッシュボード全体のクエリをより詳細にすることや、プレースホルダーを置き換えることができます。
- フィルタータイプ:
[search query]
の前に、フィルターの条件となるキーと値を追加します。クエリステートメントはkey:value AND [search query]
になります。もとのクエリステートメントの結果からキー:値
を含むログのみが抽出されます。 - プレースホルダータイプ: ダッシュボードにプレースホルダーを設定しているグラフがある場合、グラフのクエリステートメントのプレースホルダーは選択した値に置き換えられます。
コンポーネント
- キー (フィルターするキー)
- リスト項目 (フィルターするキーの値)
制限
- 各ダッシュボードに追加できるフィルターは最大 5 つ
- フィルタータイプの場合、複数の値を選択するか、もしくは、入力してくださいテキストボックスに値を入力します。複数の値を選択した場合、各値は
OR
条件としてフィルターされます。
前提条件
- インデックスを有効にして、設定していること
- ダッシュボードを作成し、プレースホルダーを設定していること
手順
- 登录日志服务控制台,单击Project名称。
- 照会/分析列の照会をクリックします。
- 左側のナビゲーションメニューより、作成したダッシュボードをクリックします。
- ダッシュボードページの右上隅にあるフィルターの追加をクリックします。
- ダッシュボードのフィルターの表示設定を行います。
表 1. フィルターグラフ設定 構成項目 説明 グラフ名 フィルターグラフの名前 境界線の表示 フィルターグラフの境界線を表示 タイトルの表示 ダッシュボードにグラフのタイトルを表示 背景の表示 フィルターグラフの背景色を白く表示 - フィルターの追加をクリックしてフィルターを設定し、OK をクリックします。
表 2. フィルターの構成 構成項目 説明 タイプ フィルターは 2 種類 - フィルター
- プレースホルダー
キー - フィルタータイプ: フィルター条件のキー
- プレースホルダータイプ: 設定されているプレースホルダー
注 前提条件で設定したプレースホルダーを指定します。設定されていないプレースホルダーが指定されている場合、変換されません。リスト項目 フィルターするキーの値のリスト - フィルタータイプ: フィルターキーの値 (複数の値を指定可)。フィルターを作成後、ダッシュボードを表示すると、値を選択できます。
- プレースホルダータイプ: プレースホルダーキーの置き換える値。プレースホルダー値を設定します。 フィルターを作成後、ダッシュボードを開いた際に、置換する値を選択できます。
注 リスト項目の右側のテキストボックスにリスト項目の値を入力し、リスト項目の追加をクリックします。ドロップダウンモード リスト項目の表示方法 - オン: ドロップダウンリストにリスト項目が表示される
- オフ: リスト項目がオプションとして次の方法で表示される
- フィルタータイプ: チェックボックス
- プレースホルダータイプ: ラジオボタン
ダッシュボードページは自動的に更新され、新規フィルターの設定ページが表示されます。選択してくださいドロップダウンリストより、プレースホルダーに入れる値を選択し、追加をクリックします。
フィルタータイプの場合、複数の値を選択するか、入力してくださいテキストボックスに値を入力します。複数の値を選択した場合、各値は OR
条件としてフィルターされます。
シナリオ
フィルターは、ダッシュボードのクエリ条件を動的に変える場合や、グラフのプレースホルダーの値を別の値に置き換える場合に適用します。各グラフは、照会および分析ステートメント[search query] | [sqlquery]
の実行結果です。フィルターを適用することにより、そのステートメントを変えることができます。
- フィルタータイプ:
[search query]
の前に、フィルター条件を指定してAND
で続けると、クエリステートメントはキー:値 AND [search query]
に書き換えられます。 - プレースホルダータイプ: ダッシュボードでプレースホルダーの設定されているグラフのプレースホルダーが、選択した
値
に置き換えられます。
例
- シナリオ 1 : 時間の精度を変更
クエリ分析ステートメントを使用して、分単位の PV を表示することができす。秒単位の測定データを表示するには、
次のステートメントにより、毎分の PV 数を表示します。__ time__ - __time__%60
の値を変更する必要があります。従来の方法では、クエリ分析ステートメントを変更する必要があり、クエリの階層が深い場合には大変でしたこのような場合、にフィルターを使用して変数を置き換えます。* | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
- ダッシュボードにグラフを追加します。なお、プレースホルダーのデフォルト値を
60
、変数名をinterval
にします。
- フィルターを追加し、プレースホルダータイプを選択します。
- タイプ:
プレースホルダー
- キー:
interval
- リスト項目:
1
(1 秒ごと) および120
(2 分ごと)
- タイプ:
- フィルターのリスト項目に
1
を選択すると、プレースホルダーのクエリステートメントは次の通りとなり、ダッシュボードには秒単位の測定データが表示されます。* | SELECT date_format(__time__ - __time__ % 1, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
- ダッシュボードにグラフを追加します。なお、プレースホルダーのデフォルト値を
- シナリオ 2 : フィルター条件を動的に切り替えるフィルターを使用して動的にリクエストメソッドを切り替えることができます。シナリオ 1 のクエリステートメントは
*
で始まるため、フィルター条件が指定されていないことになります (すべてのログがクエリ対象)。フィルターを追加して各アクセスのrequest_method
統計を表示させることができます。- シナリオ 1 のダッシュボードに新しいフィルターを追加し、設定を次のとおりにします。
- タイプ:
フィルター
- キー:
request_method
- リスト項目:
GET
、POST
、およびPUT
- タイプ:
- フィルターのドロップダウンリストより
GET
を選択し、また、リスト項目にDELETE
を追加します。クエリ分析ステートメントは次のように変更され、
request_method
がGET
およびDELETE
のアクセス統計のみがグラフに表示されます。(*) and (request_method: GET OR request_method: DELETE) | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
- シナリオ 1 のダッシュボードに新しいフィルターを追加し、設定を次のとおりにします。