前面几节cmdb服务端基本完成了,还差分页和登录相关部分。
在机器比较多时不可能每台机器的信息都手动输入,那样就违背了我们自动化运维的初衷。我们可以在服务端做一个定时任务,定时去收集主机的相关信息;或者在页面上设计一个按钮,一键自动收集更新主机信息。
收集主机的信息可以使用saltstack、ansible等工具,也可以自己写一个客户端,如果使用阿里云,它会有自己的api。通过这些工具收集主机的信息,然后把这些信息在写入到服务端的数据库中。这样做就不用每台主机都去连接数据库,保证了数据库安全。
以saltstack为例,获取主机信息也可以有两种方式。
1、cmdb服务端和salt-master安装在一台机器上,通过permiko执行salt-master命令获取minion的信息,然后在存储到数据库中
2、使用saltstack的salt-api获取数据,cmdb服务端通过requests模块请求salt-api获取到minion数据,再写入数据库中
salt-api提供了一个接口来获取minion信息,信息格式为json,处理起来很方便,而且使用也比较简单,推荐使用salt-api获取数据。
python-自动化运维学习第三十三天--cmdb客户端需求梳理
最新推荐文章于 2023-06-23 16:28:20 发布