当前位置:网站首页>运维思考 | 你知道CMDB与监控是什么关系吗?
运维思考 | 你知道CMDB与监控是什么关系吗?
2022-06-28 12:04:00 【腾讯蓝鲸助手】
前言
企业随着业务的发展以及新IT技术的不断引入,应用系统的IT资源规模是越来越大,IT架构的复杂性也与日俱增。这种情况下,需要通过多种监控系统,不同的途径来感知业务系统活没活,活的好不好,用户体验怎样。常见的监控系统类型就包括:基础环境监控、网络监控、系统监控、数据库监控、应用监控、用户体验监控等等。
在这种场景下,我们在之前的文章《如何改善监控问题,试试打造企业统一监控平台体系!》一文中探讨过,就需要一个统一的监控中台来对下管理多个告警源,中间进行告警数据的处理,对上提供可消费的监控数据。
整体架构图如下所示:
这里就会存在一个问题,监控和企业的CMDB之间是怎样的关系呢?
CMDB与监控
我们的理解有如下两层关系:
- CMDB需要为监控系统提供必要的支撑数据,来收敛、立体化、标准化告警信息。
- CMDB也需要打通到监控系统的通道,在新的对象加入CMDB的时候能够自动将该对象加入监控系统;同时在配置数据发生变化的时候,能够通过监控系统发出必要的告警信息。
我们先展开聊下第一层关系。监控系统,比如zabbix,在某个对象的某个监控指标达到阈值时候,会出发告警:XX对象的XX指标告警和详情信息等。并且可以在zabbix中配置监控项之间的依赖关系,实现告警的收敛和关联。
但是这里有一个问题,我们设想一个场景:你是一家大型2C公司的DBA,冬夜凌晨3点钟,外面西北风凛冽,突然手机铃声大作,有告警信息提示应用系统A数据库节点01出现连接异常告警。告警信息提示内容有限,此时的你是否要起来打开电脑做进一步的处理呢?
很纠结,对吧。其实作为管理员,收到这条告警信息的时候,除了需要知道这个数据库有问题,其实还想知道更多的信息,比如:这个数据库属于什么应用系统、位于什么环境、是否是高可用的集群、应用负责人是谁、哪些应用系统需要依赖这个应用系统、这个数据库最新是否有配置变更发生等等,以便做出进一步的判断和安排下一步的操作:比如在大冬天的凌晨,要不要起来打开电脑。那么这个时候,我们就需要一个系统能够提供:应用层次拓扑、集群信息、模块信息、资源实例、关联关系等信息,这个系统就是CMDB。
两者的集成与融合
有了CMDB之后,在告警发生的时候呢,我们就可以让告警系统前往CMDB中查询跟这一告警对象有关的综合配置信息,以便提供最为准确、丰富和标准的告警信息。举例来说,上个场景中,如果我们知道数据库实例01是属于应用系统A的测试环境的,并且有高可用集群,当前理论上是没有用户访问这个数据库的,管理员又何苦受冻起床开电脑呢?
反过来讲,如果发现这个数据库是系统A的生产环境的数据库,并且由于最近在升级,当前是单点模式,同时还有系统B和C需要依赖系统A,那就赶紧麻溜的起来处理故障,并通知B和C启动相应的预案机制以尽可能降低影响。
这里,就需要CMDB具备提供数据给监控系统的能力,需要具备相应的数据查询、读取的接口信息,并且能够方便的集成。
另外一方面,CMDB也需要主动同步自己的数据到监控系统中。举个例子,我们上线了某个系统的一批新的虚拟机节点,提完工单,录完CMDB配置信息,再手动到监控里面配置一遍吗?显然不是很合理,对吧?这个时候就需要CMDB能够主动将新的对象信息推送给监控系统,监控系统按照既有监控模板,下发agent、配置监控协议、启动监控等。
另外,如果CMDB通过扫描发现某个主机的实际配置信息与当前CMDB库中存储的信息不一致,是不是也应该通过监控系统告警出来,通知到管理员进一步处理呢?
所以这里你看,监控系统与CMDB之间是紧密关联的。而更要命的是企业里面往往监控系统不只一个,如果每个监控系统都要与CMDB做一遍集成,非累死不可。这里面就需要有监控中台和统一告警管理的概念,我们不需要每个监控系统直接与CMDB集成,只需要把所有的监控系统接入到统一告警中心模块中来,由统一告警模块来与CMDB监控对接,共享信息。这样,我们的每一条告警在发出的时候,都可以依据CMDB中的信息,变成标准化、立体化的告警,而不是扁平的告警。这样的告警才能真正凸显价值。
本文由腾讯蓝鲸智云编辑发布,腾讯蓝鲸智云(简称蓝鲸)软件体系是一套基于PaaS的技术解决方案,致力于打造行业领先的一站式自动化运维平台。目前已经推出社区版、企业版,欢迎体验。
边栏推荐
- JNI confusion of Android Application Security
- 女子高考落榜读专科逆袭买千万别墅,考得不好真的没关系
- Connectionreseterror: [winerror 10054] the remote host forced an existing connection to be closed
- Multi dimensional monitoring: the data base of intelligent monitoring
- 【C语言】如何产生正态分布或高斯分布随机数
- Unity加载设置:Application.backgroundLoadingPriority
- Research on personalized product search
- 如何获取泛型的类型
- 【JS】斐波那契数列实现(递归与循环)
- SHA256加密工具类
猜你喜欢

Database Series: is there any way to seamlessly upgrade the business tables of the database

【C语言】二叉树的实现及三种遍历
![[vi/vim] basic usage and command summary](/img/bc/0be3ae3f122c3c21b480e0678095a1.png)
[vi/vim] basic usage and command summary

Redis principle - List

不到一小时,苹果摧毁了15家初创公司

Practice and Thinking on the architecture of a set of 100000 TPS im integrated message system

【C语言】关于scanf()与scanf_s()的一些问题

EMC RS485接口EMC电路设计方案

Function and principle of remoteviews

Prepare for Jin San Yin Si I. testers without experience in automated testing projects should look at it quickly
随机推荐
3. seat number
Prepare for Jin San Yin Si I. testers without experience in automated testing projects should look at it quickly
设置Canvas的 overrideSorting不生效
Simulation of the Saier lottery to seek expectation
Privilege management of vivo mobile phone
4. maximum continuity factor
Web3 security serials (3) | in depth disclosure of NFT fishing process and prevention techniques
AsyncTask经验小结
Open3d manual clipping point cloud
Redis hash hash type string (5)
【Unity编辑器扩展实践】、通过代码查找所有预制
【Unity编辑器扩展基础】、EditorGUILayout (三)
Int~long long indicates the maximum and minimum number
Convert black mask picture to color annotation file
Three ways to implement LRU cache (recommended Collection)
Custom title bar view
ProCAST finite element casting process simulation software
内部振荡器、无源晶振、有源晶振有什么区别?
【Unity编辑器扩展实践】、利用txt模板动态生成UI代码
Is it feasible to be a programmer at the age of 26?