Previous Top Next
- 11. ログを抽出・分割して保存するには
11. ログを抽出・分割して保存するには
Graylogでは、テキストのログから、内容を抽出・分解することができます。 この機能のことをextractorと呼びます。
11.1. extractorとは
extractorは、テキストのログメッセージを分割するための機能です。 正規表現などのルールを使い、ログのフィールド分割を行なうことができます。

分割して登録したフィールドは、検索やグラフの作成に活用できます。
11.2. extractor設定画面への遷移
extractorの設定画面には、複数の画面から遷移できます。
11.2.1. 検索画面から
メニューの Search
をクリックすると検索画面が表示されます。

検索画面の All Messages
に表示されているログをクリックすると、ログが展開されます。
さらに次の図は、 message
フィールドのメニューをクリックした場合の図です。

Create extractor
をクリックすると、Extractor の種類を選択する画面が表示されます。

Hint
Extractor の種類については extractorの種類 を参照してください
11.2.2. Input設定画面から
メニューからInputsの画面に遷移します。

次に Manage extractors
をクリックするとextractorの管理画面が表示されます。

さらに、 Get started
をクリックし、 Load Message
をクリックすると、最近のログを読み込むことができます。
読み込んだログの分割したいフィールド右側にある Select extractor type
からExtractor の種類を選択して、設定画面に遷移します。

Hint
Extractor の種類については extractorの種類 を参照してください
11.3. extractorの種類
11.3.1. Copy input
Copy inputは、特定のフィールドの値を、別のフィールドに登録するためのextractorです。

入力値の説明は次のとおりです。
Source field
: extractorを適用するフィールドです。Condition
Always try to extract
:常にこのextracterを適用するOnly attempt extraction
:フィールドに特定の文字列が含まれている場合にこのextractorを適用する
if field contains stringOnly attempt extraction
:フィールドの値と正規表現がマッチする場合にこのextractorを適用する
if matches regular expression
Note
フィールドの値とマッチングする選択肢の場合、マッチさせる文字列や正規表現を入力するフォームが表示されます。
Store as field
- コピーしたデータを保存するフィールド名を指定します
Extractor title
- extractorの設定のタイトルを指定します
Add Converter
- データを変換するコンバータを指定します
Hint
コンバータについては コンバータ(converter) を参照してください
11.3.2. Grok pattern
Grok patternは、メッセージをGrok patternと呼ばれる正規表現のルールの集合で分割するextractorです。

入力値の説明は次のとおりです。
Source field
: extractorを適用するフィールドです。Named captures only
:チェックすると下記のGrok pattern
の中で、明示的にフィールド名が指定されているデータのみ、保存されます。
Note
Grok patternは、1つのパターンの中で、複数のパターンを利用するという入れ子の形になっています。上記をチェックしないと、入れ子になっている全てのパターンについて、マッチしたデータのフィールドが作成されます。
Grok pattern
: Grok patternと呼ばれる正規表現をまとめたパターンを入力します。いくつかのGrok patternは、既に準備されています。現在利用できるGork patternは、Filter pattern
で確認できます。Try against example
: ボタンをクリックすると、ログ解析のテスト結果を表示します。
Note
例えば、Apache HTTP Serverのログであれば、COMMONAPACHELOGというパターンが既に用意されています。これを上記に設定する場合、%{COMMONAPACHELOG}のように設定をします。なお上記フィールドに直接正規表現を記載することもできます。
Hint
パターンの作成方法については、ログ分析パターンの管理方法 を参照してください。
Condition
Always try to extract
:常にこのextracterを適用するOnly attempt extraction
:フィールドに特定の文字列が含まれている場合にこのextractorを適用する
if field contains stringOnly attempt extraction
:フィールドの値と正規表現がマッチする場合にこのextractorを適用する
if matches regular expression
Note
フィールドの値とマッチングする選択肢の場合、マッチさせる文字列や正規表現を入力するフォームが表示されます。
Extraction strategy
Copy
: パターンにマッチした情報を、別のフィールドにコピーするCut
: パターンにマッチした情報を、元のフィールドから削除して別のフィールドに移動する
Note
source や message フィールドにextractorを適用する場合、cutを選択しても元の情報を削除できません。
Extractor title
- extractorの設定のタイトルを指定します
11.3.3. JSON
JSONは、JSON形式のメッセージを分割するためのextratorです。

