gpt4 book ai didi

nginx - 在fluentd中解析nginx入口日志

转载 作者:行者123 更新时间:2023-12-04 18:03:02 24 4
gpt4 key购买 nike

我想在 Kubernetes 中使用 fluentd 解析入口 nginx 日志。在 Logstash 中这很容易,但我对流畅的语法感到困惑。

现在我有以下规则:

<source>
type tail
path /var/log/containers/*.log
pos_file /var/log/es-containers.log.pos
time_format %Y-%m-%dT%H:%M:%S.%NZ
tag kubernetes.*
format json
read_from_head true
keep_time_key true
</source>

<filter kubernetes.**>
type kubernetes_metadata
</filter>

结果我得到了这个日志,但它没有被解析:
127.0.0.1 - [127.0.0.1] - user [27/Sep/2016:18:35:23 +0000] "POST /elasticsearch/_msearch?timeout=0&ignore_unavailable=true&preference=1475000747571 HTTP/2.0" 200 37593 "http://localhost/app/kibana" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Centos Chromium/52.0.2743.116 Chrome/52.0.2743.116 Safari/537.36" 951 0.408 10.64.92.20:5601 37377 0.407 200

我想应用过滤规则,以便能够在 Kibana 中按 IP 地址、HTTP 方法等进行搜索。我该如何实现?

最佳答案

管道在 logstash 和 fluentd 中完全不同。构建有效的 Kubernetes -> Fluentd -> Elasticsearch -> Kibana 解决方案需要一些时间。

我的问题的简短回答是安装 流畅插件解析器插件(我想知道为什么它不在标准包中提供)并将此规则放在 之后kubernetes_metadata 筛选:

<filter kubernetes.var.log.containers.nginx-ingress-controller-**.log>
type parser
format /^(?<host>[^ ]*) (?<domain>[^ ]*) \[(?<x_forwarded_for>[^\]]*)\] (?<server_port>[^ ]*) (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+[^\"])(?: +(?<path>[^\"]*?)(?: +\S*)?)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)")? (?<request_length>[^ ]*) (?<request_time>[^ ]*) (?:\[(?<proxy_upstream_name>[^\]]*)\] )?(?<upstream_addr>[^ ]*) (?<upstream_response_length>[^ ]*) (?<upstream_response_time>[^ ]*) (?<upstream_status>[^ ]*)$/
time_format %d/%b/%Y:%H:%M:%S %z
key_name log
types server_port:integer,code:integer,size:integer,request_length:integer,request_time:float,upstream_response_length:integer,upstream_response_time:float,upstream_status:integer
reserve_data yes
</filter>

包含大量示例的长答案在这里: https://github.com/kayrus/elk-kubernetes/

关于nginx - 在fluentd中解析nginx入口日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39742322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com