更新创建JSON模板

This commit is contained in:
zhangchengwei
2018-12-06 14:24:49 +08:00
parent 5f1aa87e91
commit 60236a9bd6
4 changed files with 2204 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import sys
ip_list = [
"10.4.35.41",
"10.4.35.42",
"10.4.35.43",
"10.4.35.44",
"10.4.35.45",
"10.4.35.46",
"10.4.35.47",
"10.4.35.48"
]

View File

@@ -0,0 +1,103 @@
#!/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_Demo.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_filelog_astana\",mode!=\"idle\"}[1m]))"%ip
tmp['targets'][1]["expr"] = "1 - (avg(irate(node_cpu_seconds_total{instance=\"%s:9100\",job=\"os_filelog_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{job=\"minio_filelog_astana\",request_type=\"GET\",instance=\"%s:9000\"}[1m])"%ip
tmp['targets'][1]["expr"] = "rate(minio_http_requests_duration_seconds_sum{job=\"minio_filelog_astana\",request_type=\"POST\",instance=\"%s:9000\"}[1m])"%ip
tmp['targets'][2]["expr"] = "rate(minio_http_requests_duration_seconds_sum{job=\"minio_filelog_astana\",request_type=\"PUT\",instance=\"%s:9000\"}[1m])"%ip
tmp['targets'][3]["expr"] = "rate(minio_http_requests_duration_seconds_sum{job=\"minio_filelog_astana\",request_type=\"HEAD\",instance=\"%s:9000\"}[1m])"%ip
tmp['targets'][4]["expr"] = "rate(minio_http_requests_duration_seconds_sum{job=\"minio_filelog_astana\",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_filelog_astana\",request_type=\"GET\"}[1m]))"%ip
tmp['targets'][1]["expr"] = "sum(increase(minio_http_requests_duration_seconds_count{instance=\"%s:9000\",job=\"minio_filelog_astana\",request_type=\"PUT\"}[1m]))"%ip
tmp['targets'][2]["expr"] = "sum(increase(minio_http_requests_duration_seconds_count{instance=\"%s:9000\",job=\"minio_filelog_astana\",request_type=\"DELETE\"}[1m]))"%ip
tmp['targets'][3]["expr"] = "sum(increase(minio_http_requests_duration_seconds_count{instance=\"%s:9000\",job=\"minio_filelog_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_filelog_astana\"}[1m])"%ip
tmp['targets'][1]["expr"] = "rate(minio_network_received_bytes_total{instance=\"%s:9000\",job=\"minio_filelog_astana\"}[1m])"%ip
tmp['id'] = panel_id
panel_id += 1
tmp['title'] = "%sDataReceived&Sent"%ip
panel.insert(n, tmp)
n += 1
panel.remove(pa)
load_dict['panels'] = panels;
with open("./record.json","w") as f:
json.dump(load_dict,f)
print("OKKKKKKKKKKK")
if __name__ == "__main__":
main()