监控 Alluxio

指标为了解 Alluxio 集群的健康状况和性能提供了宝贵的见解。Alluxio 以 Prometheus 导出格式公开指标,从而可以轻松地与现代监控堆栈集成。

本指南介绍了如何监控您的 Alluxio 集群,从使用 Alluxio Operator 提供的预配置仪表板到手动设置您自己的监控。

使用 Alluxio Operator 进行默认监控

在 Kubernetes 上监控 Alluxio 的最简单方法是使用 Alluxio Operator。默认情况下,operator 会在您的 Alluxio 集群旁边部署一个完整的监控堆栈,包括用于指标收集的 Prometheus 和用于可视化的 Grafana

访问 Grafana 仪表板

Grafana 仪表板是可视化集群指标的主要工具。您可以通过两种方式访问它:

1. 通过端口转发访问(推荐)

使用 kubectl port-forward 从您的本地计算机安全地访问 Grafana UI。

# 找到 Grafana pod 并转发端口 3000
kubectl -n alx-ns port-forward $(kubectl -n alx-ns get pod -l app.kubernetes.io/component=grafana -o jsonpath="{.items[0].metadata.name}") 3000:3000

然后,您可以打开浏览器并导航到 http://localhost:3000

2. 通过节点主机名访问

如果您的 Kubernetes 节点在您的网络上可以直接访问,您可以通过其 NodePort 访问 Grafana。

# 获取 Grafana 正在运行的节点的主机名
kubectl -n alx-ns get pod $(kubectl -n alx-ns get pod -l app.kubernetes.io/component=grafana --no-headers -o custom-columns=:metadata.name) -o jsonpath='{.spec.nodeName}'

假设主机名是 foo.kubernetes.org,您可以在 http://foo.kubernetes.org:8080/ 访问 Grafana 服务。

了解仪表板

默认仪表板提供了集群状态的全面概览。

  • 集群部分提供了集群状态的高级摘要。

  • 进程部分详细说明了每个 Alluxio 组件的资源消耗(CPU、内存)和 JVM 指标。

  • 其他部分提供了特定组件(如Coordinator和 worker)的详细指标。

禁用默认 Grafana

如果您希望使用自己的 Grafana 实例,可以通过在 AlluxioCluster 定义中将 spec.grafana.enabled 设置为 false 来禁用默认实例。Prometheus 是一个核心组件,无法禁用。

高级:直接查询指标

对于高级分析或调试,您可以直接查询 Prometheus 和组件端点。

使用 Promtool 查询

您可以直接对集群中运行的 Prometheus 服务器执行查询。

查询组件端点

Alluxio 组件(Coordinator、worker、FUSE)公开一个 /metrics/ 端点用于抓取。

有关可用指标的完整列表,请参阅指标参考。

与现有监控系统集成

如果您不使用 Alluxio Operator 或拥有现有的监控基础架构,您可以手动将其与 Alluxio 集成。

与 Prometheus 集成

将以下抓取作业添加到您的 prometheus.yml 以从 Alluxio 收集指标。

独立 Prometheus

对于独立的 Prometheus 实例,请使用 static_configs

Kubernetes 中的 Prometheus

对于在 Kubernetes 中运行的 Prometheus,请使用 kubernetes_sd_configs 自动发现 Alluxio pod。确保您的 Alluxio pod 具有所需的标签和注释。

您的 Alluxio pod 必须具有以下元数据:

与 Grafana 集成

  1. 将 Prometheus 添加为数据源:在 Grafana 中,将您的 Prometheus 服务器添加为新的数据源。

  2. 导入 Alluxio 仪表板:下载官方 Alluxio 仪表板模板并将其导入 Grafana。

与 Datadog 集成

Datadog 可以直接从 Alluxio 的 Prometheus 端点提取指标。

  1. 确保您的 Datadog 代理可以访问 Alluxio 组件的指标端口(Coordinator为 19999,worker 为 30000)。

  2. 在您的 Datadog 配置中,将 Alluxio 端点添加到您的 prometheus.yml 检查配置中。

conf.d/prometheus.d/conf.yaml 片段示例:

此配置允许 Datadog 收集、监控和对您的 Alluxio 集群的指标进行告警。

Last updated