使用示例

最近更新时间:2018-06-11 17:55:34

下面分别通过三个示例,介绍自定义监控API的使用方法。

示例使用场景:
目前我们有四块磁盘,在机器115.28.234.106上有两块,磁盘名称为disk1、disk2,在在机器115.28.234.107上有两块,磁盘名称为disk1、disk2。

磁盘编号 磁盘所在机器ip 磁盘名称
磁盘1 115.28.234.106 disk1
磁盘2 115.28.234.106 disk2
磁盘3 115.28.234.107 disk1
磁盘4 115.28.234.107 disk2

示例1分析磁盘1在每5分钟内的最大使用率,在您上报磁盘1的使用率数据之后,对您上报的数据进行分析统计,得到磁盘1每5分钟内其最大使用率。
示例2对磁盘1的使用率作告警分析,设置其使用率在10分钟内(两个统计周期)最大值都大于80%时,触发告警,上报满足告警条件的数据,触发告警。
示例3分析机器115.28.234.106的磁盘平均使用率,聚合机器ip的维度,分析您上报的数据,得到机器115.28.234.106的两块磁盘使用率的平均情况。

1. 示例1-分析磁盘1在每5分钟内的最大使用率

1.1 创建命名空间

我们需要统计机器的磁盘使用率的信息,命名空间的取值自定义为"cvm",和机器相关的信息都可以放在这个命名空间下。
有关创建命名空间的详细信息请参考创建命名空间页面。
其公共请求参数的Action字段为CreateNamespace,接口请求参数如下表:

参数名称 描述 取值
namespace 命名空间:支持英文、数字及下划线,不超过32个英文字母 cvm

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://monitor.api.qcloud.com/v2/index.php?Action=CreateNamespace
&Region=gz
&Timestamp=1465750149
&Nonce=46364
&SecretId=AKIDxxxxugEY
&Signature=5umi9gUWpTTyk18V2g%2FYi56hqls%3D
&namespace=cvm

上述请求的返回结果如下,由结果可知,命名空间创建成功。

{
  'code': 0,
  'message': ''
}

1.2 创建指标

我们需要关注机器的磁盘使用率,在命名空间cvm下创建了一个名为"diskusage"的指标,表示磁盘使用率。
为了确定某一块磁盘,维度的名称取值为机器的ip和磁盘的名称diskname,两者共同确定一块磁盘。
需要统计磁盘的最大使用率,我们为该指标添加了统计类型,在5分钟内取上报数据的最大值,statisticsType.m.period和statisticsType.m.statistics的取值依次为300s和max。
数据上报时,磁盘的使用率为一个整数,表示使用率的百分比,这里数据的单位我们填写为%。
有关创建指标的详细信息请参考创建指标页面。
其公共请求参数的Action字段为CreateMetric,接口请求参数如下表:

参数名称 描述 取值
namespace 命名空间 cvm
metricName 指标名称 diskusage
metricCname 指标中文名称信息 '磁盘使用率'
dimensionNames.n 该指标的统计维度名称 'ip','diskname'
statisticsType.m.period 统计周期目前只能填写300秒 300
statisticsType.m.statistics 统计方式 max
unit 上报数据的单位 %

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://monitor.api.qcloud.com/v2/index.php?Action=CreateMetric
&Region=gz
&Timestamp=1465750149
&Nonce=46389
&SecretId=AKIDxxxxugEY
&Signature=5umi67UWpTTyk18V2g%2FYi56hqls%3D
&namespace=cvm
&metricName=diskusage
&metricCname='磁盘使用率'
&dimensionNames.0=ip
&dimensionNames.1=diskname
&statisticsType.0.period=300
&statisticsType.0.statistics=max
&unit=%

上述请求的返回结果如下,由结果可知,指标创建成功。

{
  'code': 0,
  'message': ''
}

1.3 添加统计类型

