在命令行中覆盖配置设置

编辑

在命令行中覆盖配置设置编辑

如果您将 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 开头。

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