尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
蓝鲸CMDB扩展开发实操指南:自定义监控插件从代码到验证
蓝鲸CMDB扩展开发实操指南自定义监控插件从代码到验证【免费下载链接】bk-cmdb蓝鲸智云配置平台(BlueKing CMDB)项目地址: https://gitcode.com/gh_mirrors/bk/bk-cmdb蓝鲸CMDB是腾讯开源的企业级配置管理平台bk-cmdb把主机、模型、拓扑等配置数据统一管起来。这篇蓝鲸CMDB扩展开发文章不讲概念直接带你写一个自己的监控上报插件改哪几个文件、跑哪条命令、看什么现象算成功照着做完就能在自己环境里跑通。先把插件框架的位置和内置实现摸清楚动手前花十分钟看清框架比闷头写代码省事。监控组件的插件代码集中在 src/thirdparty/monitor/plugins/ 目录里面已有两个现成实现可以抄作业blueking把告警数据上报到蓝鲸监控noop空实现数据直接丢弃是当前的默认行为。选插件的逻辑在plugins.go的GetPlugin函数里按插件名走 switch 分支查不到的名字一律静默回退到 noop——这就是扩展点的接线位置。你要加新插件本质上就是实现一个接口 在这里加一个分支。数据侧的契约定义在src/thirdparty/monitor/meta/Content接口约定了流转中的数据格式内置的Alarm结构体就是默认实现你完全可以在插件里对不同类型的数据做不同处理。验证点用grep -r monitor src/scene_server/*/etc/*.yaml之类的命令在配置模板里确认插件名字段的位置知道线上是用什么名字在选插件。开发环境怎么准备仓库、Go 工具链和构建入口环境只需要三样东西Go 工具链按仓库go.mod要求的版本安装保证go version能正常输出MongoDB本地起一个即可CMDB 元数据和实例数据都落在 MongoDB代码仓库clone 下来git clone https://gitcode.com/gh_mirrors/bk/bk-cmdb代码主体在src/下服务分拆得很细apiserver对外提供 REST 接口scene_server/下是 topo_server、host_server 等各业务服务source_controller/是 coreservice 这类核心库。你写监控插件主要只在src/thirdparty/monitor/这一小块活动但构建要在全局层面做。构建入口是 src/Makefile只编译后端二进制用server目标cd src make server产物会落到bin/目录。配置模板在 docs/support-file/config/templates/改配置前先从这里拿一份干净的模板不要拿线上配置直接试。自定义监控插件怎么写一个接口加一处注册整个插件接口只有一行定义在 src/thirdparty/monitor/plugins/plugin.gotype Plugin interface { Report(c meta.Content) error }也就是说你的全部插件逻辑就是实现Report方法拿到一条Content默认是Alarm结构体带 request_id、type、detail、module、dimension 五个字段决定把它发到哪。参考 plugins/blueking/ 的写法它实现了Report把告警数据组装后发给蓝鲸监控。你的版本可能是发到 Webhook、日志平台或内部告警通道结构完全一样。写完后做三件事在plugins.go的GetPlugin里给你的插件加一个 case 分支并像noop/blueking那样提供NewXxx()构造函数插件名常量放在src/common/definitions.go现在那里定义了noop和blueking两个常量保持命名一致每个新增文件保留仓库统一的 MIT License 头这是这个项目的硬性规范。插件改完了怎么验证编译、构建、看运行现象验证分三层从快到慢层次动作通过标准编译期go build ./src/thirdparty/monitor/...无编译错误构建期cd src make serverbin/下各服务二进制正常产出运行期把配置里的插件名改为你的插件启动服务日志中出现你的Report打出的内容且不再是 noop 的静默行为运行期最容易踩的坑就是前面提到的静默回退配置里的插件名拼错、或者你忘了在GetPlugin加分支系统不会报错只会退回 noop现象是什么都没发生。所以运行验证时先在你的Report里打一行带明显标记的日志确认框架真的把你的实现选上了。数据侧也可以独立验证meta/type.go里定义了redis_fatal_error、mongo_ddl_fatal_error等监控类型常量这些就是流转到你Report方法里的数据分类对着它们自测一遍各类型都能正确处理就可以交付了。交付之后还能接着做什么企业里把内部资产系统接进 CMDB优先走 docs/apidoc/apigw/open/ 下的开放接口文档而不是去改 CMDB 前端页面想看数据怎么在采集、流转、上报之间走读 src/thirdparty/monitor/README.md它说清了内存队列和频率配置这两个可调参数想继续扩展其他方向比如接入内部鉴权、审计入口在 docs/ 和src/scene_server/各服务的logics/目录里。先把自己插件的Report跑通再回头去抄 blueking 的完整实现是最短的路径。【免费下载链接】bk-cmdb蓝鲸智云配置平台(BlueKing CMDB)项目地址: https://gitcode.com/gh_mirrors/bk/bk-cmdb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

