2小时快速构筑运维监控大屏
一、云服务数据可视化DLV运维监控大屏 与 祥云智能化运维大屏 能力的对比分析
能力 | 云服务数据可视化DLV | 祥云智能化运维大屏 |
数据化动态连接 | 支持 | 支持 |
自定义图表 | 支持 | 支持 |
自定义报表 | 支持 | 支持 |
图表复用 | 不支持,配置好的图表不会进行存储。 但后续有复用需要的时候可以直接复制原先图表的相关属性和查询语句 | 支持,配置好的图表进行数据库存储,后续使用进行使用 |
报表复用 | 支持,直接复制报表 | 支持 |
开发内容 | 前期无需进行大量的开发,云服务直接提供能力。 后期开发主要是写postgresql查询语句。 | 前期能力开发投入量大, 后期通过页面交互式操作生成图表和大屏 |
开发周期 | 新增一个云服务大屏大概需要4~5小时/人 (熟悉的话可缩短周期至2~3小时/人) | > 1小时/人 (这个指标应该是对平台交互式操作较熟悉的人才能达到的程度) |
开放对象 | SRE | SRE |
技能掌握 | postgresql语言 | 无 |
上面的表格罗列了目前我看起来DLV能力和祥云运维监控能力的一些关键点。不得不说,祥云实现的运维平台包括平台上面所具备的能力,极大地提高了后期新的监控大屏的生成与上线,是很值得去学习借鉴的。不过选择DLV能力作为我们CCOps IoT监控大屏的能力来源,主要还是由于在开发内容那一块:DLV提供了我们需要的能力,但是无需我们像祥云一样,在前期投入较大量的人力物力去做相关能力的开发,虽然DLV也有一些不足的地方,比如操作面向的对象是具有console账号和权限的同事,而这些同事也同时需要具备postgresql的技能,换句话说就是只有你有console的账号和权限,并且有一定的postgresql技能,那么你也完全可以在DLV上自定义自己满意的监控大屏出来。
(注:以下涉及到的页面及相关图表数据均为测试数据。)
二、CCOps IoT内嵌数据可视化DLV监控大屏的效果
符合我一贯的写博客风格,上图说话哈哈,直接用结果图来呈现我们最终做出来的效果(不过也还在持续优化中)。
中间的监控大屏是通过云服务数据可视化DLV定制出来的,我们用了iframe的能力将这个大屏嵌入到我们的运维UI上,iframe嵌入大屏的这个过程也涉及到一些token认证,认证过程我们放在第三点中讲解。
三、点到点介绍DLV在CCOps IoT运维平台上使用策略
1、DLV的购买准备
我们直接购买了专业版的DLV,专业版相对于基础版或者高级版来说,主要提升的点在于:其数据源类型更加丰富,所支持的图表及地图组件也更加丰富,支持定制和发布的大屏多达50个等。具体的差别可以参考DLV提供的文档:https://support.huaweicloud.com/pg-dlv/dlv_07_001.html 。
2、数据源的连接
专业版的DLV支持的数据源类型还是挺丰富的,不过大部分是关系型数据库。这段时间我们用的数据库是云上的RDS,即Postgresql数据库,在建立起DLV与RDS的连接也是很方便的,只要两者的网络是打通的,在“我的数据”下新建数据连接,选择对应的数据库并输入相关的信息即可:
连接完成后,你可以看到已经建立起的连接信息:
3、大屏的构建与发布
DLV提供了两个方式进行大屏的构建,一种是直接使用他们内置的场景模板来生成,一种是创建一个空白的大屏,再利用他们提供的各个组件来自己编排生成大屏。不过实际上这两种方式都是一样的,因为使用他们的场景模板也可以在过程中二次随意编排。
他们提供的场景模板我们就不展开说明了,各自根据需要选择。我们这边是从空白页面开始使用组件进行自定义构建的监控大屏,直接在“场景模板”页签下,选择“空白”后输入大屏名称完点击“创建大屏”:
页面会自动跳转到你创建的大屏的编辑页面,我拿我们已经构建好的但是处于编辑状态的大屏描述一下:
中间区域是大屏的编辑区,左上角组件区域是DLV提供的组件,左下角图层区域是当前编辑区域中所使用的组件,右侧区域是组件的属性编辑及数据编辑区,细节介绍及使用详见https://support.huaweicloud.com/pg-dlv/dlv_07_001.html。
我们这块所有的图表数据都是来源于RDS(Postgresql),所以在数据获取的时候,在右侧区域下的数据中,选择数据源类型为“数据源”,选择已有数据连接(早先在“我的数据”下已经创建起来的连接)后,撰写对应的postgresql语言,便可查看数据库的返回数据结构:
这里可能有一点需要强调一下:每个图表类型的数据json结构有差异,根据不同的图表类型,撰写对应的postgresql语言,使得能够查询到对应json结构的数据,才能绘制出最终的图表。
完成大屏的编排后便可对大屏进行预览或者发布了,右上角的按钮可方便做到。进行发布的过程中,会产生两种外部访问大屏的认证方式,一种是密码访问,一种是token认证访问:
Token的认证方式是我们UI iframe嵌入时主要的认证方式,而密码的认证方式,则是通过浏览器URL访问后输入密码进行大屏的访问。个人建议:在开发过程中,你可以将密码访问的方式打开,以便随时通过浏览器+密码输入的方式访问查看大屏效果,待后期稳定后需要考虑将密码访问的方式关闭,毕竟监控大屏的唯一访问入口应该是各自的运维UI,而不应该存在别的访问方式。
4、UI iframe内嵌大屏
发布成功的大屏会有一个访问链接和一个token(token访问方式),我们也是通过这种方式,再结合iframe的能力将其嵌入到我们的运维UI上面的。
如何实现?iframe的使用可自行上网搜索,token的认证解析可参考官方提供的文档指导https://support.huaweicloud.com/usermanual-dlv/dlv_01_0503.html。
用一句话来概括整个过程:将监控大屏的访问URL中携带的id与token信息,去后端服务请求监控大屏访问的签名,然后作为URL的附带参数,用iframe去访问这个监控大屏,以实现监控大屏token认证访问,免登陆的方式的。
代码实现涉及到前后端,暂时不呈现了,有需要的话再另外联系。
四、常见问题
Q: console账号余额不足,DLV没有提供按需购买的能力怎么处理?
A: DLV目前确实是没有提供按需购买的能力,听oncall的意思是他们计划在2020年2月28日上线按需购买的能力。如果在此之前需要使用DLV的话可以尝试使用试用版。
Q: DLV基础版满足不了需求,高级版或者专业版又由于账号余额不足购买不了怎么办?
A: 升级成高级版或者专业版,这个需要DLV的oncall在数据库层面帮你操作一下。我们当时也是这种情况,基础版满足不了需求,高级版账号余额不足购买不了,又没有按需购买的能力,后面在反复沟通下,DLV的oncall帮我们升级成高级版的试用版,同时也延长了试用时间,直到他们按需购买的能力上线。
- 点赞
- 收藏
- 关注作者
评论(0)