Apache 模块
编辑Apache 模块编辑
apache
模块解析由 Apache HTTP 服务器创建的访问和错误日志。
运行模块时,它会在后台执行一些任务
- 将默认路径设置为日志文件(但别担心,您可以覆盖默认值)
- 确保每个多行日志事件都作为单个事件发送
- 使用 Elasticsearch 提取管道来解析和处理日志行,将数据整形为适合在 Kibana 中可视化的结构
- 部署用于可视化日志数据的仪表板
阅读快速入门以了解如何配置和运行模块。
兼容性编辑
apache
模块已使用版本 2.2.22 和 2.4.23 的日志进行了测试。
在 Windows 上,该模块已使用从 Chocolatey 存储库安装的 Apache HTTP Server 进行了测试。
配置模块编辑
您可以通过在 modules.d/apache.yml
文件中指定变量设置或在命令行覆盖设置来进一步优化 apache
模块的行为。
您必须在模块中至少启用一个文件集。 默认情况下禁用文件集。
以下示例显示如何在 modules.d/apache.yml
文件中设置路径以覆盖 Apache HTTP 服务器访问和错误日志的默认路径
- module: apache access: enabled: true var.paths: ["/path/to/log/apache/access.log*"] error: enabled: true var.paths: ["/path/to/log/apache/error.log*"]
要在命令行中指定相同的设置,请使用
-M "apache.access.var.paths=[/path/to/apache/access.log*]" -M "apache.error.var.paths=[/path/to/log/apache/error.log*]"
变量设置编辑
每个文件集都有单独的变量设置,用于配置模块的行为。 如果您没有指定变量设置,apache
模块将使用默认值。
对于高级用例,您还可以覆盖输入设置。 请参阅覆盖输入设置。
在命令行中指定设置时,请记住在设置前加上模块名称,例如,使用 apache.access.var.paths
而不是 access.var.paths
。
access
日志文件集设置编辑
-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。 Go Glob 支持的所有模式在此处也受支持。 例如,您可以使用通配符从预定义级别的子目录中获取所有文件:
/path/to/log/*/*.log
。 这将从/path/to/log
的子文件夹中获取所有.log
文件。 它不会从/path/to/log
文件夹本身获取日志文件。 如果将此设置留空,Filebeat 将根据您的操作系统选择日志路径。
error
日志文件集设置编辑
-
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
字段。
有关在配置中指定处理器的信息,请参阅处理器。
虚拟主机编辑
请参阅 customlog 文档 https://httpd.apache.ac.cn/docs/2.4/en/mod/mod_log_config.html 在日志部分的 httpd.conf 中添加 %v 配置
# Replace LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined # By LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
示例仪表板编辑
此模块附带一个示例仪表板。 例如
字段编辑
有关模块中每个字段的描述,请参阅导出字段部分。