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

另请参阅 全局标志

示例

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

help 命令

编辑

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

概要

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

标志

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

另请参阅 全局标志

示例

filebeat help export

keystore 命令

编辑

管理 密钥库

概要

filebeat keystore SUBCOMMAND [FLAGS]

子命令

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

标志

--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 MODULE_LIST
禁用以空格分隔的列表中指定的模块。
enable MODULE_LIST
启用以空格分隔的列表中指定的模块。
list
list

标志

-h, --help
列出当前已启用和禁用的模块。

另请参阅 全局标志

示例

filebeat modules list
filebeat modules enable apache2 auditd mysql

显示 modules 命令的帮助。

编辑

运行 Filebeat。如果您在启动 Filebeat 时未指定命令,则默认使用此命令。

概要

filebeat run [FLAGS]

run 命令

filebeat [FLAGS]

标志

或者
-N, --N
禁用发布以进行测试。此选项禁用除 文件输出 之外的所有输出。
--cpuprofile FILE
-h, --help
将 CPU 配置文件数据写入指定的文件。此选项对于排查 Filebeat 问题非常有用。
显示 run 命令的帮助。
--httpprof [HOST]:PORT
启动用于分析的 http 服务器。此选项对于排查和分析 Filebeat 问题非常有用。
--memprofile FILE
将内存配置文件数据写入指定的输出文件。此选项对于排查 Filebeat 问题非常有用。

--modules MODULE_LIST

filebeat run --modules nginx,mysql,system

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

与其每次运行 Filebeat 时都指定模块列表,不如使用 modules 命令来启用和禁用特定模块。然后,当您运行 Filebeat 时,它将运行任何已启用的模块。

--once

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

目前,--once 选项不支持 filestream 输入类型。
--system.hostfs MOUNT_POINT

另请参阅 全局标志

示例

filebeat run -e

run 命令

filebeat -e

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

编辑

setup 命令

  • 设置初始环境,包括索引模板、ILM 策略和写入别名、Kibana 仪表板(如果可用)以及机器学习作业(如果可用)。
  • 索引模板确保字段在 Elasticsearch 中正确映射。如果启用了索引生命周期管理,它还会确保定义的 ILM 策略和写入别名连接到与索引模板匹配的索引。ILM 策略负责索引的生命周期,何时进行滚动更新,何时将索引从热阶段移动到下一阶段,等等。
  • Kibana 仪表板使您更容易在 Kibana 中可视化 Filebeat 数据。

机器学习作业包含分析异常数据所需的配置信息和元数据。

概要

filebeat setup [FLAGS]

标志

此命令设置环境,而实际上不运行 Filebeat 和提取数据。指定可选标志以设置资产的子集。
设置 Kibana 仪表板(如果可用)。此选项从 Filebeat 包加载仪表板。有关更多选项(例如加载自定义仪表板),请参阅Beats 开发人员指南中的导入现有 Beat 仪表板
-h, --help
显示 setup 命令的帮助信息。
将内存配置文件数据写入指定的输出文件。此选项对于排查 Filebeat 问题非常有用。
指定一个以逗号分隔的模块列表。当 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 FILE
指定要用于 Filebeat 的配置文件。您在此处指定的文件相对于 path.config。如果未指定 -c 标志,则使用默认配置文件 filebeat.yml
-d, --d SELECTORS
为指定的选择器启用调试。对于选择器,您可以指定一个以逗号分隔的组件列表,或者使用 -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 级别的消息。