天下風雲出我輩
一入江湖歲月催

自动化运维平台OpsManage部署实践

一、简介

OpsManage是集代码及应用部署CI/CD、资产管理CMDB、计划任务管理平台、SQL审核|回滚、任务调度等一身的自动化运维平台,是国人welliam开发的。因在参考大神的文档实践安装中存在诸多问题,请教过大神多次,鉴于环境问题,写个记录在此膜拜大神。

Github地址:https://github.com/welliamcao/OpsManage

开发语言与框架:

  • 编程语言:Python2.7 + HTML + JScripts
  • 前端Web框架:Bootstrap
  • 后端Web框架:Django
  • 后端Task框架:Celery + Redis

OpsManage环境要求

  • 编程语言:Python 2.7
  • 操作系统:CentOS 6+
  • Ansible版本:2.0 +
  • 部署平台及节点服务器:Rsync 3+
  • MySQL版本:5.1-5.6

二、安装配置Redis

yum install epel-release -y     #安装epel源

yum install redis -y           #安装redis

修改配置文件

vim /etc/redis.conf         #编辑配置文件

daemonize yes        #是否以后台进程运行
loglevel warning     
logfile "/var/log/redis.log"
bind 127.0.0.1

systemctl start redis    #启动redis服务

systemctl enable redis    #设置开机启动

三、安装配置Mysql

在使用MySQL Yum存储库时,默认选择安装最新的MySQL版本的MySQL5.7,这里版本要求是5.1-5.6,因此是需要更改repo文件禁用5.7的源而启用5.5的源来安装。

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm  #安装官方源

vim /etc/yum.repos.d/mysql-community.repo     #修改源文件

将5.7的源改为enabled=0 禁用,5.5的改为enabled=1启用。

yum repolist enabled | grep mysql      #验证启用的源

yum -y install mysql-community-server      #安装mysql5.5服务端

systemctl start mysqld        #启动msyql

systemctl enable mysqld     #设置开机启动

修改配置文件

# vim /etc/my.cnf
[mysqld]
character_set_server = utf8
添加以上字段
sytemctl restart mysqld    #重启mysqld

mysql_secure_installation   #执行mysql初始化设置root密码
#登录mysql创建数据库并授权
 mysql -uroot -p
mysql> create database opsmanage;
mysql> grant all privileges on opsmanage.* to [email protected]'%' identified by 'password';

四、安装依赖及模块

Centos7自带python2.7.5 、pip ,pip没安装的直接用yum install -y python-pip, 然后在升级下pip install -U pip。

#要装的依赖及程序 
yum install -y mysql mysql-devel python-devel libevent-devel gcc make cmake
pip install gevent

# cd /mnt/
# git clone https://github.com/welliamcao/OpsManage.git
# cd /mnt/OpsManage/
# pip install -r requirements.txt  #注意,如果出现错误不要跳过,请根据错误信息尝试解决

五、配置OpsManage

cd   /mnt/OpsManage/OpsManage

# vim settings.py
BROKER_URL =  redis://127.0.0.1/3 #修改成自己的配置,格式是redis://[:password]@host:port/db
REDSI_KWARGS_LPUSH = {"host":'127.0.0.1','port':6379,'db':3} #修改成自己的配置
DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.mysql',
        'NAME':'opsmanage',
        'USER':'root',		#修改成自己的配置
        'PASSWORD':'welliam',	#修改成自己的配置
        'HOST':'127.0.0.1', #修改成自己的配置
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ["/mnt/OpsManage/OpsManage/static/",'/mnt/OpsManage/OpsManage/templates/'], #修改成自己的配置
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
STATICFILES_DIRS = (
     '/mnt/OpsManage/OpsManage/static/',	#修改成自己的配置
    )

六、生成数据表与管理员账户

rm -rf migrations  #删除缓存文件
cd /mnt/OpsManage
# python manage.py makemigrations OpsManage
# python manage.py makemigrations wiki
# python manage.py makemigrations orders
# python manage.py makemigrations filemanage
# python manage.py migrate
# python manage.py createsuperuser

七、配置Celery异步任务系统

# echo_supervisord_conf > /etc/supervisord.conf
# export PYTHONOPTIMIZE=1
# vim /etc/supervisord.conf
最后添加
[program:celery-worker-default]
command=/usr/bin/python manage.py celery worker --loglevel=info -E -Q default
directory=/mnt/OpsManage
stdout_logfile=/var/log/celery-worker-default.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1

[program:celery-worker-ansible]
command=/usr/bin/python manage.py celery worker --loglevel=info -E -Q ansible
directory=/mnt/OpsManage
stdout_logfile=/var/log/celery-worker-ansible.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1


[program:celery-beat]
command=/usr/bin/python manage.py celery beat
directory=/mnt/OpsManage
stdout_logfile=/var/log/celery-beat.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1

[program:celery-cam]
command=/usr/bin/python manage.py celerycam
directory=/mnt/OpsManage
stdout_logfile=/var/log/celery-celerycam.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1


启动celery
# supervisord -c /etc/supervisord.conf
# supervisorctl status #要检查是否都是running状态

八、启动部署平台

# cd /mnt/OpsManage/
# python manage.py runserver 0.0.0.0:8000
网页访问公网或者内网ip地址+8000端口

九、配置秘钥分发

# ssh-keygen
# ssh-copy-id   [email protected]

 

opsmanage

 

 

赞(4) 打赏
未经允许不得转载:Anonym0x1 » 自动化运维平台OpsManage部署实践

相关推荐

  • 暂无文章

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