HAproxy 模块
编辑HAproxy 模块
编辑haproxy
模块收集并解析来自 (haproxy
) 进程的日志。
当您运行该模块时,它会在后台执行以下几个任务
- 设置日志文件的默认路径(但不用担心,您可以覆盖默认值)
- 确保每个多行日志事件都作为单个事件发送
- 使用 Elasticsearch 摄取管道来解析和处理日志行,将数据塑造成适合在 Kibana 中可视化的结构
- 部署用于可视化日志数据的仪表板
请阅读快速入门,了解如何配置和运行模块。
兼容性
编辑haproxy
模块已使用在 AWS Linux 上运行的 haproxy
日志进行了测试,该 haproxy
作为微服务集群的网关。
该模块还使用在 Debian 上运行的 HAProxy 1.8、1.9 和 2.0 进行了测试。
此模块不适用于 Windows。
配置模块
编辑您可以通过在 modules.d/haproxy.yml
文件中指定 变量设置,或在命令行覆盖设置,来进一步优化 haproxy
模块的行为。
您必须在模块中启用至少一个文件集。文件集默认情况下处于禁用状态。
该模块默认配置为通过端口 9001 上的 syslog 运行。但是,它也可以配置为从文件路径读取。请参见以下示例。
- module: haproxy log: enabled: true var.paths: ["/var/log/haproxy.log"] var.input: "file"
变量设置
编辑每个文件集都有单独的变量设置,用于配置模块的行为。如果您不指定变量设置,则 haproxy
模块将使用默认值。
对于高级用例,您还可以覆盖输入设置。请参见覆盖输入设置。
当您在命令行指定设置时,请记住在设置前加上模块名称,例如,haproxy.log.var.paths
而不是 log.var.paths
。
log
文件集设置
编辑-
var.paths
- 一个基于 glob 的路径数组,指定查找日志文件的位置。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义的子目录级别获取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中获取所有.log
文件。它不会从/path/to/log
文件夹本身获取日志文件。如果此设置留空,Filebeat 将根据您的操作系统选择日志路径。
时区支持
编辑此模块解析不包含时区信息的日志。对于这些日志,Filebeat 会读取本地时区,并在解析时使用它将时间戳转换为 UTC。用于解析的时区包含在 event.timezone
字段中的事件中。
要禁用此转换,可以使用 drop_fields
处理器删除 event.timezone
字段。
如果日志来自与本地时区不同的系统或应用程序,则可以使用 add_fields
处理器将 event.timezone
字段覆盖为原始时区。
有关在配置中指定处理器的信息,请参见处理器。
示例仪表板
编辑此模块附带一个示例仪表板,显示地理位置、后端和前端之间的请求分布以及一段时间内的状态代码。例如
字段
编辑有关模块中每个字段的描述,请参见导出的字段部分。