摘 要
钉钉(DingTalk)由阿里巴巴集团开发,用于商务沟通和工作协同。钉钉群机器人是钉钉群的高级扩展功能。通过钉钉的自定义机器人,可以将第三方系统的预警通知实时发送至省分及各地市的钉钉群中,提醒相关负责人员及时感知到故障告警的发生,快速响应。相比于传统的短信预警,钉钉消息预警不仅内容上更为详细,样式上也更为美观,相较于传统的手工统计通报方式,信息更为及时和准确,而且钉钉消息上可以添加故障告警详情的链接,相关负责人员在手机或PC上通过点击即可快速查看故障告警详情,极为方便。本文就贵州联通运维监控调度自动化效率提升进行创新。
关键词
移动办公、微应用、钉钉、机器人、自动化、效率提升
1 概述
如今互联网以惊人的速度飞速发展,对于早期一些基于短信、彩信、语音的预警方式逐渐形成了一些效率上的瓶颈,同时,部分统计数据无法通过短信、语音形式进行实时发布,无法满足日常工作中高效维护的需要。
钉钉(DingTalk)由阿里巴巴集团开发,用于商务沟通和工作协同。通过钉钉的webhook自定义机器人,可以将个专业综合网管的预警通知实时发送至省分及各地市的钉钉群中,提醒相关负责人员故障告警的发生,快速响应。相比于传统的短信预警,钉钉消息预警不仅内容上更为详细,样式上也更为美观,而且钉钉消息上可以添加故障告警详情的链接,相关负责人员在手机或PC上通过点击即可快速查看故障告警详情。
基于钉钉群机器人的消息发布方式,有效的解决了日常工作中预警消息、统计数据的实时发布,极大的提高了消息发布的时间效率,对一线工作人员和领导层的相关工作均带来极大提升。
2 钉钉群机器人研究
贵州分公司集中监控调度工作完成后,经过不断优化调整,至2018年,虽然一定程度上集约了人力,但大部分工作仍需通过手工方式进行操作,其中之一为人工每小时将专业网管或专业综合网管数据查询、导出后,按照相应的模板统计、填报数据,再由人工发布至相应的钉钉群,工作效率较低,且容易造成数据统计错误,及时性不高,U盘拷贝数据也存在一定的网络隐患。在公司互联网化转型,提质增效等工作指引下,开展了钉钉群机器人运维监控调度自动化创新。
2.1 钉钉群功能简介
钉钉(DingTalk)由阿里巴巴集团开发,用于商务沟通和工作协同。钉钉内置群功能,经过群管理员认证的用户才能加入到指定的钉钉群中,确保了钉钉群内只包含指定的用户。同时,一旦出现人事变动,离职员工会即时从整个通讯录和所有群组中退出,确保了运维数据的安全性。
2.2 钉钉群机器人技术原理
钉钉群机器人是钉钉群的高级扩展功能,可以专业综合网管的信息聚合到群聊中,实现信息的自动化同步。目前,大部分机器人在添加后,还需要进行Webhook配置,才可正常使用。另外,群机器人支持Webhook协议的自定义接入,支持更多可能性。
以告警数据为例,各专业综合网管系统管理着整个贵州联通的网络运行情况。通过钉钉的自定义机器人,可以将这些系统的告警通知发送至省分及各地市的钉钉群中,提醒相关负责人员告警的发生情况,快速响应。相比于传统的短信等预警方式,钉钉预警不仅内容上更为详细,样式上也更为美观,还可以添加故障告警详情的链接,点击即可快速查看故障告警详情。
.jpg)
钉钉机器人效果图-1
实现上述功能,只需钉钉群机器人后台程序发送HTTP请求到指定的URL地址(群机器人的Webhook)即可。
通过钉钉的自定义机器人,还可对很多运维需求进行扩展、迭代,例如:各地市分公司的基站退服告警数据统计结束后,通过钉钉机器人将统计结果发送至省分及各地市的钉钉群中,对于超过阈值的地市分公司,通过钉钉消息的@功能提醒分公司相关负责人员。
2.3 钉钉群自定义机器人实现方式
2.2.1 获取自定义机器人Webhook
在机器人管理页面选择“自定义”机器人,输入机器人名字并选择要发送消息的群。如果需要的话,可以为机器人设置一个头像。点击“完成添加”,完成后会生成webhook地址,如下图:
.jpg)
钉钉机器人配置-2
点击“复制”按钮,即可获得这个机器人对应的Webhook地址,其格式如下:
![]()
钉钉机器人配置-3
2.2.2 使用自定义机器人
获取到Webhook地址后,指定系统可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。发起POST请求时,必须将字符集编码设置成UTF-8。
当前自定义机器人支持文本 (text)、连接 (link)、markdown markdown)、ActionCard、FeedCard消息类型,可以根据使用场景选择合适的消息类型,达到最好的展示样式。
自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员收到该消息时,会有@消息提醒(免打扰会话仍然通知提醒,首屏出现“有人@你”)。
2.2.3 消息发送频率
每个钉钉群机器人每分钟最多可发送20条消息。若消息发送太频繁会严重影响群成员的使用体验,因此可将大量发消息的场景 (譬如单设备告警消息)进行整合,通过markdown消息以摘要的形式发送到钉钉群中。
3 钉钉群机器人运维自动化实现
3.1 系统环境图
.jpg)
系统环境图-4
目前贵州联通钉钉群机器人部署在网络拓扑展现系统下,是该系统的一个子模块,实现信息自动统计及信息自动发送等功能。
3.1.1 数据库
用于钉钉群机器人后台程序的数据存储,实现包括独立的帐号权限管理、系统访问日志的记录等。
3.1.2 GIS Server
预留本地GIS服务能力。
3.1.3 钉钉群机器人
钉钉群机器人是钉钉群的高级扩展功能,通过群机器人接口,可将通知消息聚合到群聊中,实现信息的自动化同步。系统使用Webhook协议的自定义接入,将运维告警提醒通过自定义机器人聚合到钉钉群。
3.1.4 短信/邮件网关
后期可实现用于通知类的消息发送。
3.1.5 接入系统
钉钉群机器人后台程序接入省端移动综合网管、传输综合网管、城域网综合网管等系统,通过ftp、数据库等接口实现运维数据获取。
3.2 系统网络结构示意图
.jpg)
系统结构图-5
3.3 系统整体框架
.jpg)
系统框架图-6
3.4 钉钉群自定义机器人信息通报流程
.jpg)
流程图-7
钉钉群自定义机器人信息通报流程描述:
1、系统定时获取告警信息;
2、系统对告警信息以地市粒度进行统计;
3、系统对地市粒度的统计数据以省粒度进行统计;
4、系统获取钉钉群自定义机器人Webhook接口信息;
5、系统按照钉钉群自定义机器人Webhook接口规范进行数据封装;
6、系统调用钉钉群自定义机器人Webhook接口,传输封装后的数据,并获取接口返回数据;
7、系统根据钉钉群自定义机器人Webhook接口返回数据进行状态判断,若发送成功,则存储发送记录;
8、若发送失败,系统重新调用钉钉群自定义机器人Webhook接口发送数据。若超过重试次数,系统记录日志后,终止本次发送操作。
3.5 钉钉群自定义机器人实现全省告警信息通报
系统每小时0分,定时对全省的基站断站信息进行统计,并生成通报数据,调用钉钉自定义机器人接口,将数据发送至省公司运维钉钉群中。
系统根据基站类型和基站等级两种维度进行数据统计。
系统在生成通报数据时,按照预设的阈值进行数据封装(阈值随时可以进行增删改),预设的阈值为:
1、单一区县断站数小于20个,不单独进行提示,显示为:零星分布
2、单一区县断站数大于等于20个,单独进行提示,显示为:区县名称
3.5.1 消息类型及数据格式
text类型
代码表-8
.jpg)
参数表-9
.jpg)
消息内容(content)只支持md语法的子集,具体支持的元素如下:
消息表-10
.jpg)
3.5.2 全省告警信息通报实现效果
.jpg)
效果图-11
3.5 钉钉群自定义机器人实现地市告警信息通报
钉钉群机器人每小时0分,定时对全省各地市的基站断站信息,根据设备类型和设备等级两种维度进行数据统计,并按照相应模板生成通报信息,调用钉钉自定义机器人接口,将信息发送至地市分公司运维钉钉群中。同时加入发送失败检测机制,确保信息正常发送。
3.5.1 消息类型及数据格式
整体跳转ActionCard类型
代码表-12
.jpg)
代码表-13
.jpg)
3.5.2 地市告警信息通报实现效果
.jpg)
效果图-14
使用人员可以点击【断站详情】按钮查看实时的断站详情。
.jpg)
效果图-15
4 钉钉群机器人助力运维自动化效率提升
贵州联通网络运营部利用互联网手段,对运维日常工作进行创新,提升工作效率。通过钉钉软件开放的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盘进行拷贝,再发送到公网,存在一定的病毒传播、网络安全等风险,现统一进行安全管控,降低了风险。
5 结论
越来越多的企业选择使用移动端进行日常工作处理、业务交互、消息发布,以加强企业内部协作,提高生产、服务效率,员工也更能够接受和适应移动端的相关应用。基于钉钉群机器人的消息发布方式,有效的解决了日常工作中告警消息、统计数据的实时发布,极大的提高了消息发布的及时性、准确性,大幅提升了一线工作人员和领导层的相关工作。通过分权分域,将更多的系统信息通过钉钉群机器人发布到不同专业、不同地市或不同维度的钉钉群中,提升贵州联通的自动化运维能力和工作效率。
参考文献
1、张向祺. 基于微服务的企业移动办公平台规划设计[J]. 信息技术与标准化, 2016(3): 71-74.
2、孙彦钊、王彪. 利用钉钉构建高校辅导员工作网络管理平台的可行性探析[J]. 高教论坛, 2016(3): 9-10.
3、 陈晓溪. 专为中小企业打造的沟通协同多端平台---阿里钉钉破解企业效率”痛点”[N]. 人民日报, 2016-01-06(13).
4、伍汉. 统一企业_钉钉彻底解决33000人上传下达问题. 每日经济新闻[N], 2015-05-04(006).
5、吴希龙、崔毅东. 移动端企业管理软件的交互设计优化[J].软件, 2013, 34(12): 78-82.
