Filebeat 命令参考

编辑

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

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

如果以下情况,请使用sudo运行以下命令:

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

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

命令

export

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

help

显示任何命令的帮助。

keystore

管理密钥库

modules

管理已配置的模块。

run

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

setup

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

test

测试配置。

version

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

另请参阅全局标志

export 命令

编辑

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

概要

filebeat export SUBCOMMAND [FLAGS]

子命令

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

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

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

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

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

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

template
将索引模板导出到标准输出。您可以指定--es.version标志以进一步定义要导出的内容。此外,您可以通过--dir定义目录,将模板导出到文件而不是stdout
ilm-policy
将索引生命周期管理策略导出到标准输出。您可以指定--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.16.0
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 的故障和分析 Filebeat。
--memprofile 文件
将内存配置文件数据写入指定输出文件。此选项可用于解决 Filebeat 的故障。
--modules 模块列表

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

filebeat run --modules nginx,mysql,system

无需每次运行 Filebeat 时都指定模块列表,您可以使用modules命令启用和禁用特定模块。然后,当您运行 Filebeat 时,它将运行任何已启用的模块。

--once

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

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

--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
测试配置设置。
输出
通过使用当前设置测试 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 级别消息。