搬砖-运维管理平台OpsMange安装部署

腾讯蓝鲸运维管理平台是一个很好的项目,但是比较庞大复杂,部署和维护比较繁琐,关键是按照产品手册部署出来的一直都有问题,可能是我技术比较low =。=

也试过刘天斯大神的OMserver,但是这个只是一个实验平台,应用不到生产上。后来发现opsManage项目比较好,就开始尝试部署使用,现在也支持docker版本.

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

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

开源项目地址:https://github.com/welliamcao/OpsManage,里面有详细的部署步骤,但是有坑

本次测试安装的虚拟机为centos7最小化安装,4G内存,100G硬盘空间

一、环境准备

#更新yum源,注意保持主机名localhost
cd /etc/yum.repos.d/
yum install -y net-tools vim wget
mv CentOS-Base.repo CentOS-Base.repo.bak
wget http://mirrors.aliyun.com/repo/Centos-7.repo
mv Centos-7.repo CentOS-Base.repo
yum clean all
yum makecache
yum update -y

# 关闭防火墙selinux,iptabls 
systemctl disable firewalld
systemctl stop firewalld
iptables -F
iptables-save
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
#安装python相关包,centos7自带python2.7.5
yum install python-devel mysql-devel  
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  sshpass gcc git -y
#安装pip和相关的python包
yum install python-pip   #centos默认的yum源不带   
mkdir ~/.pip && cd ~/.pip 
vim pip.conf    #指定pip源
[global]
timeout = 60
index-url =  
pip install --upgrade pip
pip intall setup-tools

二、安装

根据实际情况,进行安装,同时解决出现的问题,centos7自带python,不用安装

1安装模块

# cd /mnt/
# git clone    #有时候git clone很慢,可以通过.zip下载的方式下载项目
# cd /mnt/OpsManage/
# pip install -r requirements.txt  #注意,如果出现错误不要跳过,请根据错误信息尝试解决
# easy_install paramiko==2.4.1

reauirements.txt文件内容如下,如果之前的依赖包都安装完毕,一般不会出问题,如果出现了问题和报错,一般都是缺少相应的软件包

Django==1.11.7
asgiref==1.1.2
asgi-redis==1.4.3
channels==1.1.7
Celery==3.1.20
django-celery==3.2.2
celery-with-redis
djangorestframework==3.5.3
djangorestframework-jwt==1.11.0
paramiko==2.4.1
Pillow==5.0.0
python-magic==0.4.15
django-storages==1.6.5
PyNaCl==1.2.1
pycparser==2.18
pyasn1==0.4.2
ansible==2.3.3
supervisor
mysql-replication
pymysql
redis
MySQL-python
DBUtils
xlrd

安装完毕之后,目录结构如下图所示:

2安装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 yes             #128行
loglevel warning          #158行
logfile "/var/log/redis.log" #163行
bind 你的服务器ip地址         #61行      
例如: 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

3安装mysql

# yum install  #使用Yum直接速率很慢,可以直接用wget下载,使用rpm -ivh安装 
# yum install Percona-Server-server-56
# vim /etc/my.cnf

对于国外站点的程序或者rpm包,我的方式是直接网页下载后再用xftp上传到主机进行安装

yum install percona-release-0.1-6.noarch.rpm 
yum install Percona-Server-server-56 --skip broken    #一定要加这个参数,不然会提示包冲突,进行不下去

# vim /etc/my.cnf
[mysqld]
character_set_server = utf8   #设定数据库支持utf8中文
添加以上字段

# /etc/init.d/mysqld restart     	#centos 6
# systemctl start mysql.service 	#centos 7
# mysql -uroot -p  				#初始密码为空,直接回车就行
mysql> create database opsmanage DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;   #创建数据库opsmanage 使用默认utf-8的中文
mysql> grant all privileges on opsmanage.* to [email protected]'%' identified by 'password''; #权限分配root对localhost本机的访问,密码为password,一定要这样设置
mysql>\q

4配置OpsManage

 cd /mnt/OpsManage/OpsManage
# vim settings.py
BROKER_URL =  redis://172.31.208.50:6379/3 #25行修改成自己的配置,格式是redis://[:password]@host:port/db

REDSI_KWARGS_LPUSH = {"host":'172.31.208.50','port':6379,'db':3} #60行修改成自己的配置

DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.mysql',
        'NAME':'opsmanage',
        'USER':'root',		#161行修改成自己的配置,对接数据库配置
        'PASSWORD':'password',	#修改成自己的配置
        'HOST':'172.31.208.50', #修改成自己的配置
        'PORT': 3306            #这里要加上
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

中间一些模版配置信息,保持默认即可

)
SFTP_CONF = {
             'port':22,
             'username':'root',
             'password':'xxxx',
             'timeout':30
             }  #191行修改成自己的配置

5生成数据表与管理员账户

前面的问题都解决了,执行脚本就会很顺利

# 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

设置登录账户密码

6.启动部署平台

# cd /mnt/OpsManage/
# python manage.py runserver 0.0.0.0:8000

注意,启动后,会占用当前终端,需要调整时开启新终端登录

7.配置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
# /usr/bin/supervisord -c /etc/supervisord.conf    #注意centos7上路径
# supervisorctl status #要检查是否都是running状态

