配置平台后端开发(实验手册)
一、实验概述
CMDB是所有运维发布系统的基石,本期课程中我们精选了五个方向的小实验,让大家在了解CMDB工作机制的同时,能快速的切入CMDB后端的二次开发 。
二、准备工作
- golang >=1.8
2.依赖服务zookeeper>=3.4.11、redis >= 3.2.11、mongodb>=2.8.0
- golang ide(推荐goland或者liteide)
- linux/mac的编译运行环境
三、实验知识点
- 通过migration工具建立数据库collection
- 对接配置平台event服务
- 对接配置平台datacollection
- 配置平台二次开发框架实战
- 配置平台api开发
四、实验任务一
任务目标: 通过migration工具建立数据库collection
步骤一:进入源代码并合并代码
cd $GOPATH/src/configcenter
git checkout master
git remote add owen github.com/lowenitt/bk-cmdb.git
git pull owen master
步骤二: updrader代码编写
1. 按如图所示方式新建目录以及go文件,
2. 以下为文件内容
3. 注册自己本次写的upgrader,注意目录名最好是用今天的yy.mm.dd组合,比如X18.11.13.01这种格式,最后一位是序号
步骤三: 重新编译替换掉当前cmdb_adminserver进程并重启
步骤四: 执行初始化程序
步骤六:查看cmdb数据库表
use cmdb
show collections
五、实验任务二
任务目标: 对接cmdb 事件推送
步骤一:下载示例代码
cd $GOPATH/src/
git clone github.com/lowenitt/bkcmdb-objectevent
cd bkcmdb-objectevent
go run *.go
步骤二: 配置平台页面配置自己的事件推送
步骤三: 对监听实例进行操作,观察后台server返回的信息
六、实验任务三
任务目标: 对接cmdb datacollection
步骤一:下载示例源代码
cd $GOPATH/src/
mkdir github.com/wusendong
cd github.com/wusendong
git clone github.com/wusendong/cmdb_hostsnap.git
go run *.go -c cmdb_hostsnap.json
步骤二:修改配置文件并启动进程
{
"channel":"snapshot2",
"redis":{
"host":"127.0.0.1",
"pwd":"cc",
"database":"0",
"port":"6379"
}
}
go run *.go -c cmdb_hostsnap.json
步骤三:录入主机192.168.1.7
如果想修改主机ip,可以修改hostsnap.go文件
如图所示
步骤四:观察主机的实时数据
七、实验任务四
任务目标: 配置平台二次开发框架实战
步骤一:合并示例代码(实验一中已经配置了对应的remote)
git pull owen master
步骤二:修改framework中代码
步骤三:按照readme文件的要求新建配置文件,并启动进程
步骤四:打开前端页面查看新建的集群
七、实验任务五
任务目标: 开发一个完整的cmdb api
步骤一:下载上报程序源代码(实验一中已经配置了对应的remote)
git pull owen master
步骤二: 进入objectcontroller所在目录,编译,并替换掉现在正在运行的objectcontroller进程
cd $GOPATH/src/configcenter/src/source_controller/objectcontroller
go build -o cmdb_objectcontroller
chmod +x cmdb_objectcontroller
mv cmdb_objectcontroller data/cmdb/cmdb_objectcontroller/
cd /data/cmdb/cmdb_objectcontroller/
./stop.sh && ./start.sh
假设现在服务部署在/data/cmdb目录下
步骤三: 注册api地址
按照如示意图中的代码,首先进行api的uri地址注册
步骤四: 编写api代码,向第一个实验创建的数据表中写入数据
步骤五: 接口调用
步骤六: 查看接口中写入的数据,实验成功
学员评价