Filebeat 命令参考编辑

Filebeat 提供了一个命令行界面,用于启动 Filebeat 和执行常见任务,例如测试配置文件和加载仪表板。

命令行还支持 全局标志,用于控制全局行为。

在以下情况下使用 sudo 运行以下命令:

  • 配置文件由 root 所有,或者
  • Filebeat 配置为捕获需要 root 访问权限的数据

此处描述的某些功能需要 Elastic 许可证。有关更多信息,请参阅 https://elastic.ac.cn/subscriptions许可证管理

命令

export

将配置、索引模板、ILM 策略或仪表板导出到 stdout。

help

显示任何命令的帮助。

keystore

管理 密钥库

modules

管理已配置的模块。

run

运行 Filebeat。如果在未指定命令的情况下启动 Filebeat,则默认使用此命令。

setup

设置初始环境,包括索引模板、ILM 策略和写入别名、Kibana 仪表板(如果可用)以及机器学习作业(如果可用)。

test

测试配置。

version

显示有关当前版本的信息。

另请参阅 全局标志

export 命令编辑

将配置、索引模板、ILM 策略或仪表板导出到 stdout。您可以使用此命令快速查看配置、查看索引模板和 ILM 策略的内容,或从 Kibana 导出仪表板。

语法

filebeat export SUBCOMMAND [FLAGS]

子命令

config
将当前配置导出到 stdout。如果使用 -c 标志,则此命令会导出在指定文件中定义的配置。
dashboard

导出仪表板。您可以使用此选项将仪表板存储在模块的磁盘上,并自动加载它。例如,要将仪表板导出到 JSON 文件,请运行

filebeat export dashboard --id="DASHBOARD_ID" > dashboard.json

要查找 DASHBOARD_ID,请查看 Kibana 中仪表板的 URL。默认情况下,export dashboard 会将仪表板写入 stdout。该示例展示了如何将仪表板写入 JSON 文件,以便以后可以导入它。JSON 文件将包含仪表板以及所有可视化和搜索。您必须单独为 Filebeat 加载索引模式。

要加载仪表板,请将生成的 dashboard.json 文件复制到 Filebeat 的 kibana/6/dashboard 目录中,然后运行 filebeat setup --dashboards 以导入仪表板。

如果 Kibana 未在 localhost:5061 上运行,则您还必须调整 setup.kibana 下的 Filebeat 配置。

template
将索引模板导出到 stdout。您可以指定 --es.version 标志来进一步定义要导出的内容。此外,您可以通过 --dir 定义目录,将模板导出到文件而不是 stdout
ilm-policy
将索引生命周期管理策略导出到 stdout。您可以指定 --es.version--dir,将策略作为文件导出到该目录,而不是导出到 stdout

标志

--es.version 版本
template 一起使用时,导出与指定版本兼容的索引模板。与 ilm-policy 一起使用时,如果为 ILM 启用了指定的 ES 版本,则导出 ILM 策略。
-h, --help
显示 export 命令的帮助。
--dir 目录名
定义一个目录,将模板、管道和 ILM 策略作为文件导出到该目录,而不是将它们打印到 stdout
--id 仪表板 ID
dashboard 一起使用时,指定仪表板 ID。

另请参阅 全局标志

示例

filebeat export config
filebeat export template --es.version 8.14.3
filebeat export dashboard --id="a7b35890-8baa-11e8-9676-ef67484126fb" > dashboard.json

help 命令编辑

显示任何命令的帮助。如果未指定命令,则显示 run 命令的帮助。

语法

filebeat help COMMAND_NAME [FLAGS]
命令名
指定要显示其帮助的命令的名称。

标志

-h, --help
显示 help 命令的帮助。

另请参阅 全局标志

示例

filebeat help export

keystore 命令编辑

管理 密钥库

语法

filebeat keystore SUBCOMMAND [FLAGS]

子命令

