Home

Awesome

Readme

OMP-运维管理平台

OMP(Operation Management Platform)是云智慧公司自主设计、研发的轻量级、聚合型、智能运维管理平台。是一款为用户提供便捷运维能力和业务管理的综合平台。具备运维一应俱全的功能,目的是提升运维自动化、智能化,提高运维效率,提升业务连续性和安全性。

OMP设计初衷

目前运维面临的痛点:

运维管理平台(OMP)的设计初衷就是想打造一应俱全的运维平台,降低交付难度,提升运维自动化、智能化,提高运维效率,提升业务连续性和安全性。

OMP核心功能

架构设计

./doc/architecture.png

Demo

通过浏览器访问页面,访问入口为:http://omp.cloudwise.com/#/login
默认用户名:admin
默认密码:Yunweiguanli@OMP
每晚 00:00 将重置数据

使用 OMP

安装部署

当前OMP安装包内部包含了其使用的所有组件,建议将OMP部署在 /data/ 下,当前版本部署流程如下:
step0:下载解压安装包

tar -xvf omp_open-*.tar.gz -C /data

step1:编辑文件,检查环境配置

vim /data/omp/config/omp.yaml

注意:当前版本已携带mysql、redis安装,配置信息如下,如需修改请在安装前修改

# redis相关配置
redis:
  host: 127.0.0.1
  port: 6380
  password: common123
# mysql相关配置
mysql:
  host: 127.0.0.1
  port: 3307
  username: common
  password: Common@123

step2:执行安装脚本

cd /data/omp && bash scripts/install.sh
# 注意1:执行后根据提示选择本机ip,如主机上存在多网卡多IP情况,需要根据业务需求自行判断使用哪个ip地址
# 注意2:当前执行操作的用户即为OMP中各个服务进程的运行用户,在以后的维护中,也应使用此用户进行操作

管理OMP

注意:如需停止 OMP 相关服务,请先执行 “停止 OMP 定时保活任务” 操作

# [服务名称] 值为: all 为对所有组件操作
# all|mysql|redis|tengine|uwsgi|worker|cron|salt|prometheus|alertmanager|grafana|loki
bash /data/omp/scripts/omp [服务名称] [status|start|stop|restart]

停止 OMP 定时保活任务:

# 查看定时任务
crontab -e

# 删除或注释如下内容,否则定时任务会将 OMP 自动拉起
# */5 * * * * bash /data/omp/scripts/omp all start &>/dev/null

卸载OMP

omp节点上卸载操作如下:

bash /data/omp/scripts/uninstall.sh

升级 & 回滚 OMP

# 升级命令
bash cmd_manager omp_upgrade [必填参数:升级目标路径(如:/data/omp,注意此处路径末尾无/)] [选填参数:从某个断点处升级,默认开头]
# 例如
bash 升级包路径/scripts/cmd_manager omp_upgrade /data/omp(当前正在运行的旧安装路径)

# 回滚命令
bash cmd_manager omp_upgrade [必填参数:升级目标路径(如:/data/omp,注意此处路径末尾无/)] [选填参数:从某个断点处升级,默认开头]
# 例如
bash 升级包路径/scripts/cmd_manager omp_rollback /data/omp(当前正在运行的旧安装路径)

断点执行

常用于执行过程中某一步骤失败时,期望从失败步骤处再次执行时使用,正常情况无需考虑此参数,参数默认下标为0

升级回滚可以理解成为jenkins的pipliene 是分步骤执行的,当我们在某一个位置出现异常时,手动修复后通过错误节点再次进行时使用,而跳过之前已经升级(回滚)正确的步骤

# 升级流程顺序如下:
# PreUpdate, Mysql, Redis, Grafana, Tengine, OmpWeb, OmpServer, Python, PostUpdate

环境依赖

技术栈

后端技术栈

数据库

前端技术栈

监控技术栈

内置组件概览

组件名称组件作用端口
tengine平台访问入口,代理前端页面及后端uwsgi程序19001
uwsgiweb容器,用于提供 python Django 后端程序访问入口19003
salt开源组件,服务器控制程序,提供主机 Agent 通信19004、19005
worker异步任务、定时任务执行程序,有进程无端口-
prometheus开源组件,提供监控数据19011
grafana开源组件,提供监控面板19014
alertmanager开源组件,提供日志告警19013、9094
loki开源组件,提供日志采集19012、9095
redis开源组件,提供缓存,消息队列6380
mysql开源组件,数据存储3307
ntpd开源组件,提供时间同步功能123(udp)

关于应用商店

如何制作一个OMP应用商店中的应用

OMP 社区版-应用商店发布说明文档

内含

卸载应用商店中已经发布的应用

已支持界面操作

export LD_LIBRARY_PATH=/data/omp/component/env/lib && /data/omp/component/env/bin/python3.8 /data/omp/scripts/source/uninstall_app_store.py --product 产品名称 --app_name 组件/服务名称 --version 版本

已经部署服务实例的安装包,无法卸载

参数说明:

  1. --version 缺省时,卸载所有版本
  2. 卸载基础组件 --app_name 基础组件名称
  3. 卸载应用/产品 --product 应用/产品名称
  4. 卸载应用下指定服务 --product 应用/产品名称 --app_name 服务名称

欢迎加入 获取更多关于OMP的技术资料,或加入OMP开发者交流群,可扫描下方二维码咨询

<img src="./doc/contact-us.png" width="600px" height="400px" />