Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

自动化运维平台: 代码及应用部署CI/CD、资产管理CMDB、计划任务管理平台、SQL审核|回滚、任务调度、站内WIKI

License

NotificationsYou must be signed in to change notification settings

welliamcao/OpsManage

Repository files navigation

一款代码部署、应用部署、计划任务、设备资产管理平台。

开源协议GNU General Public License v2

开源声明:欢迎大家star或者fork我的开源项目,如果大家在自己的项目里面需要引用该项目代码,请在项目里面申明协议和版权信息。

开发语言与框架:

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

OpsManage环境要求

  • 编程语言:Python 3.6
  • 操作系统:CentOS 6+
  • Ansible版本:2.6 +
  • 部署平台及节点服务器:Rsync 3+
  • MySQL版本:5.1-5.6 #如果用5.7请查看

OpsManage功能说明

image

QQ交流群

image

安装环境配置

注:使用docker-compose安装推荐!!!

一、安装Python

# yum install epel-release -y# yum install zlib zlib-devel readline-devel sqlite-devel bzip2-devel openssl-devel gdbm-devel libdbi-devel ncurses-libs kernel-devel libxslt-devel libffi-devel python-devel zlib-devel openldap-devel sshpass gcc git rabbitmq-server supervisor -y# yum localinstall http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm# yum install mysql-community-server mysql-devel -y# wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz  #CentOS 7不用安装python2.7# tar -xzvf Python-3.6.6.tgz# cd Python-3.6.6# ./configure --prefix=/usr/local/python3# make all# make install# make clean# make distclean  # ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

二、安装模块

# cd /mnt/# git clone -b v3 https://github.com/welliamcao/OpsManage.git# cd /mnt/OpsManage/# pip3 install -r requirements.txt  #CentOS 7使用pip3

三、安装Redis

# wget http://download.redis.io/releases/redis-3.2.8.tar.gz# tar -xzvf redis-3.2.8.tar.gz# cd redis-3.2.8# make# make install# vim redis.conf

修改以下配置(不要配置认证)

daemonize yesloglevel warninglogfile "/var/log/redis.log"bind 你的服务器ip地址例如: bind 127.0.0.1 192.168.88.201
# cd ../# mv redis-3.2.8 /usr/local/redis# /usr/local/redis/src/redis-server /usr/local/redis/redis.conf

四、安装MySQL

# vim /etc/my.cnf[mysqld]character_set_server = utf8添加以上字段# /etc/init.d/mysqld restart     #centos 6# systemctl start mysqld.service #centos 7# mysql -uroot -p  #初始密码为空,直接回车就行mysql> create database opsmanage DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;mysql> grant all privileges on opsmanage.* to root@'%' identified by 'password';mysql>\q

五、配置RabbitMQ

# systemctl start rabbitmq-server.service    #启动RabbitMQ# systemctl enable rabbitmq-server.service   #设置开机自启动RabbitMQ# rabbitmqctl add_user admin admin           #添加RabbitMQ账户# rabbitmqctl set_user_tags admin administrator# rabbitmqctl set_permissions  -p  '/'  admin '.' '.' '.'# rabbitmqctl list_users   # rabbitmqctl delete_user guest  #删除guest账户(可以不删除)# rabbitmq-plugins enable rabbitmq_management   #开启Web UI,可以通过http://server_IP:15672/访问

六、配置OpsManage

# cd /mnt/OpsManage/conf# vim opsmanage.ini根据自己的情况修改配置

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

# cd /mnt/OpsManage/# /usr/local/python3/bin/python3 manage.py makemigrations account# /usr/local/python3/bin/python3 manage.py makemigrations wiki# /usr/local/python3/bin/python3 manage.py makemigrations orders# /usr/local/python3/bin/python3 manage.py makemigrations navbar# /usr/local/python3/bin/python3 manage.py makemigrations databases# /usr/local/python3/bin/python3 manage.py makemigrations asset# /usr/local/python3/bin/python3 manage.py makemigrations deploy# /usr/local/python3/bin/python3 manage.py makemigrations cicd# /usr/local/python3/bin/python3 manage.py makemigrations sched# /usr/local/python3/bin/python3 manage.py makemigrations apply# /usr/local/python3/bin/python3 manage.py migrate# /usr/local/python3/bin/python3 manage.py createsuperuser  #创建管理员账户与密码
# 如果出现错误ImportError: cannot import name 'LDAPError'pip3 uninstall python-ldappip3 install --upgrade python-ldap

八、启动部署平台

