GithubHelp home page GithubHelp logo

ymd5033 / db_monitor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gumengkai/db_monitor

0.0 1.0 0.0 1.02 MB

python+Django+Vue数据库监控平台 Oracle/MySQL/Redis/Linux基础+性能监控

Python 26.94% Shell 0.19% HTML 72.84% Dockerfile 0.02%

db_monitor's Introduction

DB monitor数据库监控平台

特性

  • 构建: 前后端分离架构,Python+Django+restframework提供后台API,celery定制数据采集策略,Iview作为前端展示
  • UI: 开箱即用的高质量前端设计,提供丰富的图表、指标展示,核心数据形成趋势图分析
  • 深度定制: 提供完整可用的数据监控方案,告别冗长的SQL脚本、常用手册,复杂数据通过web页面即可轻易浏览

功能简介

  • 资源管理
    • 支持Oracle/MySQL/Redis/Linux资源情况录入,涵盖大部分日常所需信息,形成完整资产库
    • 资源管理中各类设备信息作为采集设备来源,支持动态加入实例监控列表

...待补充

环境

  • Python 3.6

    • Django 2.2
    • Django Rest Framework 3.1
  • Vue.js 2.9

    • iview 3.4

平台使用

用户名:admin 密码:111111

注:资源紧张及各种原因,demo已停用,想看的同学可以自行部署。

懒人以及没有接触过的建议使用docker部署方式

docker部署可参考: https://blog.csdn.net/gumengkai/article/details/106250548

docker(懒人详细版)部署可参考,提供所有安装文件,可以直接在内网使用: https://stuxidianeducn-my.sharepoint.com/:f:/g/personal/gumengkai_stu_xidian_edu_cn/EljbazMtQtJKhPKsuY9ZljgBjp7ujQHxPfj6-Hk0dnhyxQ?e=8JOrTk

安装部署

1. 安装python3.6(略)

2. 安装mysql5.7(略)

注意字符集:utf-8

create database db_monitor;

3. 安装redis3.2(略)

4. 安装oracle instant client(略)

5. 项目配置

下载源代码

git clone https://github.com/gumengkai/db_monitor

安装依赖包

pip install -r requirements.txt

settings配置

--MySQL数据库:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_monitor',
'USER': 'root',
'PASSWORD': 'mysqld',
'HOST':'127.0.0.1',
'PORT': '3306',
} }

--Redis:

CELERY_RESULT_BACKEND = 'redis://localhost:6379/1'

CELERY_BROKER_URL = 'redis://localhost:6379/2'

--邮件配置:

IS_SEND_EAMIL = 0 #是否发送告警邮件,0:不发送 1:发送

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #一般不需要修改

EMAIL_HOST = 'smtp.163.com'

EMAIL_PORT = 25

EMAIL_HOST_USER = '*********' # 邮箱登录名,如[email protected]

EMAIL_HOST_PASSWORD = '*********' #此处为客户端授权码,不是邮箱密码,需要在邮箱服务商设置

EMAIL_TO_USER = ['[email protected]','[email protected]'] # 发送邮件列表,参考格式设置

创建数据库

python manage.py makemigrations

python manage.py migrate

python manage.py createsuperuser(创建登录用户)

执行数据库脚本

@install/initdata.sql

初始化脚本包含celery初始数据和admin初始用户(密码为111111)

6. 启动

python manage.py runserver 0.0.0.0:8000 #建议使用固定IP地址启动

celery –A db_monitor worker –l info

celery –A db_monitor beat –l info

也可以使用脚本启动/关闭:

celery: sh celery_start[shutdown].sh

django: sh web_start[shutdown].sh

关于日志:

celery日志:logs/celery-worker.log & logs/celery-beat.log

web日志: logs/django-web.log

采集数据异常主要查看celery日志!

注:使用shell脚本启停时如遇到“/r command not found”,为linux与windows换行符格式差异导致,在Linux凭条可以在vim下执行:set ff=unix解决

7. 前端配置

请参考:db_monitor_vue

8. oracle数据库监控

对Oracle数据库监控,请在被监控端建立用户,并执行install/sqlscripts(forOracle)中的脚本

grant.sql & table.sql & procedure.sql

9. 数据库部署

--Oracle数据库部署(仅支持19c版本)

若要使用"数据库部署"的功能,需要手工下载数据库安装包并拷贝到utils/oracle_rac_install/目录中。

LINUX.X64_193000_grid_home.zip --安装集群需要,只安装单实例则不需要

LINUX.X64_193000_db_home.zip

注:安装前需要提前准备的

  1. 配置yum源
  2. 网卡配置(rac安装),包括private,public网络配置
  3. 服务器的配置应满足官方安装要求,如物理内存、磁盘空间、swap,自动化安装程序并不会对这些进行检查
  4. 共享磁盘配置(rac安装),需要在完成step1 linux配置后进行共享存储配置,才可继续进行后续grid安装

10. 访问地址

取决于自己的前端和后端端口配置,默认访问地址为

ip:8000/admin --后端

ip:8001 --前端

11. 系统设置

如采集频率,可在django后台管理页面进行配置 demo1

界面展示

  • 资产管理

demo1

  • Oracle数据库概览

demo1

  • oracle top sql

demo1

  • MySQL数据库日志解析

demo1

  • 告警记录

demo1

  • 告警配置

demo1

  • 数据库部署

demo1

交流学习

  • QQ群 916746047

另外,安装过程中出现的问题可优先查看此文档: https://docs.qq.com/doc/DZHlBSGFGd1lpWUVS

docker部署可参考: https://blog.csdn.net/gumengkai/article/details/106250548

Copyright © 2019 DB monitor

db_monitor's People

Contributors

dependabot[bot] avatar gumengkai avatar haochenxiao666 avatar senmumu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.