我们不仅需要了解diskusage指标下的磁盘最大使用率的情况,还需要了解diskusage指标下的磁盘平均使用率的情况,我们为其添加avg统计类型。
在5分钟内取上报数据的平均值,statisticsType.m.period和statisticsType.m.statistics的取值依次为300s和avg。
有关添加统计类型的详细信息请参考添加统计类型页面。
其公共请求参数的Action字段为CreateMetricStatisticsType,接口请求参数如下表:

参数名称 描述 取值
namespace 名字空间 cvm
metricName 指标名 diskusage
dimensionNames.n 该指标的所有维度组合或者聚合的维度组合 'ip','diskname'
statisticsType.m.period 统计周期目前只能填写300秒 300
statisticsType.m.statistics 为聚合的维度添加统计方式 avg

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://monitor.api.qcloud.com/v2/index.php?Action=CreateMetricStatisticsType
&Region=gz
&Timestamp=1468850149
&Nonce=46369
&SecretId=AKIDxxxxugEY
&Signature=5umi67UW6TTyk18V2g%2FYi56hqls%3D
&namespace=cvm
&metricName=diskusage
&dimensionNames.0=ip
&dimensionNames.1=diskname
&statisticsType.0.period=300
&statisticsType.0.statistics=avg

上述请求的返回结果如下,由结果可知,添加统计类型成功。

{
  'code': 0,
  'message': ''
}

1.4 上报数据

需要连续上报磁盘1的使用率数据,目前设置的统计周期为5分钟,每分钟上报一次数据,上报时间持续时长30分钟。
磁盘1的维度名称为ip和diskname,磁盘1的维度对应的值为115.28.234.106和disk1。
在此次上报的数据中value取值为30,表示机器115.28.234.106上的磁盘disk1在当前时间的使用率为30%。

有关上报数据的详细信息请参考数据上报接口页面。其公共请求参数的Action字段为PutMonitorData,接口请求参数如下表:

参数名称 描述 取值
Namespace 命名空间 cvm
Data 上报的具体数据 见下文

Data中的具体数据:

参数名称 描述 取值
dimensions 维度key和value的组合 {"ip":"115.28.234.106","diskname":"disk1"}
metricName 指标名 diskusage
value 上报的数值 30

结合公共请求参数和接口请求参数,最终得到的请求形式如下:
请注意在此接口中上报的域名,端口,请求的的方式以及签名方法生成和其他接口不同,请参考数据上报接口页面。

http://receiver.monitor.tencentyun.com:8080/v2/index.php?Action=PutMonitorData
&SecretId=xxxxxxx
&Region=gz
&Timestamp=1402992826
&Nonce=345122
&Signature=mysignature
&Namespace=cvm
&Data=[{“dimensions”:{“diskname”:”disk1”,”ip”:”115.28.234.106”},”metricName”:”diskusage”,”value”:30}]

上述请求的返回结果如下,由结果可知,数据上报成功。

{
"code":0,
"message":"OK"
}

1.5 查询数据

您可以调用查询指标监控数据或者查询指标实时监控数据来查询数据分析统计的结果。
此处我们调用查询指标监控数据来查询。
我们需要得到2016-06-21 22:00:00--2016-06-21 22:15:00时间段内,磁盘1的使用率的情况,按如下请求方式构造请求。
磁盘1所在的命名空间为cvm,指标为diskusage。
磁盘1的维度名称为ip和diskname,磁盘1的维度对应的值为115.28.234.106和disk1。
监控数据统计粒度period目前默认为300s,statistics为存在的统计类型,此处选择为max,取5分钟内的最大值。

有关查询指标监控数据的详细信息请参考查询指标监控数据页面。其公共请求参数的Action字段为GetMonitorData,接口请求参数如下表:

