メインコンテンツまでスキップ
Sumo Logic Japanese

ラボ 3 - parse オプション

ログを parse することにより、メッセージの構造を理解し、意味のあるフィールドを特定することができます。
ログを parse することにより、メッセージの構造を理解し、意味のあるフィールドを特定することができます。

 

  1. parse operator の nodrop オプションにより、パターン条件や parse ステートメントと一致しないメッセージも結果に含めることができます。この例では、最初の parse ステートメントからのメッセージを削除して、2 番目の parse ステートメントで parse できるようにします。

_sourceCategory=Labs/Apache/Error

| parse "[client *]" as client_ip nodrop

| parse "mod_log_sql: *" as message

//| where isBlank(client_ip)

  1. parse field オプションを使用すると、すでに parse されたフィールドも parse できます。この例では、GitHub の値が大きい上位 5 件の Sumo Logic メッセージを特定します。まず、過去 30 日分のメッセージを検索して、メール アドレスを parse します。  その後、parse field オプションを使用して、メールアドレスをさらにユーザとドメインに parse し、対象とするユーザのみを選択してから、ユーザ別と ID 別にメッセージをカウントして、上位 5 件のメッセージを特定します。

_sourceCategory=Labs/Github and "committer"

| parse "\"email\":\"*\"" as email

| parse field=email "*@*" as users, domain

| where domain="sumologic.com"

| count by users

| top 5 users by _count

  1. parse multi オプションを使用すると、同じメッセージ中で複数回発生しているパターンを抽出できます。デフォルトでは、最初の発生パターンのみが parse されます。IP アドレスを検出するたびに同じメッセージが繰り返し抽出されるため、正確なカウントが可能になります。

_sourceCategory=labs/snort

| parse regex "(?<ip_address>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" multi

FER (Field Extraction Rules) によるメッセージの事前 parse
  1. Field Extraction Rules (FER) は、ログ メッセージが取り込まれた時点でフィールドを抽出します。利用できる FER (およびそれぞれの詳細) は、[Manage Data (データの管理)] → [Settings (設定)] → [FER (Field Extraction Rules)] で確認できます。FER メニューの画像

すでに設定されている Apache Access FER ルールの効果を確認するため、404 メッセージを Source IP 別にカウントします。

_sourceCategory=Labs/Apache/Access and status_code=404

| count by src_ip

クエリ構文を使用して src_ip フィールドを parse する必要はありません。

クイズ: 「正」か「誤」かで答えてください。

  1. parse operator には、csv、json、split、および keyvalue がある

  2. 一度 parse されたフィールドは、それ以上 parse することはできない

  3. FER (Field Extraction Rules) で parse されたフィールドは、フィールド ブラウザから利用できる

  • この記事は役に立ちましたか?