统一运维平台建设的一些思路和实践

发布时间 2023-11-13 17:23:31作者: GaoYanbing

企业构建一站式运维平台的目的是为了提升运维效率。那么一个成熟的运维系统应该要解决哪些问题呢?笔者认为首先是运维对象要被管理起来,然后是监控这些对象,接着是这些对象的自动化运维,最后是所有的运维操作都要有所规范。概括起来对应的系统就是CMDB、统一监控、自动化平台、ITSM,如下图所示。

CMDB

CMDB是运维的基石,也是运维的权威数据库,权威不仅体现在数据准确,也要求数据唯一,不能在多套系统里维护着同样的运维资源数据,这样数据准确性更难保证。CMDB的价值体现在数据被消费,最常见的消费场景就是监控、运维作业的调度执行、ITSM流程类相关的系统。

自动化运维平台

自动化运维平台是提升运维效率的利器。简单来说就是可以把机器上的各种运维操作比如:巡检、日志操作、代码部署、文件传输等等重复的运维任务编排成作业,去调度执行。

监控

监控是实现系统和业务连续稳定运行的重要技术保障手段。业内比较知名的开源解决方案有zabbix和Prometheus,很多企业的实践也是结合了2者。

ITSM

ITSM对这些系统进行了一个串联,用流程方式规范IT和运维。在ITIL4的规范和指导下,与CMDB、Monitor、AutoFlow高度结合,一同打造一站式运维平台,从公司实际出发,解决流程失误、人员失误,打造贴合的流程工单,提升IT生产力,提供IT新视野,提高IT运维效率。

CMDB

CMDB运维的权威数据库, 网上对CMDB的建设和落地思路表述各异。其实直接衡量CMDB成功与否标志是其他系统是否愿意消费CMDB,如果是则证明数据是足够权威的。所以CMDB的建设大部分时间可能花在保证数据的正确性上,这个可以通过自动发现和ITSM的流程加以保证。比如主机的从购买、上架、系统初始化、应用部署、各种变更、下线、下架等等一个完整的生命周期,都是可以通过ITSM来进行规范的。

由于企业运维需求和场景各异,因此,要实现一个尽可能通用、灵活、可扩展的运维资源数据的配置和管理系统,系统必须要满足:

  • 运维人员能根据企业的运维场景和需求,自己去构建存储的数据模型,以及模型之间的关系
  • 提供丰富的API,尤其是在数据和关系检索要做到通用,便于二次开发
  • 用户可以方便的订阅自己关心的数据,有丰富的图表展示
  • 数据的自动发现和细粒度的权限控制

基于上述理念,设计并实现了一个CMDB,并开源出来,希望能得到大家的积极反馈,系统将持续不断的改进, 如果您觉得有用处,欢迎在GitHub上点1个小⭐️⭐️。

https://github.com/veops/cmdb

自动化运维平台

自动化运维平台简单概括为对运维对象的任何变更操作都是由该平台来实现的,也即运维作业平台。实现该系统的核心是灵活的编排运维任务、任务的调度执行

首先在系统上可以通过拖拽的方式来编排任务,这个任务节点可能是一个脚本、文件传输、发送邮件等。其次任务的调度执行可以完全关联CMDB来选择执行目标。当然任务执行方式既可以是人工触发也可以是计划任务的方式触发。

统一监控

监控是确保系统和业务连续稳定运行的重要技术保障手段,在运维中,监控是不可或缺的功能。

目前,业界知名的开源解决方案很多,如ZabbixPrometheus,许多企业在实践中采用了这两者的结合。然而,这些开源监控解决方案在企业实践中一般需要进一步优化和丰富。

首先,单纯的采集、监控带来的收益可能不够明显。为了提升监控的价值,通常需要将监控与企业的配置管理数据库(CMDB)系统进行关联。通过与CMDB系统关联,可以更好地理解监控数据的上下文,从而更准确地识别和解决问题。

数据可视化和报表功能:监控系统应该提供直观的数据可视化和报表功能,以便运维人员能够更好地理解系统的状态和趋势,从而做出更明智的决策。

自动化运维和自愈能力:监控系统可以与自动化运维工具集成,实现自动化的故障诊断和修复。通过自愈能力,可以减少人工干预的需求,提高系统的可靠性和稳定性。

预测性分析和容量规划:监控系统可以通过对历史数据的分析,进行预测性分析和容量规划。这样可以帮助企业更好地预测系统的未来需求,避免资源瓶颈和性能问题。

监控系统最好具备告警管理功能。在大规模告警风暴的情况下,如果没有有效的告警管理,可能会导致大量无效的告警,从而淹没了重要的告警信息。因此,监控系统应该具备灵活的告警策略和管理机制,能够根据实际情况进行智能告警,减少噪音告警的产生,并确保重要的告警能够及时被发现和处理。

总之,监控系统在企业实践中需要与CMDB系统关联,具备告警管理功能,并且可以进一步优化和丰富数据可视化、自动化运维、预测性分析等方面的功能,以提升其价值和效果。

ITSM

下面是ITSM建设的一些实践方法:

集中定义精准的、可用的IT服务:根据ITIL4,分为服务、事件、问题、变更四大项,满足用户对IT服务的不同需求用户可自定义创建子分类、模板支持针对不同模板的发起权限、编辑权限的用户、部门授权。

自定义流程:满足不同场景。支持并行,支持分支节点,与工单数据联动,支持设置处理时间,支持自定义按钮文案,支持超时设置,支持CMDB联动,新增、更新、删除数据,支持通知设置、自动任务。

创建表单:模板字段配置齐全,灵活易上手。与CMDB联动:数据映射,数据关联;预览实时更新;必填、编辑、可见均可编辑;支持自定义公式

打造个性化工作台:提升工作效率和工单流转速度。已提工单、待办工单一目了然;用户可清晰掌握工单当前状态、快速处理事件;公告消息、通知消息一键直达。

一目了然看到工单所有信息,全方面运转工单。支持多种动作,配有动态流程图,用户知晓概况;工单下可留言,及时沟通;日志留档,记录工单操作日志;关联资源,沉淀知识,正向循环;自动化解决问题,提升服务效率。

开源地址

GitHub开源地址为:https://github.com/veops/cmdb