参数名称 描述 取值
namespace 名字空间 cvm
metricName 指标名称 diskusage
dimensions.n.name 维度名称的组合 ip,diskname
dimensions.n.value 维度的值的组合 115.28.234.106,disk1
period 监控数据统计粒度,目前只能填写300 300
statistics 统计方式 max
startTime Y-m-d H:M:S 起始时间,当不填写时,起始时间默认为当天的00:00:00 2016-06-21 22:00:00
endTime 结束时间,不填写时,默认为当前时间 2016-06-21 22:15:00

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://monitor.api.qcloud.com/v2/index.php?Action=GetMonitorData
&Region=gz
&Timestamp=1434850149
&Nonce=46369
&SecretId=AKIDxxxxugEY
&Signature=5umi67UW6TTyk18V2g%2FYi56hqls%3D
&namespace=cvm
&metricName=diskusage
&dimensions.0.name=ip
&dimensions.1.name=diskname
&dimensions.0.value=115.28.234.106
&dimensions.1.value=disk1
&period=300
&statistics=max
&startTime=2016-06-21 22:00:00
&endTime=2016-06-21 22:15:00

上述请求的返回结果如下:

{
    "code": 0,
    "message": "",
    "metricName": "diskusage",
    "startTime": "2016-06-21 22:00:00",
    "endTime": "2016-06-21 22:15:00",
    "period": "300",
    "dataPoints": {
        "diskname=disk1&ip=115.28.234.106": [
            80,
            70,
            50,
            60
        ]
    }
}

在输出的数据中一共有4个数据点为80%,70%,50%,60%,分别表示的为21:55-22:00,22:00-22:05,22:05-22:10,22:10-22:15,4个时间段内磁盘1使用率的最大值。

2. 示例2-对磁盘1的使用率作告警分析

在完成示例1的步骤1.1,1.2,1.3之后

2.1 创建告警规则

当磁盘1使用率在连续两个周期即10分钟内,其使用率的最大值都大于80%时,触发告警。
此处operatorType操作符取为大于符号,阈值为80,持续周期的个数为2个,即10分钟,统计方式为max(在示例1中我们已经添加了max和avg两种统计方式,这里取值为max)。
告警接收组取值为8675,这里是调用获取用户组列表接口查询得到的。
有关创建告警规则的详细信息请参考创建告警规则页面。其公共请求参数的Action字段为CreateAlarmRule,接口请求参数如下表:

参数名称 描述 取值
namespace 名字空间 cvm
metricName 指标名称 diskusage
dimensionNames.n 维度名称的组合 ip,diskname
operatorType 操作符,取值为(>、< 、>=、 <= 、!=、==), 表示告警规则中的比较方式 >
threshold 触发异常的数目阈值 80
constancy 表明异常持续多少个周期会触发告警,即:当异常持续时间为constancy个period时,将触发告警 2
period 统计周期,目前只能填写300s 300
statistics 统计方式 max
receiversId 告警接收组id 8675

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://monitor.api.qcloud.com/v2/index.php?Action=CreateAlarmRule
&Region=gz
&Timestamp=1434850149
&Nonce=46369
&SecretId=AKIDxxxxugEY
&Signature=5umi67UW6TTyk18V2g%2FYi56hqls%3D
&namespace=cvm
&metricName=diskusage
&dimensionNames.0=ip
&dimensionNames.1=diskname
&operatorType=>
&threshold=80
&period=300
&statistics=max
&constancy=2
&receiversId=8675

输出

{
    "code":"0",
    "message":"",
    "data":{
        "alarmRuleId":"policy-63uiec17"
    }
}

2.2 绑定告警规则和对象

需要将生成的告警规则与磁盘1绑定,告警规则id是在2.1步骤中输出结果中的alarmRuleId对应字段,此处为policy-63uiec17。
dimensions的名称ip、diskname,取值依次为115.28.234.106、disk1,标识磁盘1。
有关绑定告警规则和对象的详细信息请参考绑定告警规则和对象页面。
其公共请求参数的Action字段为BindAlarmRuleObjects,接口请求参数如下表:

