云服务器内容精选

  • 常用的普罗命令 常用的查询指标的普罗命令如表1所示,用户可根据实际修改其中的IP地址、ID等参数信息。 表1 常用的普罗命令 指标 标签定义 PromQL 主机CPU使用率 {nodeIP="",hostID=""} aom_node_cpu_usage{nodeIP="192.168.57.93",hostID="ca76b63f-dbf8-4b60-9c71-7b9f13f5ad61"} 主机应用请求吞吐量 {aomApplicationID="",aomApplicationName=""} http_requests_throughput{aomApplicationID="06dc9f3b0d8cb867453ecd273416ce2a",aomApplicationName="root"} 主机应用请求成功率 {aomApplicationID="",aomApplicationName=""} http_requests_success_rate{aomApplicationID="06dc9f3b0d8cb867453ecd273416ce2a",aomApplicationName="root"} 主机组件CPU使用率 {appName="",serviceID="",clusterId=""} aom_process_cpu_usage{appName="icagent",serviceID="2d29673a69cd82fabe345be5f0f7dc5f",clusterId="00000000-0000-0000-0000-00000000"} 主机进程线程数 {processCmd="",processName=""} aom_process_thread_count{processCmd="cdbc06c2c05b58d598e9430fa133aff7_b14ee84c-2b78-4f71-9ecc-2d06e053172c_ca4d29a846e9ad46a187ade88048825e",processName="icwatchdog"} 集群磁盘使用率 {clusterId="",clusterName=""} aom_cluster_disk_usage{clusterId="4ba8008c-b93c-11ec-894a-0255ac101afc",clusterName="aom-test"} 集群虚拟内存使用率 {clusterId="",clusterName=""} aom_cluster_virtual_memory_usage{clusterId="4ba8008c-b93c-11ec-894a-0255ac101afc",clusterName="aom-test"} 集群可用虚拟内存 {clusterId="",clusterName=""} aom_cluster_virtual_memory_free_megabytes{clusterId="4ba8008c-b93c-11ec-894a-0255ac101afc",clusterName="aom-test"} 工作负载文件系统使用率 {appName="",serviceID="",clusterId="",nameSpace=""} aom_container_filesystem_usage{appName="icagent",serviceID="cfebc2222b1ce1e29ad827628325400e",clusterId="af3cc895-bc5b-11ec-a642-0255ac101a0b",nameSpace="kube-system"} POD内核占用 {podID="",podName=""} aom_container_cpu_used_core{podID="573663db-4f09-4f30-a432-7f11bdb8fb2e",podName="icagent-bkm6q"} 容器上行Bps {containerID="",containerName=""} aom_container_network_transmit_bytes{containerID="16bf66e9b62c08493ef58ff2b7056aae5d41496d5a2e4bac908c268518eb2cbc",containerName="coredns"}
  • 普罗语句查询举例说明 示例一:集群下指定pod占所在节点(不含控制节点)的内存使用率 定义变量: pod中容器内存实际占用量(同一个Pod下可能会有多个容器/实例):aom_container_memory_used_megabytes node内存实际总量:aom_node_memory_total_megabytes 查询逻辑: 针对指标aom_container_memory_used_megabytes,使用聚合函数sum,按照nodeIP和podID进行指定node下指定pod当前的内存实际占用量计算。 针对指标aom_node_memory_total_megabytes,使用聚合函数sum,按照nodeIP计算出指定node的内存总量。 两者均采用(by nodeIP)进行过滤,以使获得的指标值具有相同的指标维度。(仅value不同) 将上述两者获得的指标值进行“/”运算,即可获得pod的内存实际使用率。 pod的内存实际使用率的普罗语句如下所示: sum(aom_container_memory_used_megabytes{podID="2261xxxxxxxxfc1213",nodeIP="192.xx.xx.xx"}) by (nodeIP) / sum(aom_node_memory_total_megabytes{nodeIP="192.xx.xx.xx"}) by (nodeIP) 示例二:集群下指定pod占所在节点(不含控制节点)的cpu使用率 定义变量: pod中容器的cpu实际使用量:aom_container_cpu_used_core node的cpu实际总量:aom_node_cpu_limit_core 查询逻辑: 针对指标aom_container_cpu_used_core,使用聚合函数sum,按照nodeIP和podID计算指定node下指定pod当前使用的cpu使用率。 针对指标aom_node_cpu_limit_core,使用聚合函数sum,按照nodeIP计算出指定node的cpu总量。 两者均采用(by nodeIP)进行过滤,以使获得的指标值具有相同的指标维度。(仅value不同) 将上述两者获得的指标值进行“/”运算,即可获得pod的内存实际使用率。 pod的cpu实际使用率的promQL如下所示: sum(aom_container_cpu_used_core{nodeIP="192.xx.xx.xx ",podID="3361xxxxxxxxab1613"}) by (nodeIP) / sum(aom_node_cpu_limit_core{nodeIP="192.xx.xx.xx"}) by (nodeIP) 示例三:集群下运行的Pod内存配额申请值 / 集群下该Pod所在节点的内存可分配量 定义变量: pod中给容器分配的内存总量:aom_container_memory_request_megabytes node内存实际总量:aom_node_memory_total_megabytes 查询逻辑: 针对指标aom_container_memory_request_megabytes,使用聚合函数sum,按照nodeIP和podID计算指定node下指定pod当前被分配的内存总量。 针对指标aom_node_memory_total_megabytes,使用聚合函数sum,按照nodeIP计算出指定node的内存总量。 两者均采用(by nodeIP)进行过滤,以使获得的指标值具有相同的指标维度。(仅value不同) 将上述两者获得的指标值进行“/”运算,即可获得pod的内存实际分配率。 pod的内存实际分配率的promQL如下所示: sum(aom_container_memory_request_megabytes{podID="2363xxxxxxxxab1315",nodeIP="192.xx.xx.xx"}) by (nodeIP) / sum(aom_node_memory_total_megabytes{nodeIP="192.xx.xx.xx"}) by (nodeIP) 示例四:集群下运行的Pod的cpu配额申请值 / 集群下该Pod所在节点的cpu可分配量 定义变量: pod中容器的cpu实际分配总量:aom_container_cpu_limit_core node的cpu实际分配总量:aom_node_cpu_limit_core 查询逻辑: 针对指标aom_container_cpu_limit_core,使用聚合函数sum,按照nodeIP和podID计算指定node下指定pod当前使用的cpu分配量。 针对指标aom_node_cpu_limit_core,使用聚合函数sum,按照nodeIP计算出指定node的cpu总量。 两者均采用(by nodeIP)进行过滤,以使获得的指标值具有相同的指标维度。(仅value不同) 将上述两者获得的指标值进行“/”运算,即可获得pod的cpu实际分配率。 pod的cpu实际分配率的promQL如下所示: sum(aom_container_cpu_limit_core{podID="5663xxxxxxxxcd3265",nodeIP="192.xx.xx.xx"}) by (nodeIP) / sum(aom_node_cpu_limit_core{nodeIP="192.xx.xx.xx"}) by (nodeIP)
  • URI GET /v2/{project_id}/alarms 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 正则匹配:^[a-zA-Z0-9-]{1,64}$ 表2 Query参数 参数 是否必选 参数类型 描述 alarm_id 否 String 告警规则ID 正则匹配:^al([0-9A-Za-z]){22}$ name 否 String 告警名称, 只能包含0-9/a-z/A-Z/_/-或汉字,长度1-128 正则匹配:^([\u4E00-\u9FFF]|[a-z]|[A-Z]|[0-9]|_|-)+$ namespace 否 String 查询服务的命名空间,各服务命名空间请参考“服务命名空间” 正则匹配:^((([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_)*\.([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_)*)|)$ resource_id 否 String 告警资源ID,多维度情况按字母升序排列并使用逗号分隔 正则匹配:^([a-z]|[A-Z]|[0-9]|_|-|:|,|\.|)+$ enterprise_project_id 否 String 企业项目ID 正则匹配:^((([a-z]|[0-9]){8}-([a-z]|[0-9]){4}-([a-z]|[0-9]){4}-([a-z]|[0-9]){4}-([a-z]|[0-9]){12})|0)$ product_name 否 String 产品层级跨纬规则查询时支持产品名称查询,一般由"服务命名空间,服务首层维度名称"组成,如"SYS.E CS ,instance_id" resource_level 否 String 产品层级跨纬规则查询时支持规则所属类型查询,resource_level取值为product即为产品层级跨纬规则,不填或者取值为dimension则为旧的规则类型 枚举值: product dimension offset 否 Integer 分页偏移量 取值范围: 0-10000 默认取值: 0 正则匹配:^([0]|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|10000)$ limit 否 Integer 分页大小 取值范围: 1-100 默认取值: 10 正则匹配:^([1-9]|[1-9][0-9]|100)$
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 alarms Array of alarms objects 告警规则列表 count Integer 告警规则列表总数 取值范围: 0-1000 表5 alarms 参数 参数类型 描述 alarm_id String 告警规则ID 正则匹配:^al([0-9A-Za-z]){22}$ name String 告警规则名称 正则匹配:^([\u4E00-\u9FFF]|[a-z]|[A-Z]|[0-9]|_|-)+$ description String 告警规则描述 状态码:400 表6 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:401 表7 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:403 表8 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:500 表9 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID
  • URI GET /v2/{project_id}/alarm-templates/{template_id}/association-alarms 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID template_id 是 String 告警模板的ID,以at开头,后跟字母、数字,长度最长为64 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 分页查询时查询的起始位置,表示从第几条数据开始,默认为0 取值范围: 0-10000 limit 否 Integer 查询结果条数的限制值,取值范围为[1,100],默认值为100 取值范围: 1-100
  • 约束与限制 当指标告警规则的状态(正常、超限阈值、生效中、停用中)发生变化时,如需使用企业微信、钉钉、飞书、语音、welink、邮件或短信等方式发送通知,请参考创建 AOM 告警通知规则设置告警通知规则。 按全量指标和按Prometheus命令创建指标告警规则时支持秒级监控,指标告警的时效性取决于指标上报周期、规则检查频率及通知发送耗时。 系统支持创建的指标告警规则、事件告警规则、应用性能监控告警规则总计不能超过3000条。 使用智能告警功能创建指标告警规则时,需要注意以下约束与限制: 智能告警功能当前仅在部分区域受限开放,如有需求可以通过提交工单,为您开放此功能。 使用智能告警监控新接入的指标时,指标的数据量不足时没有结果,需要采集足够的数据量才会有结果。 使用智能告警功能创建指标告警规则时,如果1个指标中有多条资源时间线,智能告警功能只会对指标最多的5条资源时间线生效。 同一个租户在多个区域使用智能告警功能创建多个指标告警规则时,所有告警规则中监控的指标总数最多为30个,并且智能告警功能最多支持检测150条资源时间线。 使用智能告警功能创建指标告警规则时,如果用户的指标名称过长或指标标签数量过多,会导致智能告警上报的指标入库失败,对智能告警产生影响。
  • 告警规则标签说明 告警规则标签可应用于告警降噪模块的分组规则、抑制规则和静默规则,告警管理系统根据标签属性进行告警管理和通知。 告警规则标签为key:value键值对格式,支持用户自定义。您最多可创建20个自定义标签。key和value只能包含中文、字母、数字和下划线。 如果在创建告警规则时设置了告警规则标签,触发的告警会自动添加该标签为告警属性。 消息模板中通过$event.metadata.key1变量获取告警标签信息,具体请参见消息模板变量说明。 如您的组织已经设定AOM服务的相关标签策略,则需按照标签策略规则添加告警标签。标签如果不符合标签策略的规则,则可能会导致添加标签失败,请联系组织管理员了解标签策略详情。
  • 约束与限制 仅开通了 云监控 CES融合功能才支持“一键告警”功能。当前云监控 CES 融合功能受限开放,如有需求可以通过提交工单,为您开放此功能。 如果需要在AOM控制台中使用云监控CES的功能,需要提前获取CES的相关权限,详情请参见CES权限管理。 AOM 2.0融合CES相关功能后,会向AOM FullAccess策略中添加“CES:*:*”,“ecs:instance:list”,“dms:instance:list”,“dms:instance:get”,“lts:topics:list”,“lts:groups:list”,“smn:topic:list”,“smn:topic:publish”,“swr:repository:*”,“swr:repo:*”,“vpc:bandwidths:get”,“as:groups:get”,“astrocanvas:*:*”细粒度权限,若您之前通过AOM FullAccess策略对租户下子用户进行了权限控制,那么AOM FullAccess策略增加上述权限后,子用户也会展示上述云服务资源,您若仍有子用户云服务资源控制诉求,则您可自行进行自定义的子用户权限配置,从而达成子用户云服务资源展示控制效果。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:16384
  • 配置事件类告警策略 用户可以针对业务中的各类重要事件或对云资源的操作事件设置事件告警,在发生异常时及时通知您采取措施。事件类告警策略包括事件名称、触发时间周期、触发类型、触发次数和告警频率五个必要组成部分。您可以根据以下指引配置事件类告警策略。 基本概念 参数 参数说明 取值样例 事件名称 各服务监控事件的名称。 开机失败 触发时间周期 触发时间周期的含义是当该事件在5分钟内被累计触发时,向您发送告警信息。 触发时间周期可选择在5分钟内、在20分钟内、在1小时内、在4小时内、在24小时内。 说明: 当触发类型为累计触发时,该参数可选。 在5分钟内 触发类型 触发类型分为触发和累计触发。系统默认为触发。 触发表示当事件发生时,立即发送告警信息。 累计触发表示当事件在触发时间周期内累计触发预设的次数后,才能发生告警信息。 累计触发 触发次数 事件发生在触发时间周期内累计触发的次数。 说明: 当触发类型为累计触发时,该参数可选。 2 告警频率 当告警产生时,告警以特定的频率重复通知。 告警频率可设置以下几种方式: 只告警一次、每5分钟告警一次、每10分钟告警一次、每15分钟告警一次、每30分钟告警一次、每1小时告警一次、每3小时告警一次、每6小时告警一次、每12小时告警一次、每1天告警一次。 说明: 当触发类型为累计触发时,该参数可选。 每5分钟告警一次 配置事件类告警策略示例 例如,事件名称为开机失败 、触发时间周期为在5分钟内,触发类型为累计触发 、触发次数为2、告警频率为每5分钟告警一次。 表示:在5分钟内,某台云服务器开始失败事件累计触发2次则每5分钟触发告警一次。 图2 事件类告警策略
  • 告警规则简介 云监控服务 支持灵活的创建告警规则。您既可以根据实际需要对某个特定的监控指标设置自定义告警规则,同时也支持使用告警模板为多个资源或者云服务批量创建告警规则。 在您使用告警模板创建告警规则之前,云监控服务已经根据各个云服务的应用属性以及云监控服务多年的开发、维护经验,为各个云服务量身定做了默认使用的告警模板,供您选择使用。同时云监控服务为用户提供了自定义创建告警模板的功能,用户可以选择在默认模板推荐的监控指标上进行修改,同样也支持自定义添加告警指标完成自定义告警模板的添加。 父主题: 告警规则
  • 响应参数 状态码: 200 表5 响应Header参数 参数 参数类型 描述 X-request-id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表6 响应Body参数 参数 参数类型 描述 alert_count Integer 告警数量。Alert count. severity String 严重程度,提示、低危、中危、高危、致命。Severity. TIPS, LOW, MEDIUM, HIGH, FATAL 状态码: 400 表7 响应Header参数 参数 参数类型 描述 X-request-id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname.
  • 请求示例 模拟一条告警规则,告警规则所属的管道ID为ead2769b-afb0-45dd-b9fa-a2953e6ac82f,查询类型为SQL,严重程度为提示。 { "pipe_id" : "ead2769b-afb0-45dd-b9fa-a2953e6ac82f", "query" : "* | select status, count(*) as count group by status", "query_type" : "SQL", "event_grouping" : true, "from" : 1665221214000, "to" : 1665546370000, "triggers" : [ { "mode" : "COUNT", "operator" : "GT", "expression" : 10, "severity" : "TIPS" } ]}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用 IAM 服务获取用户Token接口获取。 IAM user token, fetch from IAM api. 表3 请求Body参数 参数 是否必选 参数类型 描述 pipe_id 是 String 数据管道 ID。Pipe ID. query 是 String 查询语句。Query. query_type 否 String 查询语法,SQL。Query type. SQL. from 是 Long 开始时间。Start time. to 是 Long 结束时间。End time. event_grouping 否 Boolean 告警分组。Event grouping. triggers 是 Array of AlertRuleTrigger objects 告警触发规则。Alert triggers. 表4 AlertRuleTrigger 参数 是否必选 参数类型 描述 mode 否 String 模式,数量。Mode. COUNT. operator 否 String 操作符,等于、不等于、大于、小于。 operator. EQ equal, NE not equal, GT greater than, LT less than. expression 是 String expression severity 否 String 严重程度,提示、低危、中危、高危、致命。Severity. TIPS, LOW, MEDIUM, HIGH, FATAL accumulated_times 否 Integer accumulated_times
  • 注意事项 您最多可创建1000条阈值规则,如果阈值规则数量已达上限1000条时,请删除不需要的阈值规则后重新创建。 设置通知策略 阈值规则的状态(正常、超限阈值、数据不足)发生变化时,如需使用邮件或短信等方式发送通知,请参考下面操作在 SMN 界面设置通知策略。如不需接收邮件或短信通知,请跳过下面操作。具体操作如下: 创建一个主题,操作详见创建主题。 设置主题策略,操作详见设置主题策略。 设置主题策略时,“可发布消息的服务”必须选择“ APM ”,否则会导致通知发送失败。 为主题添加相关的订阅者,即通知的接收人(例如:邮件或短信),操作详见订阅主题。