This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhangchengwei-miniorelated/AKAOnlineEnv/CreateDemo/create_Minio_Astana.py
wangyouzhan f8575ddd50 更新ID
2018-12-06 14:53:42 +08:00

109 lines
4.2 KiB
Python

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import sys
import json
import copy
from collections import OrderedDict
from config import ip_list
def main():
panel_id = 1
load_dict = {}
panels = []
for i in ip_list:
print i
with open("./Minio_Astana.json",'r') as load_f:
load_dict = json.load(load_f, object_pairs_hook=OrderedDict)
panels = copy.deepcopy(load_dict['panels'])
for item in reversed(panels):
item['id'] = panel_id
panel_id += 1
if item['title'] == 'NodeCPUState':
panel = item['panels']
for pa in reversed(panel):
pa['id'] = panel_id
panel_id += 1
if pa['title'] == 'CPUUsedRate':
n = panel.index(pa)
for ip in ip_list:
tmp = copy.deepcopy(pa)
tmp['targets'][0]["expr"] = "sum(irate(node_cpu_seconds_total{instance=\"%s:9100\",job=\"os_astana\",mode!=\"idle\"}[1m]))"%ip
tmp['targets'][1]["expr"] = "1 - (avg(irate(node_cpu_seconds_total{instance=\"%s:9100\",job=\"os_astana\",mode=\"idle\"}[1m])))"%ip
tmp['id'] = panel_id
panel_id += 1
tmp['title'] = "%sCPUUsedRate"%ip
panel.insert(n, tmp)
n += 1
panel.remove(pa)
elif item['title'] == 'HttpDutations':
panel = item['panels']
for pa in reversed(panel):
pa['id'] = panel_id
panel_id += 1
if pa['title'] == 'HTTP Requests duration/s':
n = panel.index(pa)
for ip in ip_list:
tmp = copy.deepcopy(pa)
tmp['targets'][0]["expr"] = "rate(minio_http_requests_duration_seconds_sum{request_type=\"GET\",instance=\"%s:9000\"}[1m])"%ip
tmp['targets'][1]["expr"] = "rate(minio_http_requests_duration_seconds_sum{request_type=\"POST\",instance=\"%s:9000\"}[1m])"%ip
tmp['targets'][2]["expr"] = "rate(minio_http_requests_duration_seconds_sum{request_type=\"PUT\",instance=\"%s:9000\"}[1m])"%ip
tmp['targets'][3]["expr"] = "rate(minio_http_requests_duration_seconds_sum{request_type=\"HEAD\",instance=\"%s:9000\"}[1m])"%ip
tmp['targets'][4]["expr"] = "rate(minio_http_requests_duration_seconds_sum{request_type=\"DELETE\",instance=\"%s:9000\"}[1m])"%ip
tmp['id'] = panel_id
panel_id += 1
tmp['title'] = "%sHTTP Requests duration/s"%ip
panel.insert(n, tmp)
n += 1
panel.remove(pa)
elif item['title'] == 'HttpSend&ReceiveNum':
panel = item['panels']
for pa in reversed(panel):
pa['id'] = panel_id
panel_id += 1
if pa['title'] == 'HttpRequestNum':
n = panel.index(pa)
for ip in ip_list:
tmp = copy.deepcopy(pa)
tmp['targets'][0]["expr"] = "sum(increase(minio_http_requests_duration_seconds_count{instance=\"%s:9000\",job=\"minio_astana\",request_type=\"GET\"}[1m]))"%ip
tmp['targets'][1]["expr"] = "sum(increase(minio_http_requests_duration_seconds_count{instance=\"%s:9000\",job=\"minio_astana\",request_type=\"PUT\"}[1m]))"%ip
tmp['targets'][2]["expr"] = "sum(increase(minio_http_requests_duration_seconds_count{instance=\"%s:9000\",job=\"minio_astana\",request_type=\"DELETE\"}[1m]))"%ip
tmp['targets'][3]["expr"] = "sum(increase(minio_http_requests_duration_seconds_count{instance=\"%s:9000\",job=\"minio_astana\",request_type=\"POST\"}[1m]))"%ip
tmp['id'] = panel_id
panel_id += 1
tmp['title'] = "%sHttpRequestNum"%ip
panel.insert(n, tmp)
n += 1
panel.remove(pa)
elif item['title'] == 'HttpSend&Receivebytes':
panel = item['panels']
for pa in reversed(panel):
pa['id'] = panel_id
panel_id += 1
if pa['title'] == 'DataReceived&Sent':
n = panel.index(pa)
for ip in ip_list:
tmp = copy.deepcopy(pa)
tmp['targets'][0]["expr"] = "rate(minio_network_sent_bytes_total{instance=\"%s:9000\",job=\"minio_astana\"}[1m])"%ip
tmp['targets'][1]["expr"] = "rate(minio_network_received_bytes_total{instance=\"%s:9000\",job=\"minio_astana\"}[1m])"%ip
tmp['id'] = panel_id
panel_id += 1
tmp['title'] = "%sDataReceived&Sent"%ip
panel.insert(n, tmp)
n += 1
panel.remove(pa)
elif item['title'] == 'NodeState':
panel = item['panels']
for pa in reversed(panel):
pa['id'] = panel_id
panel_id += 1
load_dict['panels'] = panels;
with open("./record.json","w") as f:
json.dump(load_dict,f)
print("OKKKKKKKKKKK")
if __name__ == "__main__":
main()