你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
现在可使用托管 Prometheus 监视在 Azure 容器存储(版本 1.x.x)上运行的有状态工作负载。 Prometheus 是一种常用的开源监视和警报解决方案,在 Kubernetes 环境中广泛使用,用于监视和警报基础结构和工作负载性能。
重要
本文介绍如何监视 Azure 容器存储(版本 1.x.x)。 Azure 容器存储(版本 2.x.x) 现已推出。 如果已安装 Azure 容器存储(版本 2.x.x),并且想要监视工作负荷,则可以使用 类似的托管 Prometheus 设置。
适用于 Prometheus 的 Azure Monitor 托管服务 是 Azure Monitor 指标 的一个组件,提供完全托管且可缩放的环境,用于运行 Prometheus。 它允许从 Azure Kubernetes 服务 (AKS) 群集收集 Prometheus 指标,以监视工作负荷。
Prometheus 指标存储在 Azure Monitor 工作区中,可以在其中通过 PromQL 和 Azure 托管 Grafana 使用 Azure Monitor 指标资源管理器分析和可视化数据。
先决条件和限制
此功能仅支持 Prometheus 的 Azure Monitor 托管服务。 如果已部署自己的 Prometheus 实例,则必须通过运行以下 Azure CLI 命令来禁用 Azure 容器存储的 Prometheus 实例。 将 <cluster_name> 和 <resource_group_name> 替换为自己的值。
az k8s-extension update --cluster-type managedClusters --cluster-name <cluster_name> --resource-group <resource_group_name> --name azurecontainerstorage --config base.metrics.enablePrometheusStack=false
当前没有为 Azure 容器存储启用 Azure 托管 Grafana 默认仪表板支持。
收集 Azure 容器存储 Prometheus 指标
可以使用 Prometheus 的 Azure Monitor 托管服务从 AKS 群集收集 Azure 容器存储指标和其他 Prometheus 指标。 若要开始收集 Azure 容器存储指标,请 对 AKS 群集启用托管 Prometheus。 如果 AKS 群集已启用 Prometheus,则在该群集上安装 Azure 容器存储将自动开始收集 Azure 容器存储指标。
抓取频率
所有默认目标和抓取的默认抓取频率为 30 秒。
为默认目标收集的指标
默认情况下启用以下 Azure 容器存储目标,这意味着无需为这些目标提供任何擦除作业配置:
-
acstor-capacity-provisioner(存储池指标) -
acstor-metrics-exporter(磁盘指标)
可以使用托管 Prometheus ConfigMap 为默认目标对象定制数据采集。 请参阅 在 Azure Monitor 中自定义 Prometheus 指标的抓取。
存储池指标
Azure 容器存储提供从 acstor-capacity-provisioner 目标 (job=acstor-capacity-provisioner) 收集的以下存储池指标:
| Metric | 说明 |
|---|---|
storage_pool_ready_state |
这是检测存储池状态的仪表指标(0 = 未就绪,1 = 就绪)。 |
storage_pool_capacity_provisioned_bytes |
预配的存储池容量(以字节为单位)。 |
storage_pool_capacity_used_bytes |
从预配的存储池容量中使用的存储池容量(以字节为单位)。 |
storage_pool_snapshot_capacity_reserved_bytes |
存储池容量(以字节为单位)用于存储本地快照。 |
磁盘指标
Azure 容器存储提供从 acstor-metrics-exporter 目标收集的以下磁盘指标(job=acstor-metrics-exporter):
| Metric | 说明 |
|---|---|
disk_pool_ready_state |
这是检测磁盘池状态的仪表指标(0 = 未就绪,1 = 就绪)。 |
disk_read_operations_completed_total |
在磁盘上成功执行的磁盘读取操作的总次数。 |
disk_write_operations_completed_total |
成功执行的磁盘写入操作的总数。 |
disk_read_operations_time_seconds_total |
执行读取操作所用的总时间(以秒为单位)。 |
disk_write_operations_time_seconds_total |
执行写入作所用的总时间(以秒为单位)。 |
disk_errors_total |
磁盘错误计数。 |
disk_read_bytes_total |
成功读取的总字节数。 |
disk_written_bytes_total |
已成功写入的字节总数。 |
disk_readonly_errors_gauge |
这是用于度量只读卷装载的仪表指标。 |
查询 Azure 容器存储指标
Azure 容器存储指标存储在与托管 Prometheus 关联的 Azure Monitor 工作区中。 可以直接从工作区或通过连接到工作区的 Azure 托管 Grafana 实例查询指标。
若要查看 Azure 容器存储指标,请执行以下步骤:
登录到 Azure 门户 并导航到 AKS 群集。
在服务菜单中的 “监视”下,选择 “见解”,然后选择“ 监视设置”。
在 “托管 Prometheus”下,选择相应的 Azure Monitor 工作区实例。 在实例概述页上,选择 “指标 ”部分,并查询所需的指标。
或者,可以选择托管 Grafana 实例,然后在实例概述页上单击终结点 URL。 这会导航到 Grafana 门户,可在其中查询指标。 将自动配置数据源,以便从关联的 Azure Monitor 工作区查询指标。
若要详细了解如何从 Azure Monitor 工作区查询 Prometheus 指标,请参阅 将 Prometheus 的 Azure Monitor 托管服务用作 Grafana 的数据源。