入力値の説明は次のとおりです。
Source field
: extractorを適用するフィールドです。Flatten structures
:チェックすると入れ子になっているJSONデータを展開しませんList item separator
: JSONの配列の区切り文字を指定します。Key separator
: 入れ子になっているJSONデータのフィールド名の区切り文字を指定します。Flatten structures
のチェックが無い場合に利用されます。Key/Value separator
: 入れ子になっているJSONデータを解析した結果の、フィールドと値の区切り文字を指定します。Flatten structures
のチェックがある場合に利用されます。
Note
例えば、{"data": {"text": "abc"}}というデータの場合、チェックが無いとdata_textというフィールドにabcが登録されます。チェックをすると、dataフィールドにtest=abcなどのデータが登録されます。
Replace whitespaces in Keys
: チェックをすると、JSONのキーにスペースが入っている場合に、他の文字に置き換えます。Key whitespace replacement
: スペースを置き換える文字を指定します。Try
: ボタンをクリックすると、ログ解析のテスト結果を表示します。Condition
Always try to extract
:常にこのextracterを適用するOnly attempt extraction
:フィールドに特定の文字列が含まれている場合にこのextractorを適用する
if field contains stringOnly attempt extraction
:フィールドの値と正規表現がマッチする場合にこのextractorを適用する
if matches regular expression
Note
フィールドの値とマッチングする選択肢の場合、マッチさせる文字列や正規表現を入力するフォームが表示されます。
Extraction strategy
cut
: パターンにマッチした情報を、元のフィールドから削除して別のフィールドに移動するcopy
: パターンにマッチした情報を、別のフィールドにコピーする
Note
source や message フィールドにextractorを適用する場合、cutを選択しても元の情報を削除できません。
Extractor title
- extractorの設定のタイトルを指定します
11.3.4. Regular expression(正規表現)
Regular expressionは、正規表現によってメッセージを分割するためのextratorです。

入力値の説明は次のとおりです。
Source field
: extractorを適用するフィールドです。Regular expression
:正規表現を指定します。Try
: ボタンをクリックすると、ログ解析のテスト結果を表示します。Condition
Always try to extract
:常にこのextracterを適用するOnly attempt extraction
:フィールドに特定の文字列が含まれている場合にこのextractorを適用する
if field contains stringOnly attempt extraction
:フィールドの値と正規表現がマッチする場合にこのextractorを適用する
if matches regular expression
Note
フィールドの値とマッチングする選択肢の場合、マッチさせる文字列や正規表現を入力するフォームが表示されます。
Store as field
: 正規表現にマッチしたデータを登録するフィールド名を指定します。Extraction strategy
cut
: パターンにマッチした情報を、元のフィールドから削除して別のフィールドに移動するcopy
: パターンにマッチした情報を、別のフィールドにコピーする
Note
source や message フィールドにextractorを適用する場合、cutを選択しても元の情報を削除できません。
Extractor title
- extractorの設定のタイトルを指定します
Add Converter
- データを変換するコンバータを指定します
Hint
コンバータについては コンバータ(converter) を参照してください
11.3.5. Replace with regular expression(正規表現による分割と置換)
Replace with regular expressionは、正規表現によってメッセージを分割/置換するためのextratorです。

入力値の説明は次のとおりです。
Source field
: extractorを適用するフィールドです。Regular expression
: 正規表現を指定します。Replacement
: 置換後の文字列を指定します。正規表現でグルーピングした値は$1..などの変数を使って参照できます。Try
: ボタンをクリックすると、ログ解析のテスト結果を表示します。Condition
Always try to extract
:常にこのextracterを適用するOnly attempt extraction
:フィールドに特定の文字列が含まれている場合にこのextractorを適用する
if field contains stringOnly attempt extraction
:フィールドの値と正規表現がマッチする場合にこのextractorを適用する
if matches regular expression
Note
フィールドの値とマッチングする選択肢の場合、マッチさせる文字列や正規表現を入力するフォームが表示されます。
Store as field
: 正規表現にマッチしたデータを登録するフィールド名を指定します。Extraction strategy
cut
: パターンにマッチした情報を、元のフィールドから削除して別のフィールドに移動するcopy
: パターンにマッチした情報を、別のフィールドにコピーする
Note
source や message フィールドにextractorを適用する場合、cutを選択しても元の情報を削除できません。
Extractor title
- extractorの設定のタイトルを指定します
Add Converter
- データを変換するコンバータを指定します
Hint
コンバータについては コンバータ(converter) を参照してください
11.3.6. Split & Index (文字列の分割)
Split & Indexは、特定の区切り文字によって、ログを分割するextractorです。

入力値の説明は次のとおりです。
Source field
: extractorを適用するフィールドです。split by
: 区切り文字を指定します。Target index
: 区切り文字で分割した後、抽出するデータのインデックスを指定します。
Note
[aaa bbb ccc]というデータの場合に、2を指定すると、[aaa bbb]が下記のStore as fieldに指定したフィールドに保存されます。
Try
: ボタンをクリックすると、ログ解析のテスト結果を表示します。Condition
Always try to extract
:常にこのextracterを適用するOnly attempt extraction
:フィールドに特定の文字列が含まれている場合にこのextractorを適用する
if field contains stringOnly attempt extraction
:フィールドの値と正規表現がマッチする場合にこのextractorを適用する
if matches regular expression
Note
フィールドの値とマッチングする選択肢の場合、マッチさせる文字列や正規表現を入力するフォームが表示されます。
Store as field
: 正規表現にマッチしたデータを登録するフィールド名を指定します。Extraction strategy
cut
: パターンにマッチした情報を、元のフィールドから削除して別のフィールドに移動するcopy
: パターンにマッチした情報を、別のフィールドにコピーする
Note
source や message フィールドにextractorを適用する場合、cutを選択しても元の情報を削除できません。
Extractor title
- extractorの設定のタイトルを指定します
Add Converter
- データを変換するコンバータを指定します
Hint
コンバータについては コンバータ(converter) を参照してください
11.3.7. Substr (文字数による抽出)
Substrは、文字数によって、ログを抽出するextractorです。

