本地导出器编辑

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

如果您之前配置了传统收集方法,您应该迁移到使用 Elastic AgentMetricbeat 收集。不要将传统收集与其他收集方法一起使用。

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

xpack.monitoring.exporters.my_local_exporter: 
  type: local

导出器名称唯一地定义了导出器,但除此之外没有其他用途。

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

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

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

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

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

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

清理服务编辑

local 导出器的一个功能是清理服务,而 http 导出器没有此功能。清理服务每天在 UTC 时间凌晨 1: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 的本地导出器

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