IPhone手机利用Siri自动化运维思路

前言

最近研究智能家居与Siri结合,突发奇想:运维是否也可以通过Siri去下指令?

那答案当然是肯定,简单测试一番,大概是这样的画风:

siri

对着Siri说相对应的执行对象与方法,脚本执行后,返回结果,Siri读出执行返回结果。

思路

  • 使用Apple快捷指令做脚本逻辑。

  • 脚本执行触发现有运维平台,平台根据内容去做运维处理操作。

实现

打开快捷指令

编辑流程

  • 听写文本

    语言 中文
    停止聆听 较短暂暂停之后

  • 获取变量

    变量 听写的文本

  • 文本

    输入运维平台API

  • 获取URL内容

    方法POST
    POST内容使用: 听写的文本

  • 从HTML制作多信息文本
  • 朗读文本

IPhone手机利用Siri自动化运维思路

代码部分

简单的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就自动报告昨天夜里凌晨发生的事情。

猜你喜欢

转载自blog.51cto.com/maoyao/2412511