本地导出器

编辑

Elastic Agent 和 Metricbeat 是将监控数据收集并发送到监控集群的推荐方法。

如果您之前已配置旧版收集方法,则应迁移到使用 Elastic AgentMetricbeat 收集。请勿同时使用旧版收集方法和其他收集方法。

在 X-Pack 监控中,local 导出器是默认导出器。它将数据路由回同一个(本地)集群。换句话说,它使用生产集群作为监控集群。例如

xpack.monitoring.exporters.my_local_exporter: 
  type: local

导出器名称唯一地定义了导出器,但在其他方面未使用。

此导出器旨在在硬件根本不可用时提供一个便捷的选项。它也是开发人员在没有时间或资源提供单独的监控集群时,了解其操作对预生产集群的影响的一种方式。但是,此导出器有一些缺点会影响本地集群。

  • 所有索引操作都会影响本地集群以及保存监控索引分片的节点。
  • 大多数收集器都在选定的主节点上运行。因此,大多数索引操作都以选定的主节点作为协调节点进行,这是一个不好的做法。
  • Kibana 的任何 X-Pack 监控使用都会使用本地集群的资源进行搜索和聚合,这意味着这些资源可能无法用于非监控任务。
  • 如果本地集群宕机,监控集群也会随之宕机(反之亦然),这通常会违背监控的目的。

对于 local 导出器,所有设置仅在选定的主节点上进行。这意味着,如果您没有看到任何监控模板或摄取管道,则选定的主节点存在问题,或者其配置方式不同。与 http 导出器不同,local 导出器具有访问监控集群最新集群状态的优势。因此,它始终可以检查模板和摄取管道是否存在,而不会造成性能损失。如果选定的主节点在尝试创建监控资源时遇到错误,它会记录错误,忽略该收集,并在下一次收集后重试。

选定的主节点是唯一设置 local 导出器资源的节点。因此,所有其他节点都会等待资源设置完毕,然后再索引其自身收集器的任何监控数据。这些节点中的每一个都会记录一条消息,指示它们正在等待资源设置完毕。

local 导出器的一个优点是它位于集群内,因此当集群使用 Elastic Stack 安全功能进行保护时,无需额外的配置。所有操作(包括来自 local 导出器的索引操作)都使用 Elasticsearch 内部的传输机制。这种行为使导出器无需在启用安全功能时提供任何用户凭据即可使用。

有关 local 导出器配置选项的更多信息,请参见 本地导出器设置

清理服务

编辑

local 导出器的一个功能(http 导出器中没有)是清理服务。清理服务每天在选定的主节点上 UTC 01:00 运行一次。

清理服务的作用是清理或管理比可配置时间段(默认为 7d)更旧的监控索引。此清理程序作为 local 导出器的一部分存在,是一种安全机制。http 导出器不使用它,因为它可能会使单个配置错误的节点过早地管理与同一个监控集群共享数据的其他生产集群的数据。

在专用监控集群中,您可以使用清理服务,而无需监控监控集群本身。例如

xpack.monitoring.collection.enabled: false 
xpack.monitoring.history.duration: 3d 

禁用监控集群上的数据收集。

将默认历史持续时间从 7d 降低到 3d。最小值为 1d。此设置仅在使用 Gold 或更高级别的许可证时才能修改。对于 Basic 许可证级别,它使用默认的 7 天。

要禁用清理服务,请添加一个禁用的本地导出器。

xpack.monitoring.exporters.my_local.type: local 
xpack.monitoring.exporters.my_local.enabled: false 

添加一个名为 my_local 的本地导出器。

禁用本地导出器。这也将禁用清理服务。