cmdb之流程小结和客户端需求梳理

cmdb 流程

基本流程

通过前面的内容,实现了 cmdb 的基础功能,包括 host 展示及增删改查。

后续需要实现的功能主要为客户端数据的收集,大致流程如下
python-cmdb-flow

客户端需求

  • 客户端
  1. salt-api
    通过 saltstack 提供的 salt-api 采集,需要在 server 端安装 salt-master,客户端安装 salt-minion
  2. ansible
    通过 ansible ssh 连接方式获取信息,但是 ansible 相关的 api 需要自己封装
  3. 自定义server/agent
    类似于 salt-master/salt-minion 方式,自己进行 server/client 端的设计
  • 信息收集方式
  1. 定时任务 crontab
    通过 crontab 执行 curl http://27.0.0.1/xxx 方式,通过 urls 执行对应 views 方法
  2. 按钮更新
    主机信息可以通过按钮实现一键更新,类似定时任务,通过按钮方式对应的 url,然后触发 views 方法
  3. 数据保存
    数据保存通过 api 保存至数据库,具体保存方式由客户端收集数据的格式决定
    客户端信息不允许直接入库,而是通过服务端 api 工具层统一入库,提升安全性

命令执行方式

服务端安装 salt-master,客户端安装 salt-minion,centos 可以通过 yum 方式安装
命令可选执行方式

  1. 服务端通过 permiko 模块执行命令,然后获取结果
  2. salt-master 上启动 salt-api,然后在服务端执行 request 模块,请求 salt-api 执行对应的命令(salt-api 增加 token,安全认证)
  3. 数据传输统一采用 json

Recommended Posts