如何构建公司的CMDB平台

Posted by CnFeat on September 26, 2017

前言

以前互联网公司做资产管理用的最好的就是Excel表格。比如,记录有多少太机器,IP地址,密码等等。如果说机器少,这个Excel表格完全可以胜任,但是如果机器数量过多,那么就不合适了,那么有没有一个平台可以去实现基本的资产管理呢? 答案是有的,就是CMDB平台。

具体介绍及操作

我们首先要知道我们要干嘛?

构建运维平台,构建IT所有的基础服务。这里就要引入一个标准叫做ITIL即IT基础服务。

明确表明了实现这个标准需要做哪些事情,这是以后在所有自动化和架构都需要使用到的,它是一个大的规范。如果想让它落地变为现实就需要开发下面一些东西。

1、资产管理

2、配置管理

3、私有云

4、监控

5、堡垒机

6、定时任务

7、DNS

8、资源池

9、流程

10、其他

我们可以把我们公司所有的平台都集中起来,到这么一个运维平台上,实现统一规划和管理。

CMDB实现的三种方式有: 1、资产的自动收集 2、API URL 3、可视化管理

所以呢,我们这里就应该有3个应用程序,来分别做上面的3件事情。

一、资产自动收集

关于资产收集有下面4种方式:

1、使用paramiko模块,具体流程如下:

数据库《==》API==》paramiko主机==》被管理机器

优点: 无依赖,不需要在被管理机器安装任何东西

缺点: 慢。

2、使用saltstack(如果你公司正在使用)

模式跟1差不多

数据库==》API==》salt主机==》多个slave机器

3、puppet (需要写rubby代码)

4、Agent

在每台机器上行部署agent。

优点: 快,直接在自己本地执行命令发送汇报过去

缺点: 每台机器上都需要部署agent。

有个坑,以前认为SN号都是唯一的,脚本一跑,返回SN号都是一样的,SN只能做物理机进行判断,如果是虚拟机的话,可能会重复的。

如果既包括物理机又包括虚拟机就要用MAC地址了。

对资产管理需要有一个通用的增删改查。组合搜索。下面就分别对3个功能进行展开说明:

一、采集资产

1、采集方式的配置

2、插件的定制

3、测试模式

4、错误日志(详细行)

5、汇报数据(API)、

    -  只针对物理机 SN号作为唯一标识
    - 建立规则:主机名不重复

划水一波

。。。。。。。待续