在 fluidd 中解析 nginx 入口日志

2024-02-08

我想在 Kubernetes 中使用 Fluentd 解析入口 nginx 日志。这在 Logstash 中相当简单,但我对 fluidd 语法感到困惑。

现在我有以下规则:

<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_元数据 filter:

<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/ https://github.com/kayrus/elk-kubernetes/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 fluidd 中解析 nginx 入口日志 的相关文章

随机推荐

  • 链接到 libcuda.so 时出现问题

    我被一个似乎很容易诊断和解决的问题所困扰 我有一个使用 CUDA 驱动程序 API 的 C 源文件 当我使用它编译时nvcc 可执行文件已生成并且可以正常运行 但是 当我尝试使用它来编译它时g 链接器抱怨对符号的未定义引用 usr lib
  • JSF 和 Spring 性能与较差的 JSP 性能

    我看到我的同事开发了一些 JSF 项目 这些项目在我看来速度非常慢 有人有同样的看法吗 我目前正在使用 jsp jstl 和 jQuery 作为 富 客户端 我想知道现代框架 jsf wicket tapestry 相对于旧的普通 jsp
  • 使用 XPATH 子字符串函数

    我需要帮助弄清楚这个 XPATH 子字符串函数 但我无法使用它 我尝试过这种方法的各种变体 a contains text Home href substring jsessionid 12 尝试从此标签获取 jsessionid 值 a
  • Web 服务与 WCF

    我正在从事 ASP NET 应用程序 NET 4 框架 设计 想了解使用 Web 服务与 WCF 技术的优缺点和最佳实践是什么 该应用程序最终将被外部客户端用来消费数据 您什么时候会使用 WebServices 什么时候会使用 WCF 其中
  • 如何以高质量保存绘图?

    我用情节制作的每张图表在保存之前看起来都很棒 所以图像看起来有点哑光 如果有意义的话 质量真的很差 有谁知道如何高质量保存它 您可以使用此基本图表作为示例 library plotly x lt c 1 100 random y lt rn
  • 使用 Apache 的 .htaccess 使子目录不受密码保护

    目前在我的服务器上 我的 Web 目录的根目录中有一个 htaccess 文件 AuthUserFile path to root www htpasswd AuthType Basic AuthName Economic Complexi
  • 架构问题:使用依赖注入导致垃圾 API

    我正在尝试创建一个类 它执行各种与数据库相关的低级操作 但为 UI 层提供了一个非常简单的界面 此类表示全部位于特定聚合根内的一堆数据 由单个 ID int 检索 构造函数有四个参数 public AssetRegister int cas
  • App_Data 文件夹中的图像未显示在浏览器中

    当我将图像 URL 属性设置为 App Data 文件夹中的 asp 图像控件时 图像显示在页面设计视图中 但不显示在浏览器中
  • JPA/Hibernate 中键“PRIMARY”的重复条目

    我有一个many to manymysql 数据库中的关系 Module
  • 变量前的美元符号

    我有这个示例代码 用于从现有数据框 my data 创建新数据框 new data new data NULL n 10 this number correspond to the number of rows in my data con
  • 我怎样才能在我的桌子上有一个圆形边框和边框折叠:折叠? [复制]

    这个问题在这里已经有答案了 我有以下内容 table style border 1px solid 999 thead tr style background color red th Weekday th th Date th th Ma
  • 如何将struct从合约A传递到合约B?最佳实践

    我发现这样 当创建一个具有结构的通用接口时 然后合约A和B继承该具有结构的接口 但我想知道是否还有其他方法 是否存在可以更新具有结构的合约的情况 pragma experimental ABIEncoderV2 pragma solidit
  • 确定隐马尔可夫模型中隐藏状态的数量

    我正在学习隐马尔可夫模型 用于对 t 个图像帧序列中的运动进行分类 假设每个帧有 m 个维度的特征 然后我将它聚集成一个符号 用于可观察的符号 我为 k 类创建 k 个不同的 HMM 模型 那么 如何确定每个模型的隐藏状态数量以优化预测 顺
  • 密码保护 iPhone 应用程序

    我正在启动一个新应用程序 我想知道如何需要密码才能打开它 我正在考虑一个UIActionSheet在应用程序中didFinishLaunchingWithOptions应用程序委托实现文件的方法 但我不确定如何去做 不过我会继续努力 Fou
  • AngularFire $add 操作导致浏览器冻结

    我正在使用 angularjs 学习 Firebase 从本教程https thinkster io tutorials angularfire realtime slack clone creating the channels side
  • 在 Java 中对双精度值进行哈希处理

    我想知道如何在 Java 中对 double 进行哈希处理 我已经散列了其他原始数据和对象 我想我可以使用 hashcode 方法吗 从我所看到的来看 这看起来相当复杂 我遇到了一些关于创造种子的事情 我想知道关于如何解决这个问题的任何想法
  • 制作通用数组是不好的做法吗?替代方案是什么?

    我在学校用 C 编码已经三年了 两天前我开始用 Java 编码 我的问题是 制作通用数组是不好的做法吗 另一种选择是什么 我很困惑 除了做一些奇怪的事情 例如这个例子 之外 我似乎无法制作通用数组 Class implementing th
  • 对象中对象中的 JavaScript `this`?

    抱歉 帖子标题模糊 我无法为这篇文章制定正确的英文名称 例如我有这样一个对象 var APP a 1 b function return this a 这样 如果我打电话console log APP b than this将引用 APP
  • 如何重置 Kafka 偏移量以匹配尾部位置?

    我们将 Storm 与 Kafka 和 ZooKeeper 结合使用 我们遇到过这样的情况 我们必须删除一些主题并用不同的名称重新创建它们 除了现在读取新主题名称之外 我们的 Kafka spouts 保持不变 但是现在 当尝试从新主题读取
  • 在 fluidd 中解析 nginx 入口日志

    我想在 Kubernetes 中使用 Fluentd 解析入口 nginx 日志 这在 Logstash 中相当简单 但我对 fluidd 语法感到困惑 现在我有以下规则