您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python获取tidb prometheus监控数据

bubuko 2022/1/25 19:18:09 python 字数 2092 阅读 845 来源 http://www.bubuko.com/infolist-5-1.html

# -*- coding:utf-8 -*- # import requests import time ''' 采样范围太大就会提示 {"status":"error","errorType":"execution","error":"query processing would load too ...
# -*- coding:utf-8 -*- #

import requests  
import time

‘‘‘
采样范围太大就会提示
{"status":"error","errorType":"execution",
"error":"query processing would load too many samples into memory in query execution"}
‘‘‘

check_address = {
                "test1":"http://192.168.1.1:9090/",
                "test2":"http://192.168.1.2:9090/",
                "test3":"http://192.168.1.3:9090/"
                }
                
                
check_target= {"tikv_disk_used":"sum(tikv_engine_size_bytes{} ) by (instance) /1000/1000/1000",
               "tikv_mem":"process_resident_memory_bytes{job=‘tikv‘}/1024/1024/1024",
               "region_nums":"pd_cluster_status{type=‘region_count‘}",
               "tikv_cpu_used":"sum(rate(tikv_thread_cpu_seconds_total{job=‘tikv‘}[30m])) by (instance) * 100"}

for project,address in check_address.items():
    print("---------------项目{}---------------".format(project))
              
    for key,expr in check_target.items():
        print("[{}]".format(key))
        url = address + ‘/api/v1/query?query=‘ + expr
        response = requests.get(url,params={‘query‘:‘expr‘})
        
        try:
            for i in response.json()[‘data‘][‘result‘]:
                check_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(i[‘value‘][0]))
                print("实例{}\t采集时间{}\t当前数值{}".format(i[‘metric‘][‘instance‘],check_time,i[‘value‘][1]))
        except Exception as e:
            print(‘Error:‘, e)
            continue

  

python获取tidb prometheus监控数据

原文:https://www.cnblogs.com/imdba/p/14252631.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