参数名称 描述 取值
alarmRuleId 告警规则ID policy-63uiec17,此处的取值为在2.1步骤中生成的告警规则ID
dimensions.n.name 维度组合的key的组合 ip,diskname
dimensions.n.value 维度组合的value的组合 115.28.234.106,disk1

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://monitor.api.qcloud.com/v2/index.php?Action=BindAlarmRuleObjects
&Region=gz
&Timestamp=1434850149
&Nonce=46369
&SecretId=AKIDxxxxugEY
&Signature=5umi67UW6TTyk18V2g%2FYi56hqls%3D
&alarmRuleId = policy-63uiec17 
&dimensions.0.name=ip
&dimensions.1.name=diskname
&dimensions.0.value=115.28.234.106
&dimensions.1.value=disk1

输出

{
    "code":"0",
    "message":""
}

2.3 上报数据

持续上报数据,上报数据的步骤和示例1中的步骤1.4相同,为了触发告警,这里上报的磁盘使用率的值大于80%,持续时间15分钟。

2.4 查询告警列表

上报一段时间数据之后可以查询告警列表,观察磁盘1的使用率数据是否有触发告警。

有关查询告警列表的详细信息请参考查询告警列表页面。
磁盘1所在的命名空间为cvm,指标名称为diskusage。
其公共请求参数的Action字段为DescribeAlarmList,接口请求参数如下表:

参数名称 描述 取值
namespace 名字空间 cvm
metricName 指标名称 diskusage

结合公共请求参数和接口请求参数,最终得到的请求形式如下:
输入

https://monitor.api.qcloud.com/v2/index.php?Action=DescribeAlarmList
&Region=gz
&Timestamp=1434850149
&Nonce=46369
&SecretId=AKIDxxxxugEY
&Signature=5umi67UW6TTyk18V2g%2FYi56hqls%3D
&namespace=cvm
&metricName=diskusage

输出

{
    "code": 0,
    "message": "",
    "data": {
        "alarmList": [
            {
                "metricName": "diskusage",
                "namespace": "cvm",
                "object": "ip=115.28.234.106&diskname=disk1",
                "occurTime": "2016-02-23 11:10:00",
                "recoverTime": "0000-00-00 00:00:00",
                "sendStatus": "0",
                "okStatus": "0",
                "smsSendCnt": "1",
                "alarmRuleId": "policy-63uiec17",
                "content": "'磁盘使用率'300秒粒度统计求max>=80'%'已持续达600秒"
            }
        ],
        "total": "1"
    }
}

表示在2016-02-23 11:10:00时刻,磁盘1的使用率在600s内其最大值大于80%。
告警的恢复时间为0000-00-00 00:00:00,表示在查询告警的时刻告警没有恢复,磁盘1的使用率依旧大于80%,需要您处理告警。

3. 示例3-分析机器115.28.234.106的磁盘平均使用率

3.1 创建指标聚合

在完成示例1的步骤1.1,1.2之后,分析机器ip为115.28.234.106下所有磁盘的平均使用率信息,我们创建了一个新的聚合。
该聚合在cvm命名空间的指标diskusage下,聚合的维度为机器的ip,统计方式的取值为300s和avg,取5分钟内的平均值。
有关创建指标的详细信息请参考创建指标聚合页面。
其公共请求参数的Action字段为CreateMetricAggeration,接口请求参数如下表:

参数名称 描述 取值
namespace 名字空间 cvm
metricName 指标名 diskusage
dimensionNames.n 需要聚合的维度名称 'ip'
statisticsType.m.period 统计周期目前只能填写300秒 300
statisticsType.m.statistics 为聚合的维度添加统计方式 avg

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://monitor.api.qcloud.com/v2/index.php?Action=CreateMetricAggeration
&Region=gz
&Timestamp=1468850149
&Nonce=46369
&SecretId=AKIDxxxxugEY
&Signature=5umi67UW6TTyk18V2g%2FYi56hqls%3D
&namespace=cvm
&metricName=diskusage
&dimensionNames.0=ip
&statisticsType.0.period=300
&statisticsType.0.statistics=avg

上述请求的返回结果如下,由结果可知,聚合创建成功。

{
  'code': 0,
  'message': ''
}

3.2 上报数据

