メトリクス加工
MXQL構文を使用してメトリクスを操作するコマンドについて説明します。行列処理ステップは、検索されたデータが各ステップを順次実行する構成です。したがって、この手順に含まれるコマンドの順序が重要です。
コマンド | 機能 |
---|---|
ROWNUM | 行番号フィールドを追加します。 |
SELECT | フィールドを選択します。選択されていないフィールドは検索されません。 |
CREATE | フィールドを追加します。 |
DELETE | フィールドを削除します。 |
RENAME | フィールド名を変更します。 |
GROUP | データをグループ化します。 |
ORDER | データをソートします。 |
JOIN | 他のMQLで取得したデータを本データにカラム単位で追加するときに使用します。 |
UPDATE | データの加工とクリーニング。 |
LIMIT | 抽出されるデータの数を制限します。 |
SKIP | その場所で検索される一部のデータを無視します。 |
FILTER-KEYS | 特定のデータを含む、データのみを抽出します。 |
FIRST-ONLY | データのうち、最初のデータのみ送られ、残りは破棄されます。 |
TIME-FILTER | 特定の時間にデータをスキップするときに使用します。 |
INJECT | その場所にMXQLクエリを追加します。 |
ADJUST | 数値フィールドの値を変更するために使用します。 |
FILTER | 特定の条件を持 つデータのみが次のステップに渡されます。 |
ROWNUM
行番号フィールドを追加します。
CATEGORY agent_list
FLEXLOAD
ROWNUM
SELECT
フィールドを選択します。選択されていないフィールドは、次の手順に渡されません。
オプション名 | オプション機能 |
---|---|
default | like 、notlike に関係なく、照会したいフィールドを設定します。 |
like | 設定値を部分文字列として持つフィールドのみが表示されます。 |
notlike | 設定値を部分文字列として持たないフィールドのみが検索されます。 |
-
すべてのフィールドが選択されている場合は、 1 (
SELECT
コマンド、オペランド両方を入力していない場合)CATEGORY app_counter
TAGLOAD -
すべてのフィールドが選択されている場合は、 2 (
SELECT
コマンドのオペランドを入力されていない場合)CATEGORY app_counter
TAGLOAD
SELECT -
照会するフィールド名を設定する場合は、文字列配列のオペランドを使用します。
CATEGORY app_counter
TAGLOAD
SELECT [time, pcode] -
default
に設定するフィールドの値が1つしかなく、like
オプションを使用する場合CATEGORY app_counter
TAGLOAD
SELECT {default:time, like:_m} -
default
に設定するフィールドの値が複数ある場合、like
オプションを使用する場合、default
として設定するフィールドの値が複数ある場合とlike
オプションを使用する場合CATEGORY app_counter
TAGLOAD
SELECT {default:[time,name], like:_m} -
like
とnotlike
の両方を使いたい場合は、SELECT
コマンドを2回入力する必要があります。CATEGORY app_counter
TAGLOAD
SELECT {default:[time,name], like:name}
SELECT {notlike:pname}
- フィールド全体を選択する場合、オペランドを入力されません。
like
とnotlike
は同時に設定することができません。 複数のSELECT
時間に設定する必要があります。
SELECT
コマンドは、出力フィールドの順序を変更するときに使用します。
CREATE
フィールドを追加します。
オプション名 | オプション機能 |
---|---|
value | 特定の値を持つフィールドを作成 |
from | 特定の値を持つフィールドを作成します。 |
expr | 入力した数式の結果を値として、フィールドを作成します。数式には、フィールド名を使用します。 |
oname | oid カラム名を設定しoid 値に対応するoname 値のカラ ムを作成します。 |
okind | okind カラム名を設定して、okind 値に対応するokind name 値のカラムを作成します。 |
onode | onode カラム名を設定して、onode 値に対応するonode name 値のカラムを作成します。 |
-
value
属性を設定する場合CATEGORY app_counter
TAGLOAD
CREATE {key:active$, value:'#'} -
from
属性を設定する場合CATEGORY app_counter
TAGLOAD
CREATE {key:_id_, from:okind } -
expr
属性を設定する場合CATEGORY app_counter
TAGLOAD
CREATE { key:apdex, expr:" (apdex_satisfied(apdex_tolerated*0.5))/apdex_total " } -
okind
属性を設定する場合CATEGORY agent_list
FLEXLOAD
CREATE { key : my_okind_name, okind : okind}
SELECT [ time, okind, okindName, my_okind_name]
DELETE
フィールドを削除します。
CATEGORY app_counter
TAGLOAD
DELETE [pcode]
文字列の配列で入力する必要があります。DELETE
pcode
は動作しません。 (2021-06-23時点)
RENAME
フィールド名を変更します。
-
pcode
フィールド名をmy_pcode
に変更します。CATEGORY app_counter
TAGLOAD
RENAME { src : pcode, dst : my_pcode }
time
は、ORDER
で使用されるソート基準あり、time
の名前を任意に変更すると、ORDERが機能しない場合があります。
GROUP
データをグループ化します。
オプション名 | オプション機能 |
---|---|
timeunit | グループを分割する時間のしきい値を設定します。 |
pk or primaryKey | グループのprimaryKey を設定します。 |
last | 設定したカラム(column)のデータの最後の値のみを保存する場合に設定します。oname のように繰り返して同じ値を使用する場合に使用します。内部で設定した値は、key値に上書きされます。 |
listup | 設定したカラム(column)のデータをすべてメモリに保存する場合に設定します。内部で設定した値は、key値としてListに継続的に追加されます。 |
ユーザー | リアルタイムユーザーを計算するためのオプションです。Blobタイプのデータを保存するカラム(column)を設定できます。(app_user カテゴリのlogbits など) |
merge | 設定したカラム(column)のデータをMetricValue(複合値)として保存する場合に設定します。内部的には、設定値をkeyとしてMetric Value値に追加されます。 |
rows | 1つのグループで保存できるデータの最大数を設定します。既定値は10000 です。 |
-
設定したフィールドを
merge
に設定し、MetricValue に設定し、sum演算を実行します。CATEGORY app_counter
TAGLOAD
SELECT [ time, okindName, okind, apdex_satisfied, apdex_tolerated, apdex_total]
GROUP { timeunit:5000, pk:okind, last:okindName, merge:[apdex_satisfied, apdex_tolerated, apdex_total] }
UPDATE { key:[apdex_satisfied, apdex_tolerated, apdex_total], value:sum }
原則としてmerge
フィールドは個別に設定する必要があります。ただし、last
、merge
、listup
の3つの属性をすべて指定されていない場合は、すべてのnumber
フィールドはmerge
フィールドに、number
フィールドではないフィールドはlast
フィールドに自動的に選択されます。
もし、レコードにtime
フィールドがない場合は、全体をグループ化します。
GROUP
コマンドが実行される前に、SELECT
コマンドでtime
フィールドが設定されていない場合RENAME
コマンドでtime
フィールド名を変更した場合DELETE
コマンドでtime
フィールドを削除した場合
UPDATE
フィールドのデータを変更します。MetricValueの状態のフィールドに対して操作を選択することができます。
オプション | 機能 |
---|---|
sum | MetricValueに含まれる、値を追加します。 |
min | MetricValueに保存されている最小値を検索します。 |
max | MetricValueに含まれる、最大値を検索します。 |
last | MetricValueに含まれる、最後の値を取得します。 |
avg | MetricValueに含まれる値の平均を求めます。 |
cnt | MetricValueに含まれる値の数を検索します。 |
datetime | 時刻データの形式を変更します。 |
timezone |