如何使用kibana创建get请求参数的可视化?

时间:2016-09-03 18:49:51

标签: logstash kibana elastic-stack

使用apache访问日志,如何创建GET请求参数的可视化。例如:

rawrequest字词如下:

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

我希望获得symbol部分的分析:TKG

所以我可以看到最受欢迎的东西。

我目前有以下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 个答案:

答案 0 :(得分:1)

提取符号部分:使用您的grok模式,它位于rawrequest字段或request字段中。所以你需要考虑两个,使用两个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的更多信息。