云服务器内容精选

  • 常用的普罗命令 常用的查询指标的普罗命令如表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)
  • 响应示例 状态码:200 修改告警规则告警通知信息成功 { "notification_enabled" : true, "alarm_notifications" : [ { "type" : "", "notification_list" : [ ] } ], "ok_notifications" : [ { "type" : "", "notification_list" : [ ] } ], "notification_begin_time" : "00:00", "notification_end_time" : "23:59" }
  • 响应参数 状态码:200 表5 响应Body参数 参数 参数类型 描述 notification_enabled Boolean 是否开启告警通知 alarm_notifications Array of Notification objects 告警触发的动作 ok_notifications Array of Notification objects 告警恢复触发的动作 notification_begin_time String 告警通知开启时间 notification_end_time String 告警通知关闭时间 表6 Notification 参数 参数类型 描述 type String 通知类型。notification为 SMN 通知,contact为云账号联系人,contactGroup为通知组,autoscaling为AS通知。 枚举值: notification autoscaling groupwatch ecsRecovery contact contactGroup iecAction notification_list Array of strings 告警状态发生变化时,被通知对象的列表。topicUrn可从SMN获取,具体操作请参考查询Topic列表。当type为notification时,notification_list列表不能为空;当type为autoscaling时,列表必须为[]。 说明:若alarm_action_enabled为true,对应的alarm_actions、ok_actions至少有一个不能为空。若alarm_actions、ok_actions同时存在时,notification_list值保持一致。 状态码:400 表7 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:500 表8 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 默认取值: application/json; charset=UTF-8 X-Auth-Token 是 String 用户Token 表3 请求Body参数 参数 是否必选 参数类型 描述 notification_enabled 是 Boolean 是否开启告警通知,值为true时,其他字段均必选,值为false时,其他字段可不选 alarm_notifications 否 Array of Notification objects 告警触发的动作 ok_notifications 否 Array of Notification objects 告警恢复触发的动作 notification_begin_time 否 String 告警通知开启时间 notification_end_time 否 String 告警通知关闭时间 effective_timezone 否 String 时区,形如:"GMT-08:00"、"GMT+08:00"、"GMT+0:00" 表4 Notification 参数 是否必选 参数类型 描述 type 是 String 通知类型。notification为SMN通知,contact为云账号联系人,contactGroup为通知组,autoscaling为AS通知。 枚举值: notification autoscaling groupwatch ecsRecovery contact contactGroup iecAction notification_list 是 Array of strings 告警状态发生变化时,被通知对象的列表。topicUrn可从SMN获取,具体操作请参考查询Topic列表。当type为notification时,notification_list列表不能为空;当type为autoscaling时,列表必须为[]。 说明:若alarm_action_enabled为true,对应的alarm_actions、ok_actions至少有一个不能为空。若alarm_actions、ok_actions同时存在时,notification_list值保持一致。
  • 请求示例 修改告警规则告警通知信息 { "notification_enabled" : true, "alarm_notifications" : [ { "type" : "notification", "notification_list" : [ "urn:smn:cn-north-7:65c438cab60xxxxxxx: CES _notification_group_MGj4AJ03X" ] } ], "ok_notifications" : [ { "type" : "notification", "notification_list" : [ "urn:smn:cn-north-7:65c438cab60xxxxxxx:CES_notification_group_MGj4AJ03X" ] } ], "notification_begin_time" : "00:00", "notification_end_time" : "23:59" }
  • URI GET /v2/{project_id}/alarms/{alarm_id}/policies 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 正则匹配:^[a-zA-Z0-9-]{1,64}$ alarm_id 是 String 告警规则ID 正则匹配:^al([0-9A-Za-z]){22}$ 表2 Query参数 参数 是否必选 参数类型 描述 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)$
  • URI GET /v2/{project_id}/alarm-histories 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 正则匹配:^[a-zA-Z0-9-]{1,64}$ 表2 Query参数 参数 是否必选 参数类型 描述 alarm_id 否 Array of strings 告警ID,以al开头,后跟22位由字母或数字组成的字符串 record_id 否 String 告警记录ID,以ah开头,后跟22位由字母或数字组成的字符串 name 否 String 告警规则名称 status 否 Array of strings 告警规则状态, ok为正常,alarm为告警,invalid为已失效 枚举值: ok alarm invalid level 否 Integer 告警级别, 1为紧急,2为重要,3为次要,4为提示 取值范围: 1-4 namespace 否 String 查询服务的命名空间,各服务命名空间请参考“服务命名空间” resource_id 否 String 告警资源ID,多维度情况按字母升序排列并使用逗号分隔 from 否 String 查询告警记录的起始更新时间,例如:2022-02-10T10:05:46+08:00 to 否 String 查询告警记录的截止更新时间,例如:2022-02-10T10:05:47+08:00 alarm_type 否 String 告警类型,event:查询事件类型告警,metric:查询指标类型告警 枚举值: event metric create_time_from 否 String 查询告警记录的起始创建时间,例如:2022-02-10T10:05:46+08:00 create_time_to 否 String 查询告警记录的截止创建时间,例如:2022-02-10T10:05:47+08:00 offset 否 Integer 分页偏移量 取值范围: 0-1000000000 默认取值: 0 limit 否 Integer 分页大小 取值范围: 1-100 默认取值: 100 正则匹配:^([1-9]|[1-9][0-9]|100)$ order_by 否 String 按关键字排序, 默认为update_time, {first_alarm_time: 告警产生时间, update_time: 更新时间, alarm_level: 告警级别, record_id:表记录主键} 枚举值: first_alarm_time update_time alarm_level record_id
  • 响应参数 状态码:200 删除资源成功 状态码:400 表5 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:404 表6 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:500 表7 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID
  • URI POST /v2/{project_id}/alarms/{alarm_id}/resources/batch-delete 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 正则匹配:^[a-zA-Z0-9-]{1,64}$ alarm_id 是 String Alarm实例ID 正则匹配:al([a-z]|[A-Z]|[0-9]){22}$
  • 请求示例 { "mask_name" : "mn_test", "relation_type" : "ALARM_RULE", "relation_ids" : [ "al123232232341232132" ], "resources" : [ { "namespace" : "SYS.E CS ", "dimensions" : [ { "name" : "instance_id", "value" : "4270ff17-aba3-4138-89fa-820594c39755" } ] } ], "mask_type" : "START_END_TIME", "start_date" : "yyyy-MM-dd", "start_time" : "HH:mm:ss", "end_date" : "yyyy-MM-dd", "end_time" : "HH:mm:ss" }
  • 响应参数 状态码:201 表7 响应Body参数 参数 参数类型 描述 relation_ids Array of strings 创建成功的关联ID列表 notification_mask_id String 屏蔽规则ID 状态码:400 表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
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 默认取值: application/json; charset=UTF-8 X-Auth-Token 是 String 用户Token 表3 请求Body参数 参数 是否必选 参数类型 描述 mask_name 否 String 屏蔽规则名称,只能为字母、数字、汉字、-、_,最大长度为64 relation_type 是 String 屏蔽告警通知或者屏蔽告警计算的实现方式。ALARM_RULE:通过告警规则屏蔽告警通知,RESOURCE:通过资源屏蔽告警通知,RESOURCE_POLICY_NOTIFICATION:通过告警策略和告警资源屏蔽告警通知,RESOURCE_POLICY_ALARM:通过告警策略和告警资源屏蔽计算告警。 枚举值: ALARM_RULE RESOURCE RESOURCE_POLICY_NOTIFICATION RESOURCE_POLICY_ALARM relation_ids 是 Array of strings 关联编号,relation_type为ALARM_RULE时填屏蔽的告警规则ID;relation_type为RESOURCE_POLICY_NOTIFICATION、RESOURCE_POLICY_ALARM时填屏蔽的告警策略ID; resources 否 Array of Resource objects 关联资源,relation_type为RESOURCE、RESOURCE_POLICY_NOTIFICATION、RESOURCE_POLICY_ALARM时填屏蔽的资源信息; metric_names 否 Array of strings 关联指标名称,relation_type为RESOURCE可选填,不填视为对资源所有指标进行告警屏蔽 product_metrics 否 Array of ProductMetric objects 按云产品维度屏蔽时的指标信息 resource_level 否 String dimension: 子维度,product: 云产品 枚举值: dimension product product_name 否 String 资源为云产品时的云产品名称 mask_type 是 String 屏蔽类型。START_END_TIME:按起止时间屏蔽,FOREVER_TIME:永久时间屏蔽,CYCLE_TIME:按周期时间屏蔽。 枚举值: START_END_TIME FOREVER_TIME CYCLE_TIME start_date 否 String 屏蔽起始日期,yyyy-MM-dd。 start_time 否 String 屏蔽起始时间,HH:mm:ss。 end_date 否 String 屏蔽截止日期,yyyy-MM-dd。 end_time 否 String 屏蔽截止时间,HH:mm:ss。 effective_timezone 否 String 时区,形如:"GMT-08:00"、"GMT+08:00"、"GMT+0:00" 表4 Resource 参数 是否必选 参数类型 描述 namespace 是 String 查询服务的命名空间,各服务命名空间请参考“服务命名空间” dimensions 是 Array of ResourceDimension objects 资源的维度信息 表5 ResourceDimension 参数 是否必选 参数类型 描述 name 是 String 资源维度,如:弹性云服务器,则维度为instance_id;目前最大支持4个维度,各服务资源的指标维度名称可查看:“服务指标维度”。 正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){1,32}$ value 是 String 资源维度值,为资源的实例ID,如:4270ff17-aba3-4138-89fa-820594c39755。 正则匹配:^((([a-z]|[A-Z]|[0-9]){1}([a-z]|[A-Z]|[0-9]|_|-|\.)*)|\*){1,256}$ 表6 ProductMetric 参数 是否必选 参数类型 描述 dimension_name 是 String 按云产品维度屏蔽时的指标维度信息,有多个时用","连接 metric_name 是 String 资源的监控指标名称,必须以字母开头,只能包含0-9/a-z/A-Z/_,字符长度最短为1,最大为64;如:弹性云服务器中的监控指标cpu_util,表示弹性服务器的CPU使用率;文档数据库中的指标mongo001_command_ps,表示command执行频率;各服务的指标名称可查看:“服务指标名称”。
  • 响应参数 状态码:201 表6 响应Body参数 参数 参数类型 描述 template_id String 告警模板的ID,以at开头,后跟字母、数字,长度最长为64 状态码:400 表7 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:401 表8 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:403 表9 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID 状态码:500 表10 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 error_msg String 请求异常信息 request_id String 请求ID
  • 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.ECS,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)$