add 密钥
将指定的密钥添加到密钥库。使用 --force 标志覆盖现有密钥。使用 --stdin 标志通过 stdin 传递值。
create
创建一个用于存放密钥的密钥库。使用 --force 标志覆盖现有的密钥库。
list
列出密钥库中的密钥。
remove 密钥
从密钥库中删除指定的密钥。

标志

--force
addcreate 子命令有效。与 add 一起使用时,覆盖指定的密钥。与 create 一起使用时,覆盖密钥库。
--stdin
add 一起使用时,使用 stdin 作为密钥值的来源。
-h, --help
显示 keystore 命令的帮助。

另请参阅 全局标志

示例

filebeat keystore create
filebeat keystore add ES_PWD
filebeat keystore remove ES_PWD
filebeat keystore list

有关更多示例,请参阅 密钥库

modules 命令编辑

管理已配置的模块。您可以使用此命令启用和禁用 modules.d 目录中定义的特定模块配置。您使用此命令所做的更改将被持久化,并用于 Filebeat 的后续运行。

要查看哪些模块已启用和禁用,请运行 list 子命令。

语法

filebeat modules SUBCOMMAND [FLAGS]

子命令

disable 模块列表
禁用以空格分隔列表中指定的模块。
enable 模块列表
启用以空格分隔列表中指定的模块。
list
列出当前启用和禁用的模块。

标志

-h, --help
显示 modules 命令的帮助。

另请参阅 全局标志

示例

filebeat modules list
filebeat modules enable apache2 auditd mysql

run 命令编辑

运行 Filebeat。如果在未指定命令的情况下启动 Filebeat,则默认使用此命令。

语法

filebeat run [FLAGS]

filebeat [FLAGS]

标志

-N, --N
禁用发布以进行测试。此选项将禁用除 文件输出 之外的所有输出。
--cpuprofile 文件
将 CPU 配置文件数据写入指定的文件。此选项对 Filebeat 的故障排除很有用。
-h, --help
显示 run 命令的帮助。
--httpprof [主机]:端口
启动用于分析的 HTTP 服务器。此选项对 Filebeat 的故障排除和分析很有用。
--memprofile 文件
将内存配置文件数据写入指定的输出文件。此选项对 Filebeat 的故障排除很有用。
--modules 模块列表

指定要运行的模块的逗号分隔列表。例如

filebeat run --modules nginx,mysql,system

您可以使用 modules 命令启用和禁用特定模块,而不是每次运行 Filebeat 时都指定模块列表。然后,当您运行 Filebeat 时,它将运行所有已启用的模块。

--once

使用 --once 标志时,Filebeat 会启动所有已配置的采集器和输入,并运行每个输入,直到采集器关闭。如果设置了 --once 标志,则还应设置 close_eof,以便在到达文件末尾时关闭采集器。默认情况下,采集器在达到 close_inactive 后关闭。

filestream 输入类型当前不支持 --once 选项。

--system.hostfs 挂载点
指定主机文件系统的挂载点,用于监控主机。此标志已弃用,应通过 hostfs 模块配置值指定备用 hostfs。

另请参阅 全局标志

示例

filebeat run -e

filebeat -e

setup 命令编辑

设置初始环境,包括索引模板、ILM 策略和写入别名、Kibana 仪表板(如果可用)以及机器学习作业(如果可用)

  • 索引模板可确保字段在 Elasticsearch 中正确映射。如果启用了索引生命周期管理,则它还确保将定义的 ILM 策略和写入别名连接到与索引模板匹配的索引。ILM 策略负责索引的生命周期,例如何时进行滚动、何时将索引从热阶段移至下一阶段等。
  • Kibana 仪表板使您更容易在 Kibana 中可视化 Filebeat 数据。
  • 机器学习作业包含分析数据异常所需的配置信息和元数据。

此命令设置环境,而不实际运行 Filebeat 和提取数据。指定可选标志以设置资产子集。

语法

filebeat setup [FLAGS]

标志

