在命令行中覆盖配置设置

编辑

在命令行中覆盖配置设置

编辑

如果您以服务方式运行 Filebeat,则无法指定命令行标志。要指定标志,请在前景中启动 Filebeat。

您可以使用标志从命令行覆盖任何配置设置

-E, --E "SETTING_NAME=VALUE"
覆盖特定的配置设置。
-M, --M "VAR_NAME=VALUE"
覆盖模块的默认配置。

您可以指定多个覆盖。覆盖应用于当前正在运行的 Filebeat 进程。Filebeat 配置文件不会更改。

示例:覆盖配置文件设置

编辑

以下配置将日志输出发送到文件

logging.level: info
logging.to_files: true
logging.files:
  path: /var/log/filebeat
  name: filebeat
  keepfiles: 7
  permissions: 0640

要覆盖日志级别并将日志输出发送到标准错误而不是文件,请在运行 Filebeat 时使用 -E 标志

-E "logging.to_files=false" -E "logging.to_stderr=true" -E "logging.level=error"

示例:覆盖模块设置

编辑

以下配置设置 Nginx 访问日志的路径

- module: nginx
  access:
    var.paths: ["/var/log/nginx/access.log*"] 

要从命令行覆盖此设置,请在运行 Filebeat 时使用 -M 标志。变量名称必须包含模块和文件集名称。例如

-M "nginx.access.var.paths=[/path/to/log/nginx/access.log*]"

您可以指定多个覆盖。每个覆盖都必须以 -M 开头。

有关每个文件集可以设置的特定变量的信息,请参阅 模块 下的文档。