钉钉机器人提升网络监控调度效率
2021-08-23徐孟江
徐孟江 田 良
(中国联通贵州省分公司,贵州 贵阳 550001)
1 背景
如今互联网以惊人的速度飞速发展,对于早期一些基于短信、彩信、语音的预警方式逐渐形成了一些效率上的瓶颈,同时,部分统计数据无法通过短信、语音形式进行实时发布,无法满足日常工作中高效维护的需要。
我分公司集中监控调度工作完成后,经过不断优化调整,至2018 年,虽然一定程度上集约了人力,但大部分工作仍需通过手工方式进行操作,其中之一为人工每小时将专业网管或专业综合网管数据查询、导出后,按照相应的模板统计、填报数据,再由人工发布至相应的钉钉群,工作效率较低,且容易造成数据统计错误,及时性不高,U 盘拷贝数据也存在一定的网络隐患。在公司互联网化转型,提质增效等工作指引下,开展了钉钉群机器人运维监控调度自动化创新。
2 钉钉群自定义机器人实现方式
2.1 获取自定义机器人Webhook
在机器人管理页面选择“自定义”机器人,输入机器人名字并选择要发送消息的群。如果需要的话,可以为机器人设置一个头像。点击“完成添加”,完成后会生成webhook 地址。
点击“复制”按钮,即可获得这个机器人对应的Webhook 地址 , 其 格 式 如 下 :https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx
2.2 使用自定义机器人
获取到Webhook 地址后,指定系统可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。发起POST请求时,必须将字符集编码设置成UTF-8。
当前自定义机器人支持文本(text)、连接(link)、markdown markdown)、ActionCard、FeedCard 消息类型,可以根据使用场景选择合适的消息类型,达到最好的展示样式。
自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员收到该消息时,会有@消息提醒(免打扰会话仍然通知提醒,首屏出现“有人@你”)。
2.3 消息发送频率
每个钉钉群机器人每分钟最多可发送20 条消息。若消息发送太频繁会严重影响群成员的使用体验,因此可将大量发消息的场景(譬如单设备告警消息)进行整合,通过markdown 消息以摘要的形式发送到钉钉群中。
2.4 钉钉群自定义机器人实现全省告警信息通报
系统每小时0 分,定时对全省的基站断站信息进行统计,并生成通报数据,调用钉钉自定义机器人接口,将数据发送至省公司运维钉钉群中。
系统根据基站类型和基站等级两种维度进行数据统计。
系统在生成通报数据时,按照预设的阈值进行数据封装(阈值随时可以进行增删改),预设的阈值为:
(1)单一区县断站数小于20 个,不单独进行提示,显示为:零星分布。
(2)单一区县断站数大于等于20 个,单独进行提示,显示为:区县名称。
2.4.1 消息类型及数据格式text 类型
代码如下:
参数说明如表1。
表1
消息内容(content)只支持md 语法的子集,具体支持的元素如表2。
表2
2.4.2 全省告警信息通报实现效果
截止11 月2 日13:00 全省基站断站XXX 个,其中2G-XX,3G-XX,4G-XX;
(1)贵阳市XX 个(A-X,B-X,C-X),零星分布;
(2)遵义市XX 个(A-X,B-X,C-X),零星分布;
(3)...................................
断站详情——-->(此为url,点开可查看详情)
2.5 钉钉群自定义机器人实现地市告警信息通报
钉钉群机器人每小时0 分,定时对全省各地市的基站断站信息,根据设备类型和设备等级两种维度进行数据统计,并按照相应模板生成通报信息,调用钉钉自定义机器人接口,将信息发送至地市分公司运维钉钉群中。同时加入发送失败检测机制,确保信息正常发送。
2.5.1 消息类型及数据格式
表3
2.5.2 地市告警信息通报实现效果
截止11 月2 日13:00 贵阳市基站断站XXX 个,其中2G-XX,3G-XX,4G-XX;
(1)贵安新区XX 个(A-X,B-X,C-X)。
(2)......................
断站详情——-->(此为url,点开可查看详情)
3 钉钉群机器人助力运维自动化效率提升
监控调度中心利用互联网手段,通过钉钉软件开放的webhook 能力进行二次开发,结合集中监控调度工作内容,在进行网络安全处理后,与运行维护部相应的专业综合网管系统对接,进行相应的软件开发、规则设置后,将故障通报工作由人工转变为自动,提升集中监控调度效率,释放部分人力。
通过钉钉开放的webhook 能力,自主研发,在全省及各市州运维群设置钉钉机器人。在后端进行相应的软件开发,定时同步并统计各专业综合网管告警,按照监控调度通报规则,对数据进行封装后,根据钉钉机器人的webhook 地址,发起http post请求,将数据通报至相应的钉钉群(如全省数据通报到省群,贵阳数据通报到贵阳群,还可通过url 链接可查看详情)。
钉钉机器人启用前,每小时1 次由监控人员统计通报的数据,需要从各系统中导出进行加工,再进行通报,全省10 个本地网,每个历时10-15 分钟左右才能完成,耗时耗力。启用钉钉机器人后,每小时1 次的通报仅1 分钟即可实现,工作效率大幅提升,部分人力得到释放。
主要成效如下:
(1)效率提升:自主开发,利旧原有1 台x86 服务器(约3 万元)实现功能。按照全省及10 个本地网计算,每个小时工作耗时由原来的10-15 分钟缩减为1 分钟以内,每人每日(12 小时制)节省2-3 小时。工作效率大幅提升,监控人员将更多精力投入到核心网、核心局房等重要网元的监控调度上。
(2)差错性:人工统计数据、存在一定的延迟性、数据不准确性和人为差错。改为系统实现后,数据及时性大幅提升、准确性更高。
(3)功能迭代:后期还可在该基础上进行功能的迭代开发,将其他的运维日常工作自动化,对运维密集型、重复性劳动工作的效率提升潜力巨大。
(4)安全管控:传统方式从多个专业网管或综合网管(内网)统计数据后,通过U 盘进行拷贝,再发送到公网,存在一定的病毒传播、网络安全等风险,现统一进行安全管控,降低了风险。
越来越多的企业选择使用移动端进行日常工作处理、业务交互、消息发布,以加强企业内部协作,提高生产、服务效率,员工也更能够接受和适应移动端的相关应用。贵州联通基于钉钉群机器人的消息发布方式,有效的解决了日常工作中告警消息、统计数据的实时发布,极大的提高了消息发布的及时性、准确性,大幅提升了一线工作人员和领导层的相关工作。通过分权分域,将更多的系统信息通过钉钉群机器人发布到不同专业、不同地市或不同维度的钉钉群中,提升了自动化运维能力和工作效率。