第 10 章 综合实战:Python 实现命令行 CMDB 资产管理系统
发布时间:2026/9/10 6:52:12 锦皓数字建站

文章目录第 10 章 综合实战:Python 实现命令行 CMDB 资产管理系统本章导语本章学习目标本章重点本章难点10.1 从"资产台账"到 CMDB:先想清楚再动手10.1.1 一个真实的运维现场10.1.2 CMDB 是什么10.1.3 为什么用命令行,而不是 Web 界面10.1.4 项目功能清单10.1.5 技术选型:为什么坚持零第三方依赖10.2 领域建模:先设计数据,再写代码10.2.1 资产类型10.2.2 字段设计:自动字段 vs 人工字段10.2.3 资产指纹:凭什么认定"这是同一台机器"10.2.4 生命周期状态机10.3 工程初始化:目录结构与三大基础模块10.3.1 目录结构10.3.2 全局配置:把魔法值集中起来10.3.3 日志工具10.3.4 命令执行封装:所有采集器的公共底座本节小结10.4 数据模型与存储层10.4.1 用 dataclass 定义资产模型10.4.2 CSV 存储引擎本节小结10.5 采集器框架:适配器模式与插件注册10.5.1 抽象基类10.5.2 注册表与自动发现10.5.3 并发采集编排本节小结10.6 五大采集器实现10.6.1 Linux 服务器采集器10.6.2 KVM 虚拟机采集器10.6.3 Docker 容器采集器10.6.4 Kubernetes 采集器10.6.5 OpenStack 采集器本节小结10.7 合并引擎:指纹、幂等与审计10.7.1 指纹计算10.7.2 字段合并策略10.7.3 幂等 upsert 与审计本节小结10.8 双模式交互:命令行子指令 + 交互式菜单10.8.1 表格输出:中文对齐的坑10.8.2 argparse 子命令10.8.3 交互式菜单10.8.4 报表命令本节小结10.9 跑起来:完整演示10.9.1 初始化10.9.2 采集预览(不落库)10.9.3 正式采集10.9.4 查看资产10.9.5 人工认领10.9.6 关键验证:扩容后再次采集10.9.7 统计报表10.9.8 与其他工具配合10.10 测试:让采集器不依赖真实环境10.10.1 测试用例10.10.2 常见故障排错清单10.11 上线:定时同步、备份与自动化集成10.11.1 定时同步10.11.2 备份10.11.3 与 Ansible 集成:CMDB 成为自动化的数据源本节小结10.12 从命令行到企业级:下一步往哪走什么时候不该自己造轮子本章小结核心知识点回顾能力提升课后习题基础题进阶题拓展题动手实验实验一:跑通全流程(预计 1 小时)实验二:新增一个采集器(预计 2 小时)实验三:服务化与可视化(预计 3 小时)本章术语速查版次修订说明参阅文献第 10 章 综合实战:Python 实现命令行 CMDB 资产管理系统本章交付物:一个名为cmdb-lite的完整项目——用纯 Python 标准库从零构建的命令行配置管理数据库。它能自动发现 Linux 物理机、KVM 虚拟机、Docker 容器、Kubernetes 节点与 OpenStack 云主机,把异构的基础设施统一成一份可查询、可统计、可审计、可对接自动化的资产视图。全章代码零第三方依赖,Python 3.8+ 即可运行,装好解释器就能跑通。本章导语前九章我们把 Python 的"零件"逐一拆开讲了一遍:变量与数据类型、流程控制、列表元组、字典集合、函数、面向对象、异常处理、模块与包、文件操作。但零散的知识点就像散落一地的汽车零件,只有把它们装成一辆能跑的车,你才真正会开车。本章要做的事,就是把这些零件装成车。我们选的实战项目是CMDB 资产管理系统——运维体系里最基础、也最能体现工程能力的系统。做运维的都清楚一个扎心的事实:公司到底有多少台服务器、每台机器跑的是什么、归谁负责,很多团队是答不上来的,或者说,答上来的数字没人敢信。而更扎心的是:这个问题,恰恰最适合用我们前九章学的这点 Python 知识来解决。本章学习目标/
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。