分析机器115.28.234.106上的两块磁盘的平均使用率,需要上报两块磁盘的使用率数据。
磁盘1上报数据的请求同步骤1.4。
磁盘2的数据上报如下:
和磁盘1不同,磁盘2的磁盘名称为disk2。
磁盘2的维度名称为ip和diskname,磁盘2的维度对应的值为115.28.234.106和disk2
value取值为80,表示机器115.28.234.106上的磁盘disk2在当前时间的使用率为80%

有关上报数据的详细信息请参考数据上报接口页面。其公共请求参数的Action字段为PutMonitorData,接口请求参数如下表:

参数名称 描述 取值
Namespace 命名空间 cvm
Data 上报的具体数据 见下文

Data中的具体数据:

参数名称 描述 取值
dimensions 维度key和value的组合 {"ip":"115.28.234.106","diskname":"disk2"}
metricName 指标名 diskusage
value 上报的数值 80

结合公共请求参数和接口请求参数,最终得到的请求形式如下:
请注意在此接口中上报的域名,端口,请求的的方式以及签名方法生成,请参考数据上报接口页面

http://receiver.monitor.tencentyun.com:8080/v2/index.php?Action=PutMonitorData
&SecretId=xxxxxxx
&Region=gz
&Timestamp=1402992826
&Nonce=345122
&Signature=mysignature
&Namespace=cvm
&Data=[{“dimensions”:{“diskname”:”disk2”,”ip”:”115.28.234.106”},”metricName”:”diskusage”,”value”:80}]

上述请求的返回结果如下,由结果可知,数据上报成功。

{
"code":0,
"message":"OK"
}

3.3 查询数据

您可以调用查询指标监控数据或者查询指标实时监控数据来查询数据分析统计的结果。
此处我们调用查询指标监控数据来查询。
我们需要得到2016-06-21 22:00:00--2016-06-21 22:10:00时间段内,机器115.28.234.106的两块磁盘使用率的平均值,按如下请求方式构造请求。
所在的命名空间为cvm,指标为diskusage。
机器ip的维度名称为ip,维度对应的值为115.28.234.106。
监控数据统计粒度period目前默认为300s,statistics为存在的统计类型,此处为avg,取5分钟内的平均值。

有关查询指标监控数据的详细信息请参考查询指标监控数据页面。其公共请求参数的Action字段为GetMonitorData,接口请求参数如下表:

参数名称 描述 取值
namespace 名字空间 cvm
metricName 指标名称 diskusage
dimensions.n.name 维度名称的组合 ip
dimensions.n.value 维度的值的组合 115.28.234.106
period 监控数据统计粒度,目前只能填写300 300
statistics 统计方式 avg
startTime Y-m-d H:M:S 起始时间,当不填写时,起始时间默认为当天的00:00:00 2016-06-21 22:00:00
endTime 结束时间,不填写时,默认为当前时间 2016-06-21 22:10:00

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://monitor.api.qcloud.com/v2/index.php?Action=GetMonitorData
&Region=gz
&Timestamp=1434850149
&Nonce=46369
&SecretId=AKIDxxxxugEY
&Signature=5umi67UW6TTyk18V2g%2FYi56hqls%3D
&namespace=cvm
&metricName=diskusage
&dimensions.0.name=ip
&dimensions.0.value=115.28.234.106
&period=300
&statistics=avg
&startTime=2016-06-21 22:00:00
&endTime=2016-06-21 22:10:00

上述请求的返回结果如下:

{
    "code": 0,
    "message": "",
    "metricName": "diskusage",
    "startTime": "2016-06-21 22:00:00",
    "endTime": "2016-06-21 22:10:00",
    "period": "300",
    "dataPoints": {
        "ip=115.28.234.106": [
            50,
            70,
            50,
        ]
    }
}

在输出的数据中一共有3个数据点为50%,70%,50%,分别表示的为21:55-22:00,22:00-22:05,22:05-22:10,3个时间段内磁盘1和磁盘2使用率的平均值。

如果有其他疑问,您也可以在问答社区中寻求帮助。前往问答社区 >