本文へスキップ

メトリクス読み込み

MXQL構文を使用してメトリクスを取得する方法を学びます。

コマンド機能
TAGLOAD収集したデータをtag-field形式で保存するカテゴリの情報を表示するために使用します。
FLEXLOAD収集したデータをfield形式で保存するカテゴリの情報を表示するために使用します。
LogSinkログの元データを照会する際に使用します。
LogSinkCount時間単位でログ件数を集計する際に使用します。

TAGLOAD

収集したデータをtag-field形式で保存するカテゴリの情報を表示するために使用します。

オプション機能
{backward : true}時系列の逆順にデータを読み込みます。
{filter : {key:fieldName, value :fieldValue}}fieldNameフィールドの値がfieldValueと同じデータのみを抽出します。
{filter : {key:fieldName, exclude :fieldValue}}fieldNameフィールドの値がfieldValueと同じデータを除外して抽出します。
{filter : {key:fieldName, like :fieldValue}}fieldNameフィールドの値がfieldValueを部分文字列として持つデータを抽出します。
{filter : {key:fieldName, notlike :fieldValue}}fieldNameフィールドの値がfieldValueを部分文字列として持つデータを除いて抽出します。
  • オプションを設定していない場合

    CATEGORY app_counter
    TAGLOAD
  • backwardオプションを設定した場合

    CATEGORY app_counter
    TAGLOAD {backward : true}
  • value filterを設定する場合

    CATEGORY app_counter
    TAGLOAD {filter : {key:pid, value:905}}
  • exclude filterを設定する場合

    CATEGORY app_counter
    TAGLOAD {filter : {key:pid, exclude:905}}
  • like filterを設定する場合

    CATEGORY app_counter
    TAGLOAD {filter : {key:okindName, like:keeper}}
  • notlike filterを設定する場合

    CATEGORY app_counter
    TAGLOAD {filter : {key:okindName, notlike:keeper}}
  • 複数のfilterを設定する場合

    CATEGORY app_counter
    TAGLOAD { filter:[{key:'host_ip', exclude:'192.168.1.102'}, {key:'container', like:'gateway'}] }
注意
  • TAGLOADFLEXLOADは、それぞれ設定可能なCATEGORYの値が決まっています。
  • fileter-likeまたはfilter-notlikeオプションを使用する場合、値に番号が付けられている場合、バッククォート(' ')またはダブルクォート(" ")で囲まないと動作しません。
    CATEGORY app_counter
    TAGLOAD { filter:[{key:'host_ip', exclude:'192.168.1.102'},{key:okindName, like:"1"}] }

FLEXLOAD

収集されたデータをfield形式で保存するカテゴリの情報を照会するために使用します。

オプション機能
{backward : true}時系列の逆順にデータを読み込みます。

データ検索条件の段階で設定した情報に従ってデータを読み込みます。

CATEGORY event_cache
FLEXLOAD {backward : true}
注意

ほとんどのカテゴリはTAGLOADを使います。次の文書に含まれるカテゴリのデータを使用する場合のみFLEXLOADを使用します。

FLEXLOADを使用するカテゴリ一覧

  • agent_listカテゴリ

    CATEGORY agent_list
    FLEXLOAD
    SELECT
  • db_agent_listカテゴリ

    CATEGORY db_agent_list
    FLEXLOAD
    SELECT
  • agent_countカテゴリ

    CATEGORY agent_count
    FLEXLOAD
    SELECT
  • event_cacheカテゴリ

    CATEGORY event_cache
    FLEXLOAD
    SELECT

LogSink

ログの元データを照会する際に使用します。

CATEGORY AppLog
LogSink

ログフィルタリング

特定の条件でログをフィルタリングする際にLogTagを使用します。

CATEGORY AppLog
LogTag {key:city, value:"junju"}
LogTag {key:status, value:"200", exclude:true}
LogSink

LogTagパラメータ

  • key: 検索するインデックスキー
  • value: 検索する値(ワイルドカード使用可能)
  • exclude: 検索除外の可否(true/false)

重要事項

  • LogTagはLogSinkまたはLogSinkCountの前に記述する必要があります
  • LogTagは同じキーまたは異なるキーに対して様々に記述できます
  • 検索キーワード単位でLogTagを追加する必要があります

特定のキーワードを含むログの件数を照会する例です。

CATEGORY AppLog
LogTag {key:content, value:"*DebugUtil*", exclude:false}
LogTag {key:content, value:"*HttpServletRequest*", exclude:true}
LogSink
SELECT
GROUP {timeunit:1d, pk:pcode, merge:[rows]}
RENAME {src:_rows_, dst:rows}
CREATE {key:_pk_, value:pcode}
UPDATE {key:rows, value:sum}

クエリの説明

  • 最初のLogTag: contentフィールドに「DebugUtil」を含むログを検索
  • 2番目のLogTag: contentフィールドに「HttpServletRequest」を含むログを除外
  • GROUPのtimeunit:1dで日別集計
  • merge:[rows]でログ件数をMetricValueタイプに変換
  • UPDATEのsumで日別総件数を計算

LogSinkCount

時間単位でログ件数を集計する際に使用します。

基本的な使い方

CATEGORY AppLog
LogSinkCount

時間帯別にログ件数が集計されます(例:1949、1625、1674...件)。

グループ別集計

特定のフィールドを基準にグループ化してログを集計できます。

単一フィールドグループ化

CATEGORY AppLog
LogSinkCount {group:oname}

複数フィールドグループ化

CATEGORY AppLog
LogSinkCount {group:"oname,oid"}

カンマで区切られた複数のフィールドを指定できます。

時間当たりグループ別集計

数値フィールドに対する集計演算を実行できます。

CATEGORY AppLog
LogSinkCount {group:oname, aggr:price.n}
ノート

Aggrに保存できるフィールドは数値(n)フィールドに限定されます。

複数フィールド集計

CATEGORY AppLog
LogSinkCount {group:oname, aggr:"price.n,age.n"}

aggrにはカンマで区切られた複数のフィールドを入力できますが、計算はそれぞれ行われます。

LogTagと一緒に使用

LogTagを使用して特定の条件のログのみを集計できます。

CATEGORY AppLog
LogTag {key:level, value:"ERROR"}
LogSinkCount {group:oname}

上記の例は、ERRORレベルのログのみをフィルタリングしてoname別に件数を集計します。