百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

无监控不运维——使用 Python 写一个小小的项目监控

off999 2024-09-18 22:33 38 浏览 0 评论

在公司里做的一个接口系统,主要是对接第三方的系统接口,所以,这个系统里会和很多其他公司的项目交互。随之而来一个很蛋疼的问题,这么多公司的接口,不同公司接口的稳定性差别很大,访问量大的时候,有的不怎么行的接口就各种出错了。

这个接口系统刚刚开发不久,整个系统中,处于比较边缘的位置,不像其他项目,有日志库,还有短信告警,一旦出问题,很多情况下都是用户反馈回来,所以,我的想法是,拿起 Python,为这个项目写一个监控。如果在调用某个第三方接口的过程中,大量出错了,说明这个接口有有问题了,就可以更快的采取措施。

项目的也是有日志库的,所有的 info,error 日志都是每隔一分钟扫描入库,日志库是用的 mysql,表里有几个特别重要的字段:

有日志库,就不用自己去线上环境扫日志分析了,直接从日志库入手。由于日志库在线上时每隔 1 分钟扫,那我就去日志库每隔 2 分钟扫一次,如果扫到有一定数量的 error 日志就报警,如果只有一两条错误就可以无视了,也就是短时间爆发大量错误日志,就可以断定系统有问题了。

报警方式就用发送邮件,所以,需要做下面几件事情:

操作:

1.MySql。

2.发送邮件。

3.定时任务。

4.日志。

5.运行脚本。

明确了以上几件事情,就可以动手了。

操作数据库

使用 MySQLdb 这个驱动,直接操作数据库,主要就是查询操作。

获取数据库的连接

从日志库里获取数据,获取当前时间之前 2 分钟的数据,首先,根据当前时间进行计算一下时间

然后,根据时间和日志级别去日志库查询数据。

发送邮件

使用 Python 发送邮件比较简单,使用标准库 smtplib 就可以这里使用 163 邮箱进行发送,你可以使用其他邮箱或者企业邮箱都行,不过 host 和 port 要设置正确。

定时任务

使用一个单独的线程,每2分钟扫描一次,如果 ERROR 级别的日志条数超过 5条,就发邮件通知。

日志

为这个小小的脚本配置一下日志 log.py,让日志可以输出到文件和控制台中。

所以,最后,这个监控小程序就是这样的 app_monitor.py


运行脚本

脚本在服务器上运行,使用 supervisor 进行管理。在服务器(centos6)上安装 supervisor,然后在 /etc/supervisor.conf 中加入一下配置

然后在终端中运行 supervisord 启动 supervisor。在终端中运行 supervisorctl,进入 shell,运行 status 查看脚本的运行状态。

总结

这个小监控思路很清晰,还可以继续修改,比如:监控特定的接口,发送短信通知等等。

因为有日志库,就少了去线上正式环境扫描日志的麻烦,所以,如果没有日志库,就要自己上线上环境扫描,在正式线上环境一定要小心哇~

