场景背景
功能展示



配置智慧运维平台与AI工具步骤
#!/home/bomc/miniconda2/bin/python2.7
# -*- coding:utf-8 -*-
from flask import Flask,request,jsonify
import json,requests
import time
app = Flask(__name__)
defurl_post(url,data,headers):
r = requests.post(url,data=data,headers=headers)
if r.status_code == 200:
return json.loads(r.text)
else:
returnFalse
defurl_get(url,headers):
#print url
#print headers
r = requests.get(url,headers=headers)
#print r.text.encode('gbk')
if r.status_code == 200:
return json.loads(r.text)
else:
returnFalse
defurl_delete(url,headers):
r = requests.delete(url,headers=headers)
if r.status_code == 200:
return json.loads(r.text)
else:
returnFalse
defurl_patch(url,headers):
r = requests.patch(url,data=data,headers=headers)
if r.status_code == 200:
return json.loads(r.text)
else:
returnFalse
classshsnc_zhyw_api():
def__init__(self):
self.url = "http://xx.xx.xx.xx:xxxx"
defget_token(self):
path = "%s/user/passport/loginCode" % self.url
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/xxx.xxx.xxx.xxx Safari/537.36'}
data = {"params":{"account":"admin","password":"xxxx"}}
app_result = url_post(path,json.dumps(data),headers)
return app_result['data']['certification']['token']
defzhyw_rw_zx(self,data):
token = self.get_token()
path = "%s/atm/job/execute/orchestration" % self.url
headers = {'snc-token': token}
# data = {"params":{"orchestrationId":94,"orchestrationParams":[{"paramName":"hostip","paramType":"text","value":"xx.xx.xx.xx"}]}}
app_result = url_post(path,json.dumps(data),headers)
if app_result['msgCode'] == 200:
return app_result['data']['result']
else:
returnFalse
defzhyw_rw_stepId(self,resultid):
token = self.get_token()
path = "%s/atm/job/get" % self.url
headers = {'snc-token': token}
data = {'params':{'id':resultid}}
app_result = url_post(path,json.dumps(data),headers)
return app_result
defzhyw_rw_result(self,stepid):
token = self.get_token()
path = "%s/atm/job/findTaskScriptLog" % self.url
headers = {'snc-token': token}
data = {'params':{'condition':{'stepId':stepid}}}
app_result = url_post(path,json.dumps(data),headers)
return app_result
defzhyw_api_result(data):
zhyw_api = shsnc_zhyw_api()
resultid = zhyw_api.zhyw_rw_zx(data)
timeout = 300
interval = 5
start_time = time.time()
if resultid:
result_id = zhyw_api.zhyw_rw_stepId(resultid)
id = result_id['data']['taskStepModelList'][0]['detailBeanList'][0]['stepId']
whileTrue:
result_data = zhyw_api.zhyw_rw_result(id)
result_code = result_data['data']['records'][0]['resultStatus']
print result_data['data']['records'][0]
print result_code
if time.time() -start_time>timeout:
data = "timed out"
break
if result_code == 300:
try:
data = result_data['data']['records'][0]['taskLogOutParamModelList'][0]['paramValue']
except :
data = result_data['data']['records'][0]['message']
return data
break
elif result_code == 301:
data = "test failed "
break
else:
time.sleep(interval)
return data
@app.route('/api/post',methods=['POST'])
defhandle_post():
try:
data = request.get_json()
print data
ifnot data:
return jsonify({"error":"NO JSON data received"}),400
zhyw_api = zhyw_api_result(data)
return zhyw_api
except Exception as e:
return jsonify({"error":str(e)}),500
if __name__ == '__main__':
app.run(host='0.0.0.0',port=18888,debug=True)





在运维中使用AI的优势
故障预测与预防 AI通过分析日志和性能数据,识别潜在问题,提前采取措施,避免系统崩溃。 自动化运维 AI自动化处理重复性任务,如监控、报警和修复,提升效率,减少人为干预。 智能监控 实时分析数据,快速发现异常,预测趋势,增强系统稳定性。 资源优化 动态调整资源分配,提高利用率,降低成本。 快速响应与准确性 快速分析问题,提供解决方案,减少停机时间,提高诊断准确性。 安全增强 检测异常行为和威胁,提升系统安全性。 决策支持 提供数据见解,辅助运维决策,提升整体效率。

本文作者:陈 鹏(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




