cmdb 流程
基本流程
通过前面的内容,实现了 cmdb 的基础功能,包括 host 展示及增删改查。
后续需要实现的功能主要为客户端数据的收集,大致流程如下
客户端需求
- 客户端
- salt-api
通过 saltstack 提供的 salt-api 采集,需要在 server 端安装 salt-master,客户端安装 salt-minion - ansible
通过 ansible ssh 连接方式获取信息,但是 ansible 相关的 api 需要自己封装 - 自定义server/agent
类似于 salt-master/salt-minion 方式,自己进行 server/client 端的设计
- 信息收集方式
- 定时任务 crontab
通过 crontab 执行curl http://27.0.0.1/xxx
方式,通过 urls 执行对应 views 方法 - 按钮更新
主机信息可以通过按钮实现一键更新,类似定时任务,通过按钮方式对应的 url,然后触发 views 方法 - 数据保存
数据保存通过 api 保存至数据库,具体保存方式由客户端收集数据的格式决定
客户端信息不允许直接入库,而是通过服务端 api 工具层统一入库,提升安全性
命令执行方式
服务端安装 salt-master,客户端安装 salt-minion,centos 可以通过 yum 方式安装
命令可选执行方式
- 服务端通过 permiko 模块执行命令,然后获取结果
- salt-master 上启动 salt-api,然后在服务端执行 request 模块,请求 salt-api 执行对应的命令(salt-api 增加 token,安全认证)
- 数据传输统一采用 json