signature
lineフィールドの文字列から特殊文字だけを集めたシグネチャ文字列を生成してsignatureフィールドに割り当てます。パーサーを開発する前にパターン種別ごとのログサンプルを抽出する目的で使用します。
コマンドプロパティ
| 項目 | 説明 |
|---|---|
| コマンドタイプ | 加工クエリ |
| 必要な権限 | なし |
| ライセンス使用量 | 該当なし |
| 並列実行 | 対応 |
| 分散実行 | 非対応 |
構文
signature
入力フィールド
| フィールド | 型 | 必須/任意 | 説明 |
|---|---|---|---|
line | string | 必須 | シグネチャを抽出する元の文字列。値がnullの場合はそのレコードをスキップします。 |
出力フィールド
| フィールド | 型 | 説明 |
|---|---|---|
signature | string | 元の文字列から英字と数字を除いた特殊文字で構成されるシグネチャ |
エラーコード
パースエラー
該当なし
ランタイムエラー
該当なし
説明
signatureコマンドは、lineフィールドの文字列から英字と数字を除いた特殊文字だけを抽出してsignatureフィールドに割り当てます。ダブルクォーテーション(")で囲まれた区間内の特殊文字は抽出対象から除外されます。
このコマンドは、ログデータからパターン種別を分類するのに有用です。同じシグネチャを持つログは同じ形式を共有している可能性が高いため、statsコマンドと組み合わせると種別ごとのサンプルログを抽出できます。
lineフィールドがnullのレコードは出力から除外されます。
使用例
これらの使用例で参照するWEB_APACHE_SAMPLEテーブルを準備するには、クエリ実習用データを参照してください。
-
シグネチャ別の最初のサンプルログを抽出
table WEB_APACHE_SAMPLE | signature | stats first(line) as sample by signature各シグネチャ種別ごとに最初のログサンプルを抽出します。
-
シグネチャ別のログ件数を確認
table WEB_APACHE_SAMPLE | signature | stats count by signature | sort -countシグネチャ別のログ件数を集計して件数の多い順に並べ替えます。
-
特定のシグネチャパターンのログをフィルタリング
table WEB_APACHE_SAMPLE | signature | search signature == ". . . [.] \". .\" . ."Apacheアクセスログ形式に該当するシグネチャパターンに一致するログのみをフィルタリングします。
互換性
signatureコマンドは、Sonar 4.0以前のバージョンから提供されています。