京东云监控对接

目录

    • 需求
    • 监控指标推送
    • 具体操作
    • 相关链接

需求

  • 由于一些特殊的需求对接, 不能使用我们自己的监控服务告警, 只能对接京东云的监控告警。因此向京东云推送监控告警信息成了最终要的问题。

监控指标推送

  • 官方推荐使用京东云SDK, 编写推送代码来推送。
  • AK和SK, 这个是京东云给用户颁发的认证密钥和加密密钥。 让京东云那边可以判断出是你推送的这个告警, 而不是别的客户推送的。
  • 京东云SDK支持各种语言版本的, 我才用的是python版本的。
  • 京东云推送的域, 分为公网和内网的, 默认是公网的。 如果使用内网的需要域名。 (我用的是内网的)

具体操作

  • 安装京东云SDK
    • pip install -u jdcloud-sdk
  • 编写测试脚本
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time   : 2023/6/19 15:22
    # @Author : [email protected]
    # @Notice : 监控测试案例
    import time
    from jdcloud_sdk.core.config import Config
    from jdcloud_sdk.core.const import SCHEME_HTTP
    from jdcloud_sdk.core.credential import Credential
    from jdcloud_sdk.services.monitor.client.MonitorClient import MonitorClient
    from jdcloud_sdk.services.monitor.apis.PutMetricDataRequest import *
    
    # 准入密钥和加密密钥 准入密钥是京东云鉴权小赢身份用的, 加密密钥是通信认证需要的
    access_key = 'XXXXX'
    secret_key = 'XXXXX'
    
    # 实例化身份认证对象
    credential = Credential(access_key, secret_key)
    
    # 实例化配置对象
    config = Config('monitor.internal.cn-north-1.jdcloud-api.com', SCHEME_HTTP, 20)
    
    # 实例化监控客户端对象
    client = MonitorClient(credential, config)
    
    metricDataList = [
        {
            "namespace": "risk_test",  # 命名空间
            "metric": "vm.mem.usage1",  # 指标名称
            "dimensions": {  # 维度
                "host": "1.2.3.23",
                "datacenter": "cn-north-1"
            },
            "timestamp": int(time.time()),  # 时间戳
            "type": 1,  # 类型: 1: 原始数据
            "values": {  # 值
                "value": "12342213"
            }
        }
    ]
    
    if __name__ == '__main__':
        parameters = PutMetricDataParameters()
        parameters.setMetricDataList(metricDataList)
        request = PutMetricDataRequest(parameters=parameters)
        resp = client.send(request)
    
  • 如果出现IP限制提示, 需要让京东云侧或自己的运维看看是不是哪里的网络有限制。
  • 京东云自定义监控配置监控图表。
  • 配置该指标的告警。

相关链接

  • 京东云监控使用介绍:https://docs.jdcloud.com/cn/monitoring/product-overview
  • 京东云OpenAPI使用方式:https://docs.jdcloud.com/cn/common-declaration/api/introduction
  • 京东云SDK使用方式:https://docs.jdcloud.com/cn/sdk/python
  • 京东云Pyhton SDKdemo案例:https://github.com/jdcloud-api/jdcloud-sdk-python/tree/master/demo
  • 京东云监控接口:https://docs.jdcloud.com/cn/monitoring/api/putmetricdata

你可能感兴趣的:(监控与报警,京东云,python)