--dashboards
设置 Kibana 仪表板(如果可用)。此选项从 Filebeat 包加载仪表板。有关更多选项,例如加载自定义仪表板,请参阅 _Beats 开发者指南_ 中的 导入现有 Beat 仪表板
-h, --help
显示 setup 命令的帮助。
--modules 模块列表
指定以逗号分隔的模块列表。当 filebeat.yml 文件中未定义任何模块时,请使用此标志避免错误。
--pipelines
为已配置的文件集设置提取管道。Filebeat 在 filebeat.yml 文件中查找已启用的模块。如果您使用 modules 命令启用了 modules.d 目录中的模块,则还要指定 --modules 标志。
--enable-all-filesets
启用所有模块和文件集。如果您想加载所有摄取管道,那么这在使用 --pipelines 选项时很有用。如果不使用此选项,则必须使用 modules 命令列出每个模块,并使用 -M 选项启用模块中的每个文件集,才能加载所有摄取管道。
--force-enable-module-filesets
启用已启用模块中的所有文件集。如果您想加载摄取管道,那么这在使用 --pipelines 选项时很有用。如果不使用此选项,则必须使用 -M 选项启用模块中的每个文件集,才能加载摄取管道。
--index-management
设置与 Elasticsearch 索引管理相关的组件,包括模板、ILM 策略和写入别名(如果支持并已配置)。

另请参阅 全局标志

示例

filebeat setup --dashboards
filebeat setup --pipelines
filebeat setup --pipelines --modules system,nginx,mysql 
filebeat setup --index-management

如果您使用 modules 命令启用了 modules.d 目录中的模块,还请指定 --modules 标志以指示要为哪些模块加载管道。

test 命令编辑

测试配置。

语法

filebeat test SUBCOMMAND [FLAGS]

子命令

config
测试配置设置。
output
使用当前设置测试 Filebeat 是否可以连接到输出。

标志

-h, --help
显示 test 命令的帮助。

另请参阅 全局标志

示例

filebeat test config

version 命令编辑

显示有关当前版本的信息。

语法

filebeat version [FLAGS]

标志

-h, --help
显示 version 命令的帮助。

另请参阅 全局标志

示例

filebeat version

全局标志编辑

每当您运行 Filebeat 时,这些全局标志都可用。

-E, --E "SETTING_NAME=VALUE"

覆盖特定的配置设置。您可以指定多个覆盖。例如

filebeat -E "name=mybeat" -E "output.elasticsearch.hosts=['http://myhost:9200']"

此设置应用于当前运行的 Filebeat 进程。Filebeat 配置文件不会更改。

-M, --M "VAR_NAME=VALUE"

覆盖 Filebeat 模块的默认配置。您可以指定多个变量覆盖。例如

filebeat -modules=nginx -M "nginx.access.var.paths=['/var/log/nginx/access.log*']" -M "nginx.access.var.pipeline=no_plugins"
-c, --c 文件
指定用于 Filebeat 的配置文件。您在此处指定的文件是相对于 path.config 的。如果未指定 -c 标志,则使用默认配置文件 filebeat.yml
-d, --d 选择器
为指定的选 择器启用调试。对于选择器,您可以指定一个以逗号分隔的组件列表,也可以使用 -d "*" 为所有组件启用调试。例如,-d "publisher" 显示所有与发布者相关的消息。
-e, --e
记录到 stderr 并禁用 syslog/文件输出。
-environment
出于日志记录目的,指定 Filebeat 运行的环境。此设置用于在未配置日志输出时选择默认日志输出。支持的值有:systemdcontainermacos_servicewindows_service。如果指定了 systemdcontainer,则 Filebeat 默认情况下会记录到 stdout 和 stderr。
--path.config
设置配置文件的路径。有关详细信息,请参阅目录布局部分。
--path.data
设置数据文件的路径。有关详细信息,请参阅目录布局部分。
--path.home
设置杂项文件的路径。有关详细信息,请参阅目录布局部分。
--path.logs
设置日志文件的路径。有关详细信息,请参阅目录布局部分。
--strict.perms
对配置文件设置严格的权限检查。默认值为 -strict.perms=true。有关更多信息,请参阅配置文件所有权和权限
-v, --v
记录 INFO 级别的消息。