上报监控指标数据

最近更新时间:2020-01-13 11:08:39

注意:

新版自定义监控已灰度上线,目前处于内测阶段,如需使用可进入 申请页面 申请内测体验。
若在使用过程中遇到任何问题,您可以加入自定义监控交流 QQ 群(793979710)进行咨询,我们将竭诚为您服务!

简介

自定义监控支持 CLISDK 两种方式上报监控指标数据,本文将向您介绍上报接口和详细的数据上报步骤。

说明:

您不需要提前对指标进行声明和创建,上报成功后系统将自动注册指标,已注册指标不会重复创建。

上报条件

CLI 方式上报数据

  1. 安装 TCCLI 工具
  2. 配置 TCCLI:执行以下命令,分别配置 secretId、secretKey、region 和 output 格式。
    tccli configure set secretId   您的 secretId
    # tccli configure set secretId 0000000
    tccli configure set secretKey  您的 secretKey
    # tccli configure set secretKey 111111111
    tccli configure set region $(curl http://metadata.tencentyun.com/latest/meta-data/placement/region 2>/dev/null) 
    tccli configure set output json
    • secretId 和 secretKey:可参考 访问密钥 获取,本文命令举例使用的 secretId 和 secretKey 为0000000和111111111。
    • region:可执行本文命令直接获取参数值,或在本文 地域列表 章节查看可选区域的对应取值。
    • output:使用默认的 JSON 输出格式。
  3. 上报监控数据:执行tccli monitor PutMonitorData命令进行数据上报。
    以下为一个上报示例,您可以直接复制完成上报体验,也可按照您的需要参考 输入参数说明 对参数进行调整后进行自由上报。
    tccli monitor PutMonitorData \
    --AnnounceInstance $(curl http://metadata.tencentyun.com/latest/meta-data/local-ipv4 2>/dev/null) \
    --AnnounceTimestamp $(date +%s) \
    --Metrics '[{"MetricName": "err_count","Value": 10},{"MetricName": "post_count","Value": 20}, {"MetricName": "users","Value": 30}]'
  4. 上报成功:如下返回 RequestId 则说明上报成功,上报成功后系统将自动注册指标,已注册指标不会重复创建。
    { "RequestId": "dc874995-e065-41a9-9aeb-bb02942d65e3"}
  5. 您还可以编写 Shell 文件调用 TCCLI 工具完成数据上报,如下为一个 Shell 文件示例,您还可以参见最佳实践 监控 Nginx 进程存活 文档查看如何通过更完整的 Shell+CLI 的方式完成数据上报。
    #!/bin/bash
    err_count=100
    post_count=10000
    users=99
    metrics=$(cat <<EOF
    [
    {
     "MetricName": "err_count", 
     "Value":$err_count 
    }, 
    {
     "MetricName": "post_count", 
     "Value": $post_count
    }, 
    {
     "MetricName": "users", 
     "Value": $users
    }
    ]
    EOF
    )
    myip=$(curl http://metadata.tencentyun.com/latest/meta-data/local-ipv4 2>>/dev/null)
    tccli monitor PutMonitorData --Metrics "$metrics" --AnnounceInstance "$myip"  --AnnounceTimestamp $(date +%s)

SDK 方式上报数据

  1. 安装 SDK
    云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

  2. 获取上报 Demo
    您可以在 SDK 自助工具 获取多语言的 SDK 上报 Demo,并且此工具可以帮助您在腾讯云控制台页面完成快速上报体验,无需其他云产品上报环境即可上报指标数据。

    1. 获取访问密钥 SecretId 和 SecretKey:可参考 访问密钥 文档,在 访问管理控制台 页面新建或查看密钥。
    2. 填写输入参数,参数说明如下,更多详细说明请参考 输入参数说明
    说明:

    • Region:地域,可查询可用 地域列表
    • Metrics.N :一组指标和数据。
    • AnnouceInstance、AnnounceIp:两个参数均可用于上报主机 IP 或实例名,建议使用 AnnouceInstance,AnnounceIp 参数正灰度下线中。如使用云服务器 CVM 或云函数 SCF 上报数据请参考 输入参数说明 填写此参数。
    • AnnounceTimestamp:自行指定上报的时间戳,为空时默认上报当前时间。
    1. 在线调用测试
      填写完相关参数后,可在控制台中直接调用 Demo,测试其可用性。如下图所示,进入【在线调用】页面,单击【发送请求】,如下图返回一个 RequestId 即说明上报成功,此时您可以在 自定义监控控制台 的指标列表和视图页面都查看到您上报的指标。
    2. 获取 Demo
      完成调用测试后,返回【代码生成】页面即可获取多语言的上报 Demo,在获取 Demo 后您可根据实际需求进行简单的字段替换,即可实现多样的指标数据上报。

上报接口说明

接口描述

接口描述 接口说明
接口请求域名 monitor.tencentcloudapi.com
默认接口请求频率限制 50次/秒
上报指标限制 单次上报最多30个指标/值对,请求返回错误时,请求中所有的指标/值均不会被保存。
默认指标总数 100个/租户
上报的时间戳 期望保存的时间戳,建议构造整数分钟时刻的时间戳。 时间戳时间范围必须为当前时间到300秒前之间。 同一 IP 指标对的数 据需按分钟先后顺序上报。

输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:PutMonitorData
Version String 公共参数,本接口取值:2018-07-24
Region String 公共参数,腾讯云设备报的地域信息(可以通过http://metadata.tencentyun.com/latest/meta-data/placement/region 获取),查询可用 地域列表
Metrics.N Array of MetricDatum 一组指标和数据。
AnnounceInstance String 用于上报实例 ID 或 IP,最大长度128字节。
  • 云服务器请上报其主机 IP 地址。
  • 云函数请以命名空间|函数名的格式上报实例 ID,例如Namespace|MyFunction
  • AnnounceTimestamp Integer 自行指定上报的时间戳,例如1572438660,不填写时默认上报当前时间。

    其中,MetricDatum 参数说明如下:

    参数名称 必选 类型 描述
    MetricName String 指标名称,最大长度255字节,只允许A-Za-z0-9-_字符匹配。
    Value Integer 指标值,整数,不得超过32字节,超过32字节会被截断。

    输出参数

    参数名称 类型 描述参数名称
    RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

    地域列表

    本产品 Region 字段可选值如下表所示:

    区域 取值
    亚太东南(曼谷) ap-bangkok
    华北地区(北京) ap-beijing
    西南地区(成都) ap-chengdu
    西南地区(重庆) ap-chongqing
    华南地区(广州) ap-guangzhou
    华南地区(广州 Open) ap-guangzhou-open
    港澳台地区(中国香港) ap-hongkong
    亚太南部(孟买) ap-mumbai
    亚太东北(首尔) ap-seoul
    华东地区(上海) ap-shanghai
    华东地区(上海金融) ap-shanghai-fsi
    华南地区(深圳金融) ap-shenzhen-fsi
    亚太东南(新加坡) ap-singapore
    亚太东北(东京) ap-tokyo
    欧洲地区(法兰克福) eu-frankfurt
    欧洲地区(莫斯科) eu-moscow
    美国东部(弗吉尼亚) na-ashburn
    美国西部(硅谷) na-siliconvalley
    北美地区(多伦多) na-toronto

    错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    DryRunOperation DryRun 操作,代表请求将会是成功的,只是多传了 DryRun 参数。
    FailedOperation 操作失败。
    InternalError 内部错误。
    InternalError.ExeTimeout 执行超时。
    InvalidParameter 参数错误。
    InvalidParameter.InvalidParameter 参数错误。
    InvalidParameter.InvalidParameterParam 参数错误。
    InvalidParameterValue 无效的参数值。
    MissingParameter 缺少参数错误。
    ResourceNotFound 资源不存在。
    ResourceUnavailable 资源不可用。
    UnauthorizedOperation 未授权操作。
    UnknownParameter 未知参数错误。
    UnsupportedOperation 操作不支持。