入力値の説明は次のとおりです。
Source field
: extractorを適用するフィールドです。Begin index
: 抽出する文字の開始位置を指定します。End index
: 抽出する文字の開始位置を指定します。
Note
test dataというログの場合、 Begin index
を6、 End index
を4にした場合、dataという文字列が抽出できます。
Try
: ボタンをクリックすると、ログ解析のテスト結果を表示します。Condition
Always try to extract
:常にこのextracterを適用するOnly attempt extraction
:フィールドに特定の文字列が含まれている場合にこのextractorを適用する
if field contains stringOnly attempt extraction
:フィールドの値と正規表現がマッチする場合にこのextractorを適用する
if matches regular expression
Note
フィールドの値とマッチングする選択肢の場合、マッチさせる文字列や正規表現を入力するフォームが表示されます。
Store as field
: 正規表現にマッチしたデータを登録するフィールド名を指定します。Extraction strategy
cut
: パターンにマッチした情報を、元のフィールドから削除して別のフィールドに移動するcopy
: パターンにマッチした情報を、別のフィールドにコピーする
Note
source や message フィールドにextractorを適用する場合、cutを選択しても元の情報を削除できません。
Extractor title
- extractorの設定のタイトルを指定します
Add Converter
- データを変換するコンバータを指定します
Hint
コンバータについては コンバータ(converter) を参照してください
11.3.8. Lookup table
Lookup tableは、登録済みのLookup tableルールによってメッセージを分割するためのextratorです。

入力値の説明は次のとおりです。
Source field
: extractorを適用するフィールドです。Lookup table
: Lookup tableを選択します。
Hint
Lookup tableについては 値のマッピングによるログの加工方法(Lookup tableの設定) を参照してください
Try
: ボタンをクリックすると、ログ解析のテスト結果を表示します。Condition
Always try to extract
:常にこのextracterを適用するOnly attempt extraction
:フィールドに特定の文字列が含まれている場合にこのextractorを適用する
if field contains stringOnly attempt extraction
:フィールドの値と正規表現がマッチする場合にこのextractorを適用する
if matches regular expression
Note
フィールドの値とマッチングする選択肢の場合、マッチさせる文字列や正規表現を入力するフォームが表示されます。
Store as field
: 正規表現にマッチしたデータを登録するフィールド名を指定します。Extraction strategy
cut
: パターンにマッチした情報を、元のフィールドから削除して別のフィールドに移動するcopy
: パターンにマッチした情報を、別のフィールドにコピーする
Note
source や message フィールドにextractorを適用する場合、cutを選択しても元の情報を削除できません。
Extractor title
- extractorの設定のタイトルを指定します
Add Converter
- データを変換するコンバータを指定します
Hint
コンバータについては コンバータ(converter) を参照してください
11.4. コンバータ(converter)
コンバータは、extractorによって分解されたデータを、さらに加工するための機能です。 以下のコンバータを利用することができます。
numeric
: 値を数値に変換しますDate
: 値を下記のオプションに従って、任意の日付フォーマットに変換します。Format string
: 日付のフォーマットを指定します。Time Zone
: タイムゾーンを選択します。Locale
: ロケールを選択します。
hash
: 値をMD5ハッシュに変換します。Split & Count
: 任意の値でデータを分割した数に変換します。Anonymize IPv4 addresses
: IPv4アドレスの最後のオクテットを隠します。Syslog level from PRI
: SyslogプロトコルのPRI部をsyslogレベルに変換します。Syslog facility from PRI
: SyslogプロトコルのPRI部をsyslog facilityに変換します。Key = Value Pairs to Field
: キー = 値のペアをフィールドに登録します。CSV to fields
: CSV形式のデータをフィールドに登録します。Field names
: field1, field2のようにCSVのカラムと対応するフィールド名を指定します。Separator character
: 区切り文字を指定します。Quote character
: 囲い文字を指定します。Escape character
: エスケープ文字を指定ます。
Lowercase
: 値を小文字に変換します。Uppercase
: 値を大文字に変換します。Flexibly parse date
: 設定したタイムゾーンに合うよう、柔軟に日付フォーマットを変換しますLookup table
: Lookup tableで値を変換します。
Hint
Lookup tableについては 値のマッピングによるログの加工方法(Lookup tableの設定) を参照してください