• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: Python
  • 标签: python  

资源简介

通过阿里云sdk实现zabbix统一采集阿里云云监控slb,共享带宽监控阈值(SLB流入带宽,共享带宽bit/s)

资源截图

代码片段和文件信息

#!/usr/bin/env python
# coding=utf-8
‘‘‘
@Author: 以谁为师
@Website: attacker.club
@Date: 2020-04-27 21:54:32
@LastEditTime: 2020-05-06 11:49:24
@Description: 

# 流入bit/s: python bandwidth.main.py  net_rx.rate
# 流出bit/s: python bandwidth.main.py  net_tx.rate

‘‘‘


from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkcms.request.v20190101.DescribeMetricListRequest import DescribeMetricListRequest
import time
import sys
import json


class aliyun_monitor(object):
    def __init__(self metric):
        self.metric = metric

    def query(self):
        client = AcsClient(‘LTAI4G4YqGxxxx‘
                           ‘P61RV8JUb14xxxxx‘ ‘cn-hangzhou‘)

        request = DescribeMetricListRequest()
        request.set_accept_format(‘json‘)
        request.set_Period(“60“)

        # 命名空间
        request.set_Namespace(“acs_bandwidth_package“)
        # 监控指标
        request.set_MetricName(self.metric)
        request.set_Dimensions(
            {‘instanceId‘: “cbwp-bp1xxxxx“})

        # response
        response = client.do_action_with_exception(request)

        # json结果处理
        datadict = json.loads(response)

        res_str = datadict[‘Datapoints‘]
        data = eval(res_str)
        # print(data)
        print(data[-1][‘Value‘])


if __name__ == ‘__main__‘:
    if len(sys.argv) > 1:
        metric = sys.argv[1]
        Monitor = aliyun_monitor(metric)
        Monitor.query()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1575  2020-05-06 03:49  bandwidth.main.py
     文件         697  2020-05-12 09:50  readme.md
     文件        1943  2020-05-06 03:49  slb_main.py

评论

共有 条评论