# opsmonitor
## 简介
opsmonitor是一个简单的服务器监控系统,本项目fork于flask-adminlte-handler
开发opsmonitor的原因是,现有的开源监控服务如:nagios、cacti等,配置繁琐、安装复杂;
开发这个系统的目的就是为了解决繁琐的配置问题,opsmonitor主体功能现都已完成,可以满足基本
的监控需求。
opsmonitor只适用于小型系统的监控,目前的opsmonitor对于监控项目过多的系统
会有性能问题,建议监控主机数少于20台,并且监控项数据少于100个。
### 注意
本系统用户管理界面的switch开关不起作用
## 使用的技术
1. Web框架使用Flask,默认Jinja模版
2. ORM框架使用Peewee
3. 前端套用基于BootStrap的AdminLTE模板,也使用了少量的layui
4. 使用paramiko通过ssh通道获取主机硬件信息
## 系统截图
- 登录页
![](./images/login.png)
- 主页
![](./images/index.png)
- 添加主机页
![](./images/addhost.png)
- 主机列表页
![](./images/hostlist.png)
- 添加监控页
![](./images/addmonitor.png)
- 监控项列表页
![](./images/itemstatus.png)
- 监控项详情页
![](./images/itemdetail.png)
- 登录用户管理页
![](./images/user.png)
- 报警配置页
![](./images/notify.png)
- 报警列表页
![](./images/notifylist.png)
- 全局配置页(邮件smtp信息配置)
![](./images/global.png)
## 第三方依赖
- peewee
- pymysql
- flask
- flask-script
- flask-wtf
- flask-login
- paramiko
- pyecharts
- requests
## 环境配置
### venv虚拟环境安装配置
```
sudo pip3 install virtualenv
virtualenv venv
. venv/bin/activate
```
### 第三方依赖安装
```
pip3 install -r requirements.txt
```
### 系统参数配置
1. 编辑`config.py`, 修改SECRET_KEY及MySQL数据库相关参数
```
SECRET_KEY = os.environ.get('SECRET_KEY') or 'your-secret'
DB_HOST = '127.0.0.1'
DB_USER = 'foobar'
DB_PASSWD = 'foobar'
DB_DATABASE = 'foobar'
```
2. 编辑log-app.conf,修改日志路径
```
args=('/path/to/log/flask-rest-sample.log','a','utf8')
```
### 数据库初始化
1. 自动建表
直接运行`python3 models.py`,或者导入根目录下的sql文件
2. 插入管理员用户(默认admin/admin),如果是导入的sql文件这步可跳过
```
INSERT INTO `user` (`id`, `username`, `password`, `fullname`, `email`, `phone`, `status`)
VALUES
(1, 'admin', 'pbkdf2:sha1:1000$Km1vdx3W$9aa07d3b79ab88aae53e45d26d0d4d4e097a6cd3', '管理员', 'admin@admin.com', '18612341234', 1);
```
### 管理应用
```
启动
chmod +x start.sh
./start.sh all
停止
chmod +x stop.sh
./stop.sh all
重启
chmod +x restart.sh
./restart.sh all
管理脚本具体用法可查看脚本帮助(./start.sh -h|./stop.sh -h|./restart.sh -h)
```
## 项目目录结构
- /app/auth 用户认证相关代码
- /app/main 主要功能点相关代码
- /app/static JS、CSS等静态文件
- /app/template 页面模版
- /app/models.py Peewee模型
- /app/utils 工具包
- /app/api 数据接口
- /conf 系统参数及日志配置
- /monitor.py 获取监控项状态文件
## 短信说明
本平台没有开发短信通知功能,如需使用请参考短信服务提供商的开发文档
阿里云:https://help.aliyun.com/document_detail/55491.html?spm=a2c4g.11186623.6.685.7da11c11pYvJGz
百度:https://cloud.baidu.com/doc/SMS/s/gkipnj62c
## 相关学习文档
- [http://flask.pocoo.org](http://flask.pocoo.org)
- [https://flask-login.readthedocs.io](https://flask-login.readthedocs.io)
- [https://flask-script.readthedocs.io](https://flask-script.readthedocs.io)
- [https://flask-wtf.readthedocs.io](https://flask-wtf.readthedocs.io)
- [http://docs.peewee-orm.com](http://docs.peewee-orm.com)
- [https://almsaeedstudio.com/preview](https://almsaeedstudio.com/preview)
- [https://pyecharts.org/#/zh-cn/](https://pyecharts.org/#/zh-cn/)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!Linux系统是一个免费使用和自由传播的类Unix操作系统,基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux是许多企业和服务提供商的首选操作系统,用于部署Web服务器、数据库服务器、邮件服务器等。Linux系统具有高效的网络功能和稳定的性能,因此被广泛应用于服务器领域,Linux是云计算的核心组成部分,被广泛用于构建云平台和云服务。许多知名的云计算服务提供商都采用Linux系统作为其基础架构,一些游戏平台和游戏开发工具采用Linux作为支持的操作系统,例如Steam平台上的某些游戏。Linux系统在科学计算、数据分析和机器学习等领域也有广泛应用。许多知名的科学计算软件都在Linux上开发和运行,Linux系统在各个领域都有广泛的应用,其强大的功能和灵活性使得它成为许多产品和服务的基础架构。
资源推荐
资源详情
资源评论
收起资源包目录
Linux系统设计-一个监控linux系统状态以及tcp和http服务的平台 (1754个子文件)
log-app.conf 459B
bootstrap.css 143KB
bootstrap.min.css 118KB
AdminLTE.css 108KB
AdminLTE.min.css 88KB
layui.css 78KB
ionicons.css 56KB
ionicons.min.css 50KB
_all-skins.css 46KB
_all-skins.min.css 40KB
font-awesome.css 34KB
font-awesome.min.css 28KB
_all.css 21KB
select2.css 17KB
_all.css 15KB
select2.min.css 15KB
layer.css 14KB
_all.css 14KB
_all.css 13KB
slider.css 8KB
laydate.css 7KB
bootstrap-switch.css 7KB
bootstrap-switch.min.css 6KB
skin-black-light.css 5KB
skin-blue-light.css 4KB
skin-purple-light.css 4KB
skin-yellow-light.css 4KB
skin-green-light.css 4KB
skin-red-light.css 4KB
skin-black-light.min.css 4KB
skin-black.css 4KB
skin-blue-light.min.css 4KB
skin-yellow-light.min.css 4KB
skin-purple-light.min.css 4KB
skin-green-light.min.css 4KB
skin-unicom2.css 4KB
skin-red-light.min.css 4KB
skin-blue.css 3KB
skin-yellow.css 3KB
skin-purple.css 3KB
ion.rangeSlider.css 3KB
skin-black.min.css 3KB
skin-green.css 3KB
skin-red.css 3KB
skin-blue.min.css 3KB
skin-purple.min.css 3KB
skin-yellow.min.css 3KB
skin-green.min.css 3KB
skin-red.min.css 3KB
global.css 3KB
purple.css 2KB
yellow.css 2KB
orange.css 2KB
green.css 2KB
pink.css 2KB
blue.css 2KB
grey.css 2KB
aero.css 2KB
pace.css 2KB
ion.rangeSlider.skinFlat.css 2KB
red.css 2KB
line.css 2KB
ion.rangeSlider.skinNice.css 2KB
pace.min.css 2KB
purple.css 2KB
orange.css 2KB
yellow.css 2KB
purple.css 2KB
orange.css 2KB
yellow.css 2KB
green.css 2KB
green.css 2KB
pink.css 2KB
blue.css 2KB
grey.css 2KB
aero.css 2KB
pink.css 2KB
blue.css 2KB
grey.css 2KB
aero.css 2KB
red.css 2KB
red.css 2KB
all.css 2KB
minimal.css 2KB
polaris.css 2KB
square.css 2KB
purple.css 1KB
orange.css 1KB
yellow.css 1KB
green.css 1KB
pink.css 1KB
blue.css 1KB
grey.css 1KB
aero.css 1KB
futurico.css 1KB
red.css 1KB
flat.css 1KB
code.css 1KB
ionicons.eot 118KB
fontawesome-webfont.eot 75KB
共 1754 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
资源评论
妄北y
- 粉丝: 2w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (GUI框架)Matlab设计_的语音滤波设计.zip
- (GUI框架)Matlab设计_的运动行为检测.zip
- (GUI框架)Matlab设计_汉字识别.zip
- (GUI框架)Matlab设计_汉字语音识别.zip
- (GUI框架)Matlab设计_火焰识别系统设计.zip
- EuroSAT数据集 EuroSAT 是一个土地利用和土地覆盖分类数据集
- (GUI框架)Matlab设计_基于DWT+SVD结合傅里叶变换的数字图像水印水印系统.zip
- (GUI框架)Matlab设计_家居防火识别系统.zip
- (GUI框架)Matlab设计_火焰烟雾检测.zip
- (GUI框架)Matlab设计_教室人数统计.zip
- (GUI框架)Matlab设计_交通道路标识识别.zip
- (GUI框架)Matlab设计_金属表面缺陷分析.zip
- (GUI框架)Matlab设计_考勤系统设计.zip
- (GUI框架)Matlab设计_口罩识别.zip
- (GUI框架)Matlab设计_口罩检测.zip
- (GUI框架)Matlab设计_口罩识别设计.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功