个人知识库搭建与高效使用指南:打造专属知识管理体系实现信息高效存取

个人知识库搭建与高效使用指南:打造专属知识管理体系实现信息高效存取

每次找到心仪的外国文献,却被付费墙冷冷地挡在外面,是不是感觉科研的热情瞬间被浇灭?作为学生党,我太懂这种无力感了。但好消息是,通过几个合法且免费的“通道”和技巧,我们完全能实现“文献自由”。今天分…

📅 2026/9/29 2:27:20
定时器使用避坑指南:从原理到实践,防止线上服务雪崩

定时器使用避坑指南:从原理到实践,防止线上服务雪崩

1. 从一次线上事故说起:定时器为何成了“定时炸弹”? 那天凌晨三点,我被一阵急促的报警电话惊醒。监控大屏上,核心服务的CPU使用率像坐了火箭一样,从平稳的20%瞬间飙升至98%,并且居高不下。整个服务响应变得…

📅 2026/10/6 18:43:38
声明式编程革新多智能体协作:从逻辑规则到工程实践

声明式编程革新多智能体协作:从逻辑规则到工程实践

1. 从“命令式”到“声明式”:多智能体编程的范式转变 如果你和我一样,在过去的几年里,尝试过用Python、Java或者Go来构建一个哪怕只有三五个智能体(Agent)的协作系统,大概率会经历一段“痛并快乐着”的时光…

📅 2026/10/12 4:51:32
MORE NEWS

更多资讯

📰

工地太忙根本没时间复习考试?初级电工证的照片怎么报名全攻略

工地太忙根本没时间复习考试?初级电工证的照片怎么报名全攻略 工地太忙根本没时间复习考试,但初级电工证的照片怎么报名又成了你绕不开的问题。很多人误以为初级电工证就是一张照片就能搞定,其实不然,整个流程从准备材料到现场考试,每一个环节都需要你亲…

📰

电工证都有几个科目?怕考不过白交培训费?多久拿证更靠谱?

电工证都有几个科目?怕考不过白交培训费?多久拿证更靠谱? 怕考不过白交培训费?电工证科目太多太难?其实只要搞懂科目设置、备考重点和流程, 多久拿证…

📰

重庆住建厅电工证怎么考?工地太忙根本没时间复习考试

重庆住建厅电工证怎么考?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这几乎是每个一线电工的共同心声。特别是2026河南最新政策落地后,电工证的报考门槛和要求都有了新变化。作为一名在平顶山水利工程一线干了五年的电工,我深知考证难、…

📰

伊春电工证在哪里报名 外省证怎么转过来在哪考

伊春电工证在哪里报名 外省证怎么转过来在哪考 之前考的证在外省能不能转过来?这几乎是每个打算在伊春从事电工工作的人都会问的问题,特别是那些已经在其他城市考取了电工证,但想回老家发展或者换地方工作的朋友。 伊春电工证在哪里报名…

📰

抚顺市哪里考电工证 证书过期了不知道怎么复审延期多久拿证

抚顺市哪里考电工证 证书过期了不知道怎么复审延期多久拿证 证书过期了不知道怎么复审延期,这事儿可不能拖!很多在抚顺的电工朋友都遇到过,自己辛辛苦苦考的证,一不留神就过期了,再想干活儿就得重新来一遍,耽误时间又浪费钱。尤其是现在施工项目多,现…

📰

星子考电工证怎么考?实操考试心里没底怕挂科?上岗必备全攻略

星子考电工证怎么考?实操考试心里没底怕挂科?上岗必备全攻略 实操考试心里没底怕挂科,这几乎是每个准备考电工证的朋友的真实写照。尤其对于那些从其他岗位转岗过来的新人,面对高压、低压、焊工证等不同类别的操作证,不仅担心考试流程,还怕因为一点小失…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