三、登录使用

游览器http://xxxx.xxxx.xxxx.xxxx:8000

输入设定的用户名密码admin

这个平台是个好东西,对于自动化运维是非常必要的,但是想学会用,反馈问题,嘿嘿,老老实实交学费

原文地址:http://blog.51cto.com/11555417/2155028

时间: 2024-10-17 01:13:08

搬砖-运维管理平台OpsMange安装部署的相关文章

系统集中运维管理平台【社区版】安装与配置方法

最近很多博友反应不知道怎么安装与配置"系统集中运维管理平台[社区版]"程序,下面我写一个详细的配置文档,希望能够帮助各位博友: 程序支持操作系统平台: 主程序支持: Win7.Win8.Win8.1.Win2008.Win2008R2.Win2012.Win2012R2 MYSQL数据库: 软件版本:mysql_installer_community_V5.6.21.1_setup.1418020972 数据库可以安装在Windows或Linux平台,根据个人需求,这里以Windows

django实现Linux运维管理平台

老早之前就想做一个运维管理平台的项目了,但是一直没沉下来去做,上半年的时候毕设选择了这个课题,想着逼自己一把,不管做出来的怎么样,先把它搞起来..... django的工作原理: 文字说明: (1)Web服务器收到用户的http请求. (2) Django通过URL控制器来判断对应的视图(View)函数从而对http请求做处理. (3)视图函数调用相应的模型来存取数据.调用相应的模板把数据展示出来. (4)视图函数最终返回一个http的响应给Web服务器. (5)Web服务器把接收到的响应数据发

运维管理平台实现与学习心得

经过一段时间的学习,写了一个简单的运维管理平台小项目,先看看啥样吧! 下面说明下具体实现: 软件架构:HTML+CSS+Jquery+Bootstrap+Ajax+Python2.7+Django1.9+SaltStack+MySQL 功能描述: 数据可视化:采用百度开源的ECharts绘图,通过Python脚本每分钟统计Nginx日志分析PV/UV量写到数据库. 资产管理:采用SaltStack Restful API二次封装调用收集主机配置信息入库,并提供增删改查. 主机批量管理:也是调用S

ITGo虚拟化运维管理平台大数据版简介

ITGo虚拟化运维管理平台是北京万合鸿瑞科技有限公司研发的一款基于VMware vCenter虚拟化软件的运维监控管理产品,采用大数据分析和智能化运维(AIOps)等技术,对虚拟化的各种运维数据进行有效的监控.管理和分析,保证云计算/虚拟化技术的数据中心的高效稳定运行,优化系统资源使用,节省IT设备投资.产品在运维过程的作用如下: 事前规划:通过各种合规性和运维最佳实践的检查发现云计算/虚拟化环境存在的各种隐患,及时处理做到防范于未然. 事中控制:直观呈现数据中心的运维热点信息,快速定位和解决出

数据中心运维管理平台(idcops)

简介 django-idcops 是一个开源的倾向于数据中心运营商而开发的,拥有数据中心.客户.机柜.设备.跳线.物品.测试.文档等一些列模块的资源管理平台,解决各类资源集中管理与数据可视化的问题.django-idcops 通过"数据中心"来分类管理每个数据中心下面的资源,每个数据中心均是单独的. 软件许可协议 django-idcops 遵循 Apache License 2.0. 联系 作者博客 email: [email protected] qq群:185964462 点击进

CentOS 7运维管理笔记(4)----安装ftp服务器

在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点. 在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用.目前在开源操作系统中常用的FTP软件除了vsftp外,主要有proftpd.pureftpd和 wu-ftpd等.本篇随笔记录vsftp的安装与配置. 注意:本随笔所有操作均在VMware workstations虚拟机中安装的CentOS7 中进行,在进行操作前最好设置快照,这样某一步出错了还可以退回原来的状态: 1.安装

一个小的运维管理平台

最近闲下来,把之前写的运维平台推到重新整理了一下,把表结构重新规划和代码重写,写了个很Low的系统,主要是结合saltstack来实现:把原先的监控给砍掉,改用zabbix监控的方式,后期会加上调用zabbix随意出图的功能.前端的模板用的是reboot老师给的,我html比较差就没做继承之类的: 主要实现了:机房的管理.机器管理和搜索.软硬件资产的收集和审计.文件上传和批量推送.命令的批量推送返回结果. git 地址: https://github.com/xiaoluoge11/lmanag

开发自动化运维管理平台

开发环境: 操作系统:Cenots6.6 Web框架:tornado-4.0.2 数据库:mysql-5.1.73 相关软件包: tornado相关依赖包 backports.ssl_match_hostname-3.4.0.2.tar.gz setuptools-5.7.tar.gz certifi-1.0.1.tar.gz tornado-4.0.2.tar.gz torndb数据库环境需要软件包 MySQL-python-1.2.5.zip torndb-0.2.tar.gz window

运维管理平台架构

SaltStack 调用API WAF安全 nginx_lua WAF Logstash flume fluentd logstash  实时: stom kafka 架构: flume + stom + kafka + hdfs 应用部署更新 rundesk Piwik流量分析 piwik Zabbix监控 zabbix----sms----web------30000 ----- action----- salt module ------openstack api --create vm-