mirror of https://gitee.com/anolis/sysom.git
47 lines
1.6 KiB
Python
Executable File
47 lines
1.6 KiB
Python
Executable File
#!/usr/bin/python3
|
|
# coding=utf-8
|
|
import json
|
|
import sys
|
|
|
|
###############################################################################
|
|
## 如前端入参是这个:
|
|
## {
|
|
## "instance":"192.168.1.101",
|
|
## "threshold":"1",
|
|
## "timeout":"10"
|
|
## "disk":"vda"
|
|
## }
|
|
###############################################################################
|
|
class Param(dict):
|
|
def __missing__(self,key):
|
|
sys.stderr.write("入参检查失败,没有检查到入参'%s'"%key)
|
|
exit(1)
|
|
|
|
args = Param(json.loads(sys.argv[1]))
|
|
|
|
result = {}
|
|
result['commands'] = []
|
|
|
|
cmd0 = {}
|
|
cmd0['instance'] = args["instance"]
|
|
cmd0_arg_t = args.get("threshold","1000")
|
|
if int(cmd0_arg_t) < 0:
|
|
cmd0_arg_t = 10
|
|
cmd0_arg_T = args.get("timeout","10")
|
|
if int(cmd0_arg_T) <= 0:
|
|
cmd0_arg_T = 10
|
|
cmd0_arg_device = args.get("disk","")
|
|
tools_path = "/usr/local/sysak/.sysak_components/tools/"
|
|
add_threshold_cmd = "echo "+str(cmd0_arg_t)+" >> /var/log/sysak/iosdiag/latency/result.log.seq;"
|
|
dump_log_cmd ="cat /var/log/sysak/iosdiag/latency/result.log.seq 2>/dev/null;"
|
|
iosdiag_cmd = "sysak -g iosdiag latency -t "+str(cmd0_arg_t)+" -T "+str(cmd0_arg_T)+" "+cmd0_arg_device+" > /dev/null"
|
|
print_result_cmd = "if [ ! -e /var/log/sysak/iosdiag/latency/result.log.seq ]; then "+\
|
|
"echo \"fail\"; else "+add_threshold_cmd+dump_log_cmd+" fi"
|
|
cmd0['cmd'] = "rm /var/log/sysak/iosdiag/latency/* -f && mv "+tools_path+"iosdiag_data_analysis "+tools_path+\
|
|
"iosdiag_data_analysis.bak && "+iosdiag_cmd+" && "+print_result_cmd+" && mv "+tools_path+"iosdiag_data_analysis.bak "+\
|
|
tools_path+"iosdiag_data_analysis"
|
|
|
|
result['commands'].append(cmd0)
|
|
|
|
data = json.dumps(result)
|
|
print(data) |