cmdb

CMDB --Configuration Management Database 配置管理数据库, CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息 的价值,同时依赖于相关流程保证数据的准确性。

 

实验环境

centos7.3_x64

 

实验软件

jdk-8u152-linux-x64.tar.gz

zookeeper-3.4.11.tar.gz

redis-3.2.12.tar.gz

mongodb-linux-x86_64-rhel70-2.8.0-rc5.tgz

cmdb.tar.gz

 

软件安装

yum clean all && yum makecache fast -y

cp -pv /etc/hosts /etc/hosts.bak

echo 192.168.10.17 cmdb >> /etc/hosts

hostnamectl set-hostname cmdb

systemctl restart ntpd.service && systemctl enable ntpd.service

ntpdate 192.168.10.17 && clock -w

python --version

Python 2.7.5

 

tar zxvf /root/jdk-8u152-linux-x64.tar.gz

mv /root/jdk1.8.0_152 /usr/local/java

cp -pv /etc/profile /etc/profile.bak

export JAVA_HOME=/usr/local/java  >> /etc/profile

export PATH=$PATH:$JAVA_HOME/bin  >> /etc/profile

source  /etc/profile && java -version

java version "1.8.0_152"

 

tar zxvf /root/zookeeper-3.4.11.tar.gz

mv /root/zookeeper-3.4.11 /usr/local/zk1

mv /usr/local/zk1/conf/zoo_sample.cfg  /usr/local/zk1/conf/zoo.cfg

mkdir -pv /usr/local/zk1/data

echo 1 > /usr/local/zk1/data/myid

cat /usr/local/zk1/conf/zoo.cfg

dataDir=/usr/local/zk1/data/

clientPort=2181

maxClientCnxns=100

tickTime=2000

initLimit=10

syncLimit=5

zookeeper.connect=192.168.10.17:2181

 

touch /etc/init.d/zookeeper && chmod +x /etc/init.d/zookeeper

cat /etc/init.d/zookeeper 

#!/bin/bash

#chkconfig:2345 20 90

#description:zookeeper

#processname:zookeeper

 

ZK_PATH=/usr/local/zk1 

export JAVA_HOME=/usr/local/java

 

case $1 in

         start) sh  $ZK_PATH/bin/zkServer.sh start;;

         stop)  sh  $ZK_PATH/bin/zkServer.sh stop;;

         status) sh  $ZK_PATH/bin/zkServer.sh status;;

         restart) sh $ZK_PATH/bin/zkServer.sh restart;;

         *)  echo "require start|stop|status|restart"  ;;

esac

/etc/init.d/zookeeper  start

chkconfig --add zookeeper

 

tar zxvf /root/redis-3.2.12.tar.gz

cd /root/redis-3.2.12

make -j4 && make install  PREFIX=/usr/local/redis

cp -pv /root/redis-3.2.12/redis.conf /usr/local/redis/

mkdir -pv /var/log/redis && touch /var/log/redis/redis.log

cp -pv /usr/local/redis/redis.conf /usr/local/redis/redis.conf.bak

cat /usr/local/redis/redis.conf

port  6379

daemonize  yes   

bind  127.0.0.1 192.168.10.17

#requirepass 123456  

appendonly yes

appendfsync everysec

pidfile   /var/run/redis.pid

logfile   /var/log/redis/redis.log