(原文链接:http://u6.gg/fuAEW)

第20期 Python零基础入门班

51Reboot 第20期 Python 零基础运维自动化【入门班】正在火热招生中,详情添加wechat:17812796384

相关推荐

不小心抹掉了mac内置的磁盘(不小心抹掉了mac内置的磁盘怎么恢复)

因为你进入的是恢复磁盘,恢复磁盘是基于mac的。自己不能抹掉自己吧。所以抹不掉。如果你要彻底抹掉的话,开机按option+command+r,wifi下载网络恢复磁盘,就可以抹掉了。您可以按住COMM...

开机界面切换用户不见了win7
开机界面切换用户不见了win7

开始--运行(或者WIN+R),键入“msconfig”,单击“确定”或回车,运行“系统配置实用程序”。在“启动”里把“Ctfmon.exe”选中,单击“确定”开始--运行,输入“ctfmon.exe”回车,再输入“msconfig”启动,...

2025-12-13 00:03 off999

win7旗舰版进入安全模式(win7旗舰版进入安全模式无法启动)

win7安全模式怎么进?  一、开机时按F8键  当你重启或开机时,在进入Windows系统启动画面之前按下F8键,会出现系统多操作启动菜单,有三个版本的安全模式可以选择,回车就直接进入安全模式。  ...

ps手机版下载中文免费版2025

ps2023对电脑要求高。ps2022版本对电脑配置要求是:1、内存要求在一32G和64G之间。2、硬盘要求选择7200转机械硬盘,4k以上分辨,就选择SSD固态硬盘。3、CPU要求睿频在4.1GHZ...

苹果电脑如何下载windows系统

下载后安装BootCamp,之后在[应用程序]的[实用程序]中找到BootCamp助理,下面就可以开始安装Windows前的准备工作了。  第一步是要用BootCamp助理刻录一张驱动程序的CD...

efi系统分区什么意思(efi系统分区的作用)

ud空间是指存放PE启动文件的分区;efi空间是指存放UEFI启动文件的分区。系统U盘(PE启动盘)的制作方法,一共分为三种。三分区法是其中的一种,三分区法就是一个U盘被分成了三个区,两边的分区是隐藏...

无需u盘重装系统(无需u盘安装系统)

可以通过以下步骤在不使用U盘的情况下重装Win7系统:首先需要备份您的电脑中的重要数据,以免在系统重装时丢失。进入系统的“控制面板”,找到“系统与安全”选项并单击进入。在“系统与安全”页面中,找到“备...

改无线网密码的网址(改无线网密码的网站)

  移动宽带无线网改密码,可以在移动网上营业厅办理,但更简单的办法是通过短信办理(详见如下第2条):  移动无线宽带短信操作方式:  1)开通业务:编写短信“KTWLAN”发送至10086。  注:短...

英伟达驱动怎么更新(英伟达驱动在哪儿更新)
  • 英伟达驱动怎么更新(英伟达驱动在哪儿更新)
  • 英伟达驱动怎么更新(英伟达驱动在哪儿更新)
  • 英伟达驱动怎么更新(英伟达驱动在哪儿更新)
  • 英伟达驱动怎么更新(英伟达驱动在哪儿更新)
c盘满了却不敢删(c盘满了清不掉)

1、运用磁盘清理软件清理C盘,大约可为C盘释放50M-800M空间。2、关闭休眠功能,在开始菜单的运行里输入powercfg-hoff指令,关闭休眠,此文件实际大小和物理内存是一样的,大约可以...

联想笔记本电脑怎么打开摄像头
联想笔记本电脑怎么打开摄像头

联想笔记本怎么打开摄像头?1、点击电脑开始菜单栏,在弹出的窗口中点击【设置】。2、在”隐私和安全性“面板中点击【相机】选项。3、将【摄像头访问】右侧的开关打开。材料/工具:以联想Y460笔记本为例。操作步骤如下:1、在电脑的桌面,打开我...

2025-12-12 19:51 off999

win732纯净版系统gho(win732纯净版下载)

一,win7x32gho指的是32位的Windows7操作系统,gho指的是ghost方式封装的镜像文件,一般这种都是盗版系统。二,如果自己需要安装64位系统就不要选这个,内存低于3GB可以安装win...

pscs6激活账户(pscs6激活账户和序列号免费)

pscs6破解补丁是AdobePhotoShopCs6版本的破解激活补丁,使用后不会弹出购买窗口,实现完美破解,无任何限制破解版软件扩展功能好像不好用!要用需要的扩展功能可以在网上下载需要的插件...

键盘皮肤下载(键盘皮肤下载软件免费有音效)

1、vivo自带的输入法不能更换键盘皮肤;2、建议可以下载第三方输入法更换皮肤,比如:搜狗输入法等;3、下载第三方输入法之后需要在设置-更多设置-输入法中设置为第三方的输入法使用;4、然后在输入法界面...

win11如何格式化硬盘(win11硬盘分区怎么改成gpt)

win11系统格式化电脑和硬盘的方法如下1、打开本地磁盘管理页面,右键点击需要格式化的磁盘,选择【格式化】。2、在弹出的窗口中,勾选【快速格式化】,点击【开始】。3、最后等待格式化完成即可。1.首先我...

取消回复欢迎 发表评论: