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

全般的な検索例のクイック ガイド

全般的な検索例のクイック ガイドには、さまざま用途で役に立つ検索クエリの例が紹介されています。

このクイック ガイドの例では、必要に応じて以下のような Apache ログ メッセージを使用します。

10.154.181.28 - - [24/Jan/2012:12:34:58 -0700] "GET /Courses/Topics/54.htm HTTP/1.1"
200 9951 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko)
Chrome/16.0.912.75 Safari/535.7"
Host: raw_hosted_apps Name: /usr/sumo/collector-16.1-5/logs/reporter.log Category: apache

キーワード式

使用例 Sumo Logic クエリの例
su または sudo で root 権限の使用に失敗した場合を検索する。 (su OR sudo ) AND (fail* OR error)
sshd ログのエラーを検索する。 sshd AND (fail* OR error OR allowed OR identity)
ルータ メッセージを除いて、一般的な承認失敗を検索する。 auth* AND (fail* OR error?) NOT _sourceCategory=routers

詳細については、「キーワード検索式」を参照してください。

Parse、Count、および Top オペレータ

使用例 Sumo Logic クエリの例
"from" および "to" フィールドを抽出する。たとえば、未処理のイベントに "From: Jane To: John" が含まれている場合は、from=Jane および to=John になります。 * | parse "From: * To: *" as (from, to)
IP アドレスの 4 つのオクテット対応する正規表現を使用して、ソース IP アドレスを抽出する。 *| parse regex "(?<src_ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"
アクセスされたすべての URL アドレスを特定し、"url" フィールドとして抽出する。 _sourceCategory=apache 
| parse "GET * " as url
ソース カテゴリ "apache" のトラフィックを特定して、ソース アドレス、メッセージ サイズ、およびアクセスされた URL を抽出する。 _sourceCategory=apache 
| parse "* " as src_IP 
| parse " 200 * " as size 
| parse "GET * " as url
ソース カテゴリ "apache" について、各ソース IP アドレスへ送信されるバイト数の合計を計算する。 _sourceCategory=apache 
| parse "* " as src_IP 
| parse " 200 * " as size 
| count, sum(size) by src_IP
ソース カテゴリ "apache" について、すべての正常な HTTP 応答の平均サイズを計算する。 _sourceCategory=apache 
| parse " 200 * " as size 
| avg(size)
ソース カテゴリ "apache" について、ログ メッセージにサイズ フィールドが欠落していても、ソース、サイズ、および URL を抽出する (nodrop)。 _sourceCategory=apache 
| parse "* " as src_IP 
| parse " 200 * " as size nodrop 
| parse "GET * " as url
URL へのアクセス回数を特定する。 _sourceCategory=apache 
| parse "GET * " as url 
| count by url
ソース IP アドレスごとのページの合計数を特定する。 _sourceCategory=apache 
| parse "* -" as src_ip 
| count by src_ip
ソース IP アドレスごとのページの合計数を特定して、ロード頻度の高いページ順に並び替える。 _sourceCategory=apache 
| parse "* " as src_ip 
| parse "GET * " as url 
| count by url 
| sort by _count
リクエストされた上位 10 ページを特定する。 * | parse "GET * " as url 
| count by url 
| top 10 url by _count 
帯域幅使用率の上位 10 ソース IP アドレスを特定する。 _sourceCategory=apache 
| parse " 200 * " as size 
| parse "* -" as src_ip 
| sum(size) as total_bytes by src_ip 
| top 10 src_ip by total_bytes 
ヒット数の上位 100 ソース IP アドレスを特定する。 _sourceCategory=apache 
| parse "* -" as src_ip 
| count by src_ip 
| top 100 src_ip by _count 

詳細については、「Parse」「Count」、および「Top」を参照してください。

 

Timeslice と Transpose