ln -s /usr/local/redis/bin/* /bin/

 

touch /etc/init.d/redis && chmod +x /etc/init.d/redis

cat /etc/init.d/redis 

#!/bin/sh

# chkconfig:   2345 90 10

# Simple Redis init.d script conceived to work on Linux systems

# as it does use of the /proc filesystem.

 

REDISPORT=6379

EXEC=/usr/local/redis/bin/redis-server 

CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="/usr/local/redis/redis.conf"

 

case "$1" in

    start)

        if [ -f $PIDFILE ]

        then

                echo "$PIDFILE exists, process is already running or crashed"

        else

                echo "Starting Redis server..."

                $EXEC $CONF

        fi

        ;;

    stop)

        if [ ! -f $PIDFILE ]

        then

                echo "$PIDFILE does not exist, process is not running"

        else

                PID=$(cat $PIDFILE)

                echo "Stopping ..."

                $CLIEXEC -p $REDISPORT shutdown

                while [ -x /proc/${PID} ]

                do

                    echo "Waiting for Redis to shutdown ..."

                    sleep 1

                done

                echo "Redis stopped"

        fi

        ;;

    *)

        echo "Please use start or stop as first argument"

        ;;

esac

/etc/init.d/redis start

chkconfig --add redis

 

tar zxvf /root/mongodb-linux-x86_64-rhel70-2.8.0-rc5.tgz

mv /root/mongodb-linux-x86_64-rhel70-2.8.0-rc5 /usr/local/mongodb

mkdir -p /usr/local/mongodb/data

mkdir -p /usr/local/mongodb/data/db

mkdir -p /usr/local/mongodb/logs

touch /usr/local/mongodb/logs/mongodb.log

ln -s /usr/local/mongodb/bin/* /bin/

cat /usr/local/mongodb/mongodb.conf 

port = 27017        

bind_ip = 192.168.10.17

dbpath =  /usr/local/mongodb/data/  

logpath = /usr/local/mongodb/logs/mongodb.log 

logappend = true   

fork = true

maxConns=5000  

journal = true   

auth = true

httpinterface=true      

 

touch /etc/init.d/mongodb  && chmod +x /etc/init.d/mongodb       创建启动脚本

cat /etc/init.d/mongodb 

#!/bin/sh 

#chkconfig: 2345 80 90 

#description: mongodb

 

start() {

mongod -f /usr/local/mongodb/mongodb.conf

}

 

stop() {

mongod -f /usr/local/mongodb/bin/mongodb.conf --shutdown

}

 

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo $"Usage: $0 {start|stop|restart}" 

exit 1

esac

/etc/init.d/mongodb start

chkconfig --add mongodb

 

mongo --host 192.168.10.17

> use admin

> db.createUser({user: 'root', pwd: 'Root1q2w', roles: ['root']})

> use cmdb

> db.createUser({user: "cc",pwd: "cc",roles: [ { role: "readWrite", db: "cmdb" } ]})

 

tar zxvf /root/cmdb.tar.gz

mv /root/cmdb /opt/

cd /opt/cmdb/

python init.py --discovery 192.168.10.17:2181 --database cmdb --redis_ip 192.168.10.17 --redis_port 6379 --redis_pass Root1q2w --mongo_ip 192.168.10.17 --mongo_port 27017 --mongo_user cc --mongo_pass cc --blueking_cmdb_url http://192.168.10.17:8083 --listen_port 8083

blueking_cmdb_url: http://192.168.10.17:8083

bash /opt/cmdb/start.sh

bash /opt/cmdb/init_db.sh

 

netstat -tuplna | grep 2181

tcp6       0      0 :::2181                 :::*                    LISTEN      2160/java 

netstat -tuplna | grep 6379

tcp        0      0 192.168.10.17:6379      0.0.0.0:*               LISTEN      5291/redis-server 1 

tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      5291/redis-server 1

netstat -tuplna | grep 27017

tcp        0      0 192.168.10.17:27017     0.0.0.0:*               LISTEN      14789/mongod

netstat -tuplna | grep 28017

tcp        0      0 192.168.10.17:28017     0.0.0.0:*               LISTEN      2190/mongod     

netstat -tuplna | grep cmdb

tcp        0      0 192.168.10.17:8080      0.0.0.0:*               LISTEN      15064/./cmdb_apiser 

tcp        0      0 192.168.10.17:60001     0.0.0.0:*               LISTEN      15140/./cmdb_hostse 

tcp        0      0 192.168.10.17:60002     0.0.0.0:*               LISTEN      15200/./cmdb_topose 

tcp        0      0 192.168.10.17:60003     0.0.0.0:*               LISTEN      15185/./cmdb_procse 

tcp        0      0 192.168.10.17:60005     0.0.0.0:*               LISTEN      15095/./cmdb_dataco 

 

http://serverip:28017

41.jpg

 

http://serverip:8083

41.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask CMDB是基于Flask框架开发的配置管理数据库系统。CMDB(Configuration Management Database)是一种用于记录和管理配置信息的数据库系统,旨在帮助组织和管理各种IT资源和配置项。 Flask CMDB的核心功能包括: 1. 配置项管理:可以记录和管理各种IT资源的配置项,如服务器、网络设备、应用程序等。用户可以方便地查看、添加、修改和删除配置项信息。 2. 配置项关系管理:可以建立和管理配置项之间的关系,如服务器与操作系统之间的关系、网络设备与网络拓扑之间的关系等。这样可以更好地了解各个配置项之间的依赖关系和影响范围。 3. 变更管理:可以记录和管理对配置项进行的变更操作,包括添加、修改、删除等。这样可以追踪和回溯变更的历史记录,并确保配置项的变更得到控制和审计。 4. 查询和报表:提供强大的查询功能,可以根据各种条件进行配置项的查询和统计。还可以生成各种报表,帮助用户更好地了解和管理配置信息。 5. 权限控制:支持用户和角色的权限管理,可以根据用户的角色和权限对配置项进行访问控制,保障配置信息的安全性和机密性。 Flask CMDB的优点在于使用了Flask框架,具有简单、灵活、易于扩展的特点。它还提供了友好的Web界面,使用户能够轻松使用和管理配置信息。同时,Flask CMDB还可以通过API接口与其他系统进行集成,实现数据的共享和交互。总之,Flask CMDB是一个功能强大、易于使用和扩展的配置管理数据库系统,能够帮助组织更好地管理和控制配置信息,提高IT资源的利用效率和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值