前言
最近研究智能家居与Siri结合,突发奇想:运维是否也可以通过Siri去下指令?
那答案当然是肯定,简单测试一番,大概是这样的画风:
对着Siri说相对应的执行对象与方法,脚本执行后,返回结果,Siri读出执行返回结果。
思路
- 使用Apple
快捷指令
做脚本逻辑。 - 脚本执行触发现有运维平台,平台根据内容去做运维处理操作。
实现
打开快捷指令
编辑流程
- 听写文本
语言 中文
停止聆听较短暂暂停之后
- 获取变量
变量
听写的文本
- 文本
输入
运维平台
API - 获取URL内容
方法POST
POST内容使用:听写的文本
- 从HTML制作多信息文本
- 朗读文本
代码部分
简单的Demo(使用Django
做简单的API,为演示方便,直接返回结果)
class Siri(APIView):
def post(self, request):
# 引入正则
from re import compile
# 正则
_re_server = compile(u‘(?<=查看)\d+(?=服务器)‘)
_re_func = compile(u‘(?<=服务器)\S+‘)
# 获取参数
request_data = request.data.get(‘data‘,‘‘)
try:
server = _re_server.search(request_data).group()
func = _re_func.search(request_data).group()
if func == u"磁盘空间":
request_info = "%s服务器磁盘空间可用率百分之百" % server
return HttpResponse(request_info)
except:
return HttpResponse(‘error‘)
快捷指令POST后,data文本内容为
查看xxx服务器磁盘空间
。
用正则截取服务器。
同样用正则截取服务器后面的方法。
直接返回。
后记
配置好快捷指令
绑定为自动化运维
,这样你对Siri说出自动化运维
时,它会执行脚本,脚本执行后,再把需要执行的东西转化为数据POST到后端运维平台。
至此以后运维画风可能是这样:
- 某天健身房跑着步,收到电话告警,发现是某某服务挂了,对着Siri喊一下
重启某某服务
,服务就这样重启了,从此简单故障不需要带笔记本外出。 - 每天早晨起床,对着Siri喊一下
查询昨天凌晨告警
,Siri就自动报告昨天夜里凌晨发生的事情。
原文地址:https://blog.51cto.com/maoyao/2412511
时间: 2024-11-06 14:45:28