# echo_supervisord_conf > /etc/supervisord.conf# export PYTHONOPTIMIZE=1# vim /etc/supervisord.conf最后添加,/var/log/celery-*.log这些是日志文件,如果有错误请注意查看,directory的值是代码路径[program:celery-worker-default]environment=C_FORCE_ROOT="true",PYTHONOPTIMIZE=1command=/usr/local/python3/bin/celery -A OpsManage worker --loglevel=info -E -Q default -n worker-default@%%hdirectory=/mnt/OpsManagestdout_logfile=/var/log/celery-worker-default.logautostart=trueautorestart=trueredirect_stderr=truestopsignal=QUITnumprocs=1[program:celery-worker-ansible]environment=C_FORCE_ROOT="true",PYTHONOPTIMIZE=1command=/usr/local/python3/bin/celery -A OpsManage worker --loglevel=info -E -Q ansible -n worker-ansible@%%hdirectory=/mnt/OpsManagestdout_logfile=/var/log/celery-worker-ansible.logautostart=trueautorestart=trueredirect_stderr=truestopsignal=QUITnumprocs=1[program:celery-beat]environment=C_FORCE_ROOT="true",PYTHONOPTIMIZE=1command=/usr/local/python3/bin/celery -A OpsManage  beat --loglevel=info --scheduler django_celery_beat.schedulers:DatabaseSchedulerdirectory=/mnt/OpsManagestdout_logfile=/var/log/celery-beat.logautostart=trueautorestart=trueredirect_stderr=truestopsignal=QUITnumprocs=1[program:apply-task]environment=C_FORCE_ROOT="true",PYTHONOPTIMIZE=1command=/usr/local/python3/bin/python3 manage.py apply_taskdirectory=/mnt/OpsManagestdout_logfile=/var/log/apply-task.logautostart=trueautorestart=trueredirect_stderr=truestopsignal=QUITnumprocs=1[program:opsmanage-web]command=/usr/local/python3/bin/python3 manage.py runserver 0.0.0.0:8000 --http_timeout 1200directory=/mnt/OpsManagestdout_logfile=/var/log/opsmanage-web.log   stderr_logfile=/var/log/opsmanage-web-error.logautostart=trueautorestart=trueredirect_stderr=truestopsignal=QUIT启动celery# supervisord -c /etc/supervisord.conf# supervisorctl status #要检查是否都是running状态,uptime是不是递增配置nginx(请注意服务器上面是否安装了Nginx):# vim /etc/nginx/conf.d/opsmanage.conf server {    listen 80 ;    server_name 192.168.1.233;  #192.168.1.233替换成自己服务器的IP地址    access_log /var/log/nginx/opsmanage_access.log;    error_log /var/log/nginx/opsmanage_error.log;    location / {        proxy_next_upstream off;        proxy_set_header    X-Real-IP           $remote_addr;        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;        proxy_set_header    Host                $host;        proxy_http_version 1.1;        proxy_set_header Upgrade $http_upgrade;        proxy_set_header Connection "upgrade";        proxy_pass http://192.168.1.233:8000$request_uri;  #192.168.1.233替换成自己服务器的IP地址    }    location /static/ {        expires 30d;        autoindex on;        add_header Cache-Control private;        alias /mnt/OpsManage/static/;     }    location /media/navbar/ {        expires 30d;        autoindex on;        add_header Cache-Control private;        alias /mnt/OpsManage/upload/navbar/;     }   location /media/avatar/ {        expires 30d;        autoindex on;        add_header Cache-Control private;        alias /mnt/OpsManage/upload/avatar/;     }         location /media/apply/icon/ {        expires 30d;        autoindex on;        add_header Cache-Control private;        alias /mnt/OpsManage/upload/apply/icon/;     }     }# nginx -t  #检查配置文件# service start nginx #CentOS 6# systemctl start nginx.service  #CentOS 7

九、使用OpsManage分布式任务调度功能,不使用的话可以不进行下面的步骤

# mkdir -p /usr/local/opsched# cp /mnt/OpsManage/opsched/* /usr/local/opsched/# vim /usr/local/opsched/sched.conf # 注意修改里面secret跟ops_address的值,修改成自己的配置# /usr/local/opsched/opsched -f /usr/local/opsched/sched.conf -a check      #检查配置看看有没有报错# /usr/local/opsched/opsched -f /usr/local/opsched/sched.conf -a runserver  #正式运行

十、demo地址

URL: http://42.194.214.22:8000/UserName:demoPassword:demo

About

自动化运维平台: 代码及应用部署CI/CD、资产管理CMDB、计划任务管理平台、SQL审核|回滚、任务调度、站内WIKI

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp