随着业务的疯狂增长,资源剩余多少,什么时候需要扩容资源,作为运维,我居然回答不出来。作为一名运维,追求以devops的工作方式提高效率,都希望有一个cmdb来管理资源的统计。

    今天先介绍一下cmdbuild的搭建, 当然具体使用需要根据自己业务的需求建立数据模型。 今天先说搭建, 下一篇博客再说说具体使用的模型。

1.安装环境

    1.1 环境准备      

系统centos7
cpu>=2核
内存>=4G
磁盘>= 60G 

    1.2安装依赖

  • 数据库:PostgreSQL 8.4以后,9.0更好

  • Web服务器(容器):Tomcat6 |Tomcat5

  • Java运行环境:目前好像只支持1.6

2.配置数据库

      2.1 数据库初始化

         

postgresql-setup initdb

      2.2 修改数据库访问权限

》vim /var/lib/pgsql/data/pg_hba.conf

修改:

local   all     postgres                ident
 
# Rule Name: local access to database with same name
# Description: none
# Order: 002
local   all     all             ident
 
# Rule Name: deny access to postgresql user
# Description: none
# Order: 003
# host    all     postgres        0.0.0.0/0       reject   ##注意这行意思,是禁用
 
# Rule Name: allow access to all users
# Description: none
# Order: 100
host    all     all     0.0.0.0/0       md5
 
# Rule Name: allow access to ipv6 localhost
# Description: none
# Order: 101
host    all     all     ::1/128 md5

     2.3 启动数据库服务

       

systemctl restart postgresql

  

3.安装cmdbuild

    3.1 下载源码

    

       1.将war文件( CMDBuild-{版本号}.war)拷贝到Tomcat的webapps文件夹下,将其重命名为cmdbuild.war

       2.将extras下的CMDBuild-shark.zip文件拷贝到webapps下并解压

       3.将extras下的tomcat-libs文件夹中的postgres.tar文件拷贝到Tomcat的lib文件夹下

       4.在客户端的浏览器中输入http://{server address}:{port num}/cmdbuild 根据提示配置

4.配置nginx

     其实以上3步已经实现cmdbuild运行了,但是因为我们在使用的时候,并发访问量增大到一定数量时,tomcat就崩了,所以配置一个nginx。

       4.1 nginx配置文件

         /etc/nginx/conf.d/cmdbuild.conf         

server {
  listen                *:80 ;

  server_name           region1-mon01v.cloud.bjdt.qihoo.net;
  access_log            /var/log/nginx/cmdb.access.log ;
  error_log             /var/log/nginx/cmdb.error.log;

  location / {
    proxy_pass http://127.0.0.1:8080;
  }
}

    4.2 重启nginx

      

systemctl restart nginx

       好了,一个生成环境的cmdbuild就搭建完成了,