python獲取tidb prometheus監控數據


# -*- 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

 

使用http://192.168.68.63:9090 進行測試

[tikv_disk_used]
實例192.168.68.63:20181 采集時間2021-01-08 17:47:11     當前數值59.627338347000006
實例192.168.68.63:20182 采集時間2021-01-08 17:47:11     當前數值59.726639739999996
實例192.168.68.63:20183 采集時間2021-01-08 17:47:11     當前數值59.644997088
[tikv_mem]
實例192.168.68.63:20181 采集時間2021-01-08 17:47:11     當前數值9.317237854003906
實例192.168.68.63:20182 采集時間2021-01-08 17:47:11     當前數值8.64874267578125
實例192.168.68.63:20183 采集時間2021-01-08 17:47:11     當前數值7.052970886230469
[region_nums]
實例192.168.68.60:2379  采集時間2021-01-08 17:47:11     當前數值43290
[tikv_cpu_used]
實例192.168.68.63:20181 采集時間2021-01-08 17:47:11     當前數值6.6705882352943116
實例192.168.68.63:20182 采集時間2021-01-08 17:47:11     當前數值7.445378151253479
實例192.168.68.63:20183 采集時間2021-01-08 17:47:11     當前數值6.232496488793929

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM