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

How to create a visualisation of get request parameters with kibana?

如何使用 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 的可视化中提取此类信息?

提取符号部分:使用您的 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 中创建可视化。
可视化术语流行度的最简单方法是使用带有拆分条桶的垂直条形图 => 字段符号上的术语聚合。

你会得到类似的东西:

您可以找到有关可视化效果的更多信息 here