需求
最近在调研轻量级的配置管理平台,神马xxconf之类的就不介绍了(BAT开源的那几个),这几个conf很早之前就使用过了,无奈大部分是java生态圈的,并不能很好的融合进目前的业务系统中(其实是开发不配合),几个月前腾讯开源了蓝鲸配置平台,github上的名字叫bk-cmdb,一看带有cmdb字样的项目,还有配置平台,顿时感觉应该不错,先试用看看。
介绍
蓝鲸智云配置平台商业版在这里,开源的看这里。看了商业版各种功能都有,开源版必然是阉割过的,只要能满足需求就行,下面开整。
操作系统:Centos6.7
IP:192.168.1.6
软件依赖
- 推荐采用nginx+php-fpm 的运行模式
- php版本不低于5.6.9,nginx版本不低于1.8.0
- nginx编译参数,需编译进pcre
- php编译参数扩展 ./configure --prefix= -enable-fpm,另还需要(mysql、curl、pcntl、mbregex、mhash、zip、mbstring、openssl)等扩展
安装
安装依赖库
yum install libcurl-devel libcurl openssl openssl-devel mysql-devel autoconf mhash mhash-devel nginx
下载php
wget 'http://cn2.php.net/distributions/php-5.6.30.tar.gz'
编译php
cd /opt/programs
tar zxvf php-5.6.30.tar.gz
cd php-5.6.30
./configure -enable-fpm --with-mysql=/usr --with-curl=/usr --enable-pcntl --with-mhash=/usr --enable-zip --enable-mbstring --with-openssl-dir=/usr --with-mcrypt=/usr
配置php扩展文件(/etc/php.d/ext.ini)
extension=curl.so
extension=fileinfo.so
extension=json.so
extension=mbstring.so
extension=mcrypt.so
extension=mysqli.so
extension=mysql.so
extension=openssl.so
extension=pcntl.so
extension=pdo.so
extension=pdo_mysql.so
extension=pdo_sqlite.so
extension=phar.so
extension=sqlite3.so
extension=zip.so
下载bk-cmdb
cd /opt/programs
git clone https://github.com/Tencent/bk-cmdb.git
创建cmdb表结构
mysql -uroot -h192.168.1.6 -p cmdb < bk-cmdb.sql
修改cmdb配置(抄官网)
- 根目录中index.php中配置环境类型为 (development/testing/production)之一。
- db.php中配置数据访问
- config.php中配置session访问目录,$config['sess_save_path'] = '/data/session',保证配置的session目录可读写
- 请保证此路径可读写 application/resource/upload/importPrivateHostByExcel,确保文件上传功能的正确性
- 根据配置的环境类型找到对应的常量文件,例如前面环境类型配置的为 development 则在/config/development/constants.php中定义
初始化数据库
cd /opt/programs/bk-cmdb
php index.php /cli/Init/initUserData
配置nginx
nginx.default.conf
server {
listen 80;
server_name cmdb.bk.com;
root /opt/programs/bk-cmdb;
access_log logs/host.access.log main;
location / {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;}
}
location ~ \.php$ {
fastcgi_connect_timeout 300;
fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
配置php-fpm
/usr/local/etc/php-fpm.conf
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
syslog.facility = daemon
syslog.ident = php-fpm
log_level = notice
[www]
user = nobody
group = nobody
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 30
pm.start_servers = 9
pm.min_spare_servers = 8
pm.max_spare_servers = 10
启动nginx+php
/etc/init.d/nginx start
php-fpm
绑定hosts
192.168.1.6 cmdb.bk.com
试用
用户名/密码:admin/blueking
登录页
点评
总览
主机管理
拓扑管理
业务管理
资源池管理
操作日志
审计用的,没什么好说的
github吐槽:issue
个人又专程去体验了一把PAAS版本的蓝鲸智云,感觉开源出来的版本是钓鱼用的(吸引去用PAAS版),基本没什么功能有实战价值。鹅肠在开源界的口碑果然如流传的那样.......