使用例 Sumo Logic クエリの例
ソース カテゴリ "apache" について、ステータス コードおよびタイムスライス 1 時間ごとに集計する。 _sourceCategory=apache* 
| parse "HTTP/1.1\" * * \"" as (status_code, size) 
| timeslice 1h 
| count by _timeslice, status_code
ソース カテゴリ "apache" について、ステータス コードおよびタイムスライス 1 時間ごとに集計して、ステータス コードを列に転置する。 _sourceCategory=apache* 
| parse "HTTP/1.1\" * * \"" as (status_code, size) 
| timeslice 1h 
| count by _timeslice, status_code 
| transpose row _timeslice column status_code
ソース カテゴリ "apache" について、ステータス コードごとに、タイムスライスは検索結果を 5 バケットにして集計する。 _sourceCategory=apache* 
| parse "HTTP/1.1\" * * \"" as (status_code, size) 
| timeslice 5 buckets 
| count by _timeslice, status_code
ソース カテゴリ "Apache/Access" について、ステータス コード カテゴリごとにメッセージを集計して、200番台、300番台、400番台、および 500番台すべてを 1 つにまとめる。

_sourceCategory=Apache/Access
| timeslice 15m
| if (status_code matches "20*",1,0) as resp_200
| if (status_code matches "30*",1,0) as resp_300
| if (status_code matches "40*",1,0) as resp_400
| if (status_code matches "50*",1,0) as resp_500
| if (!(status_code matches "20*" or status_code matches "30*" or status_code matches "40*" or status_code matches "50*"),1,0) as resp_others
| count(*), sum(resp_200) as tot_200, sum(resp_300) as tot_300, sum(resp_400) as tot_400, sum(resp_500) as tot_500, sum(resp_others) as tot_others by _timeslice

または以下のクエリを使用できます。_sourceCategory=Apache/Access
| timeslice 15m 
| if(status_code matches "20*","200s",
if(status_code matches "30*","300s",
if(status_code matches "40*","400s",
if(status_code matches "50*","500s","Other")))) as status_code_group
| count by _timeslice, status_code_group
| transpose row _timeslice column status_code_group 

詳細については、「Timeslice」「Transpose」を参照してください。

条件オペレータ

使用例 Sumo Logic クエリの例
ソース カテゴリ "apache" について、クライアント エラー ステータス コードが 400 番台のメッセージをすべて検索する。 _sourceCategory=apache* 
| parse "HTTP/1.1\" * * \"" as (status_code, size) 
| where status_code matches "40*"
ソース カテゴリ "apache" について、ブラウザごとのヒット数を集計する。 _sourceCategory=Apache/Acces
| extract "\"[A-Z]+ \S+ HTTP/[\d\.]+\" \S+ \S+ \S+ \"(?<agent>[^\"]+?)\"" 
| if (agent matches "*MSIE*",1,0) as ie 
| if (agent matches "*Firefox*",1,0) as firefox 
| if (agent matches "*Safari*",1,0) as safari 
| if (agent matches "*Chrome*",1,0) as chrome 
| sum(ie) as ie, sum(firefox) as firefox, sum(safari) as safari, sum(chrome) as chrome
where オペレータを使用して週末日のみ特定する。 * | parse "day=*:" as day_of_week 
| where day_of_week in ("Saturday","Sunday")
パスにサブディレクトリ "Courses" が含まれている URL をすべて特定する。 *| parse "GET * " as url 
| where url matches "*Courses*"
数値 2、3 または 6 を含むバージョン番号を検索する。num オペレータを使用して文字列を数値に変換します。 * | parse "Version=*." as number | num(number) 
| where number in (2,3,6)

詳細については、「Where」および「If」を参照してください。

LogReduce オペレータ

使用例 Sumo Logic クエリの例
Sumo Logic のクラスタ化アルゴリズムを使用して、ご使用の環境のエラー/例外インシデントのパターンを検索する。 exception* or fail* or error* or fatal* 
| logreduce

詳細については、「LogReduce」を参照してください。

メタデータ フィールドの追加

メタデータ フィールドをキーワード式に追加すると、クエリで詳細を指定できます。メタデータ フィールドには、_sourceCategory_sourceHost、および _sourceName があります。

[Collection (コレクション)] タブでソース メタデータを編集します。

詳細については、「検索メタデータ」を参照してください。

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