Best Flask open-source libraries and packages

Sql_monitor

Python实现mysql监控数据,邮件报警小工具
Updated 1 month ago

sql监控报警工具

项目简介

一个非常简单的Flask项目,可定时执行监控sql并发送邮件报警。

具备以下特性:

  • 监控数据库可配置
  • cron表达式控制执行频率
  • 执行结果智能邮件报警

环境配置

(默认已安装好python3环境,若未安装,请自行百度)

  1. 在项目根目录运行 pip3 install -r requirements.txt安装依赖
  2. config.yaml文件配置发件人邮箱及密码

运行

  1. 在项目根目录运行python monitor_server.py启动项目,启动端口可在monitor_server.py文件中修改,默认为5001。
  2. 浏览器输入 http://localhost:5001 ,访问监控首页。

如何使用

  1. 配置数据源
    数据源可指定mysql的主机地址,端口,数据库名,用户名和密码。 配置完成后可测试是否可成功连接。

  2. 配置报警sql
    在监控主页配置报警的sql,每个字段都是必选字段。多个邮箱收件人用英文逗号分隔,cron表达式为linux格式,只能精确到分钟。如每天早上9点可配置为0 9 * * *。 然后选中配置的数据源,填入写好的报警sql。
    sql结尾不可带分号。

    报警的机制是校验当前sql查出的数据条数是否大于0,如果大于0则向指定的邮箱发送邮件报警。 如果查询出的结果条数大于10,则 邮件结果只展示前10条 。(应改为可配置)
    报警邮箱格式见下图 报警邮箱案例

  3. 测试报警
    配置好报警sql后,则点击立即执行来测试一下效果。页面上会展示出本次执行的结果,同时如果结果条数大于0还会发送报警邮件。

  4. 开始监控
    当保存好sql之后,系统会自动检测cron表达式下次运行的时间,并加入到执行队列中。