2016-09-03 10 views
0

Apacheのアクセスログを使用して、GETリクエストパラメータの視覚化を作成する方法を教えてください。だから私は最も人気があるかを見ることができますTKGkibanaでget要求パラメータのビジュアライゼーションを作成する方法は?

:私はsymbol一部の分析を取得したい

"GET /feed/history?symbol=TKG&resolution=D&from=1472064457&to=1472928457 HTTP/1.1" 200 1340 

:たとえば:よう

rawrequest項が見えます。

私は現在、次のgrok matchがあります

grok { 
    match => { 
    "message" => "%{HOSTNAME:vhost}:%{NUMBER:port} %{IPORHOST:clientip} - - 
\[%{HTTPDATE:timestamp}\] (?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/% 
{NUMBER:httpversion})?|%{DATA:rawrequest}) %{QS:agent}" 
    } 
} 

はkibanaの可視化で、このような情報を抽出する方法はありますか?

答えて

1

シンボル部分の抽出:grokパターンでは、rawrequestフィールドまたはrequestフィールドのいずれかになります。したがって、2つのgrokフィルタを使用して、両方を考慮する必要があります。

if [request] == "" { 
    grok { 
     match => { 
      "rawrequest" => [ 
       "%{GREEDYDATA}symbol=%{WORD:symbol}%{GREEDYDATA}" 
      ] 
     } 
    } 
} else { 
    grok { 
     match => { 
      "request" => [ 
       "%{GREEDYDATA}symbol=%{WORD:symbol}%{GREEDYDATA}" 
      ] 
     } 
    } 
} 

フィールドをElasticsearchに保存したら、Kibanaでビジュアライゼーションを作成できます。
用語の人気を視覚化する最も簡単な方法は、分割バーのバケット=>フィールドシンボルの用語集合を使用する垂直棒グラフを使用することです。

Vertical bar chart with term aggregation

あなたが視覚化hereに関する詳細な情報を見つけることができます。

あなたはそのような何かを持っています。

+0

シンボルフィールドを作成する方法が難しいですが、これは既にあります: 'grok { match => {" message "=>"%{ホスト名:vhost}:%{番号:ポート}%{IPORHOST: HTTP /%{NUMBER:httpversion})?%{DATA:rawrequest}){{{{{HTTP}}}}}}} %@ QS:agent} " } } – surfer190

+0

@ surfer190切り詰められたログの代わりに完全なログの例を入れておいてください。このコードスニペットは、コメントではなく質問に属しています。 – baudsp

+0

@ surfer190誰かがあなたを助けることができるというあなたの質問に十分な情報がないということです。 [ガイドライン](http://stackoverflow.com/help/mcve)を参照する必要がありますが、それは理由があります。 – baudsp

関連する問題