云服务器内容精选

  • 原因分析 当用户使用普罗函数(例如:"count"、"max"、"min"、"avg"、"sum"、"count_values"、"stddev"、"stdvar"、"group"、"bottomk"、"topk"、"quantile")或运算符(例如:"and"、"or"、"unless")作为自定义指标名称,并将该自定义指标上报到 AOM 时,为避免promql查询时有误,AOM会将此类指标名称默认增加前缀“aom_prom_fixed_”。例如:原始自定义指标名称为"count",会被自动转换为“aom_prom_fixed_count”。在废弃指标时,由于转换后aom_prom_fixed_开头的指标未能匹配到原始指标名称,导致指标废弃失败。
  • 前提条件 服务已接入E CS 类型Prometheus监控,具体请参见Prometheus实例 for ECS。 服务已接入云服务类型Prometheus监控,具体请参见Prometheus实例 for 云服务。 服务已接入通用实例类型Prometheus监控,具体请参见Prometheus 通用实例。 服务已接入CCE类型Prometheus监控,具体请参见Prometheus实例 for CCE。
  • 注意事项 目前仅default类型、CCE类型、云服务类型、ECS类型、通用实例类型的Prometheus实例支持数据多写功能。 CCE类型的Prometheus实例中配置的预汇聚规则指标暂不支持数据多写。 AOM汇聚生成的部分默认指标,例如:aom_metrics_total、aom_metrics_total_per_hour、ALERTS、ALERTS_FOR_STATE不支持数据多写。 通过数据多写功能转储default Prometheus中的指标时,AOM会直接转储原始指标,导致部分转储的指标名称与AOM页面展示的指标名称不一致。例如:icagent上报的原始指标名称为小驼峰格式,AOM页面查询时指标名称转换成蛇形格式(以memUsage指标为例,原始指标名称为memUsage,AOM页面查询时指标名称为aom_container_memory_usage)。
  • Prometheus监控概述 Prometheus监控全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘和全面托管的Prometheus服务。 Prometheus是一套开源的监控报警系统。主要特点包括多维数据模型、灵活查询语句PromQL以及 数据可视化 展示等。更多信息请参见Prometheus官方文档。 Prometheus实例 Prometheus实例是AOM服务提供的管理Prometheus数据采集和数据存储分析的逻辑单元。根据Prometheus监控的对象和使用场景,Prometheus实例可以分为以下几种类型,具体请参见表1。 表1 Prometheus实例说明 Prometheus实例类型 监控对象 监控能力 应用场景 default 通过添加监控数据API上报的指标。 IoTDA、ModelArts、IEF、CCI等API上报的云服务指标。 通过ICAgent采集上报的指标。 提供通过API和ICAgent上报到AOM的指标的监控。 不区分使用场景,既适合作为自建Prometheus 的远程存储(Remote Write)场景,也适合接入容器、云服务、主机等指标数据的场景。 Prometheus实例 for CCE CCE 提供与容器服务原生的集成能力、容器指标的监控能力。 默认开启以下服务发现能力:Kubernetes SD、 ServiceMonitor、PodMonitor的自定义发现。 适合需要对容器服务集群及其上面运行的应用进行一体化监控场景。 Prometheus实例 for ECS ECS 通过在VPC内的某台虚机上安装uniagent(Exporter)插件提供针对此VPC内ECS应用和组件(如数据库,中间件等)的一体化监控。 适合需要对运行在华为云的 虚拟私有云VPC 内(通常为弹性 云服务器ECS 集群)的应用组件进行监控场景,可以通过接入中心添加Prometheus中间件监控。 Prometheus实例 for 云服务 多种云服务 提供多种云服务的监控。 说明: 一个企业项目下只支持创建一个“Prometheus for 云服务”类型的Prometheus实例。 适合需要通过Prometheus监控来统一采集、存储和显示云服务的监控数据的场景。 Prometheus实例 通用实例 自建的Prometheus 提供Prometheus 时序数据库 的远端存储。 提供自研监控大盘进行数据的展示。 说明: 由于Prometheus服务器为用户自己运维,所以相应的指标管理、数据采集等需用户自行配置。 适合已经自建了Prometheus Server,但需要通过远端存储(Remote Write)方式来解决数据存储问题的可用性和可扩展性场景。 Prometheus实例 for 多账号聚合实例 同一个组织下多账号的云服务资源、CCE资源和ECS资源 支持对同一个组织下多账号的云服务资源、CCE、ECS数据聚合,运维监控。 说明: 通过该Prometheus实例接入的 CCE和ECS指标的详细描述请参见虚机指标。 其他云服务指标的详细描述请参见云服务指标说明。 适合需要统一监控同一个组织下多成员账号的云服务资源、CCE资源、ECS资源的场景。 父主题: Prometheus监控简介
  • 如何将Prometheus数据接入到AOM? 将Prometheus数据接入到AOM。具体的操作步骤如下: 创建Prometheus实例。 根据需要参考对应的创建操作,具体请参见: Prometheus实例 for ECS Prometheus实例 for CCE Prometheus实例 for Remote Write 将原生Prometheus的指标通过Remote Write地址上报到AOM服务端。具体请参见 将Prometheus的数据上报到AOM。 父主题: Prometheus监控
  • 前提条件 已购买弹性云服务器ECS,具体操作请参见《弹性云服务器快速入门》。 已购买弹性公网IP,并绑定到购买的弹性云服务器ECS上,具体操作请参见《弹性公网IP快速入门》。 服务已接入可观测Prometheus 监控。具体操作,请参见: Prometheus实例 for 云服务 Prometheus实例 for ECS Prometheus实例 for CCE Prometheus 通用实例 Prometheus实例 for 多账号聚合实例
  • 功能特性 Prometheus监控具有监控数据采集、存储、计算、展示、告警等能力。监控指标覆盖广,涵盖容器、云服务、中间件、数据库、应用以及业务等多种监控数据。本文介绍Prometheus 监控支持的主要功能。 表1 监控对象接入 功能 功能说明 创建Prometheus实例 支持创建多种类型的Prometheus实例。您可以根据需求选择创建任一类型的Prometheus实例。 集成中心 集成中心作为Prometheus实例的入口,将容器服务、自定义服务发现、组件监控的关联数据和高频操作进行集中化展示。 当前仅Prometheus for CCE 实例支持。 表2 监控指标采集 功能 功能说明 服务发现 通过新增ServiceMonitor或PodMonitor的方式为应用配置Prometheus监控的采集规则,来监控部署在CCE集群内的业务数据。 当前仅Prometheus for CCE 实例支持。 配置指标 支持查看、新增和废弃指标。 当前仅default类型、CCE类型、云服务类型、ECS类型的Prometheus实例支持。 表3 监控数据处理 功能 功能说明 获取Prometheus实例的服务地址 使用Remote Read地址和Remote Write地址,将自建Prometheus的监控数据存储到AOM的Prometheus实例中,实现远程存储。 预聚合 通过配置预聚合规则将计算过程提前到写入端,可减少查询端资源占用,尤其在大规模集群和复杂业务场景下可以有效的降低PromQL的复杂度,从而提高查询性能,解决用户配置以及查询慢的问题。 当前仅Prometheus for CCE 实例支持。 父主题: Prometheus监控简介
  • 查看Recording Rule指标 Recording Rule配置完成后,可通过AOM的“指标浏览”界面查看和通过Grafana系统查看Recording Rule指标。 方式一:通过AOM的“指标浏览”界面查看 在“指标浏览”界面,从下拉列表选择已配置Recording Rule的Prometheus实例。 单击“全量指标”,在搜索框中输入对应的Recording Rule指标名称来查看该指标的详细信息。 方式二:通过Grafana查看 具体操作请参见通过Grafana查看AOM中的指标数据。
  • 产品优势 表1 产品优势 开箱即用 一键安装部署即可监控Kubernetes以及各类云产品。 一键接入各种应用组件及告警工具。 低成本 多种指标免费用,覆盖Kubernetes标准组件。 提供全托管式服务,无需另购资源,可降低监控成本,且维护成本几乎为零。 与CCE集成并提供监控服务,容器监控体系创建时间从2天降低至10分钟。一个Prometheus For CCE实例可以上报多个CCE集群数据。 开源兼容 支持自定义多维数据模型、HTTP API模块、PromQL查询。 静态文件配置和动态发现机制发现监控对象,实现轻松迁移及接入。 数据规模无上限 凭借 云存储 能力,数据存储无上限,不再受限于本地容量。云端分布式存储保障数据可靠性。 通过Prometheus实例 for 多账号聚合实例将多个资源账号的指标数据汇聚到一个Prometheus实例,实现统一监控。 高性能 相较开源版本结构更轻量,资源消耗更低。通过单进程一体化Agent监控Kubernetes集群,采集性能提升20倍。 Agent部署在用户侧,保留原生采集能力同时能够最大程度的减少资源的使用。 通过采集存储分离架构,全面提升整体性能。 采集组件优化,提升单副本采集能力,降低资源消耗。 通过多副本横向扩展均衡分解采集任务,实现动态扩缩,解决开源水平扩展问题。 高可用性 双副本:数据采集、处理和存储组件支持多副本横向扩展,核心数据链路高可用。 水平扩展:基于集群规模可直接进行弹性扩容。 父主题: Prometheus监控简介
  • Prometheus实例读写地址支持公网的局点 华为云用户应使用公网Remote Read地址和Remote Write地址访问AOM的Prometheus监控服务,内网地址仅供华为云内部云服务调用。 公网Remote Write地址仅部分局点支持,具体请参见表1。 表1 支持公网数据上报的说明 局点名称 Region名称 公网访问地址 华东-上海一 cn-east-3 aom-access.cn-east-3.myhuaweicloud.com 华东-上海二 cn-east-2 aom-access.cn-east-2.myhuaweicloud.com 华北-北京四 cn-north-4 aom-access.cn-north-4.myhuaweicloud.com 华南-广州 cn-south-1 aom-access.cn-south-1.myhuaweicloud.com 父主题: Prometheus监控
  • 响应示例 状态码: 200 OK 请求响应成功。 { "status" : "success", "data" : { "resultType" : "matrix", "result" : [ { "metric" : { "__name__" : "amm_node_status", "clusterId" : "000000-0000-0000-0000-0000000", "hostID" : "c9xxcb-2x6c-4h54-8fcd-f68xx85", "nameSpace" : "default", "nodeIP" : "1xx.1xx.0.1xx", "nodeName" : "sis-xxn-amm" }, "values" : [ [ 1630386780, "0" ], [ 1630388610, "0" ], [ 1630388625, "0" ] ] }, { "metric" : { "__name__" : "amm_node_status", "clusterId" : "00000000-0000-0000-0000-00000000", "hostID" : "ec5xxxb-0xx8-4xxx-bxx-9ecxxf", "nameSpace" : "default", "nodeIP" : "1xx.168.0.1x", "nodeName" : "fdx-ibxxst" }, "values" : [ [ 1630388265, "0" ], [ 1630388280, "0" ], [ 1630388295, "0" ] ] } ] } } 状态码: 400 BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 { "status" : "error", "errorType" : "bad_param", "error" : "param is invalid." } 状态码: 403 Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 { "status" : "error", "errorType" : "auth", "error" : "auth project_id not pass." } 状态码: 422 Unprocessable 表达式无法执行。 { "status" : "error", "errorType" : "excution", "error" : "expression can't be executed." } 状态码: 503 ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。 { "status" : "error", "errorType" : "timeout", "error" : "query timed out in query execution." }
  • 状态码 状态码 描述 200 OK 请求响应成功。 400 BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 403 Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 422 Unprocessable 表达式无法执行。 503 ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 status String 响应状态。 data Object 响应数据。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 status String 响应状态。 errorType String 错误类型。 error String 错误信息。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 status String 响应状态。 errorType String 错误类型。 error String 错误信息。 状态码: 422 表7 响应Body参数 参数 参数类型 描述 status String 响应状态。 errorType String 错误类型。 error String 错误信息。 状态码: 503 表8 响应Body参数 参数 参数类型 描述 status String 响应状态。 errorType String 错误类型。 error String 错误信息。
  • URI POST /v1/{project_id}/aom/api/v1/query_range 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户从 IAM 申请到的projectid,一般为32位字符串。 表2 Query参数 参数 是否必选 参数类型 描述 query 是 String PromQL表达式(参考https://prometheus.io/docs/prometheus/latest/querying/basics/)。 start 是 String 起始时间戳(Unix时间戳格式,单位:秒)。 end 是 String 结束时间戳(Unix时间戳格式,单位:秒)。 step 是 String 查询时间步长,时间区内每step秒执行一次。