当前位置:首页 > 知识 > 网站监控源码

网站监控源码

2026-10-17 06:04:03 [探索] 来源:力不从心网

网站监控源码

凌晨三点,网站我盯着终端里滚动的监控日志,一个404状态码跳了出来。源码那是网站我自己的服务器,某个爬虫正试图访问一个不存在的监控路径。没人会在这个点手动敲URL,源码除非是网站脚本在扫描漏洞。监控源码的监控价值,在这一刻变得具体——它让你看见那些看不见的源码访问者。

写监控系统,网站核心就一句话:定时请求,监控记录响应,源码异常告警。网站但真做起来,监控坑比想象多。源码第一版我用了Python的requests库,每五分钟GET一次首页,检查状态码是不是200。简单粗暴,跑了一周,发现服务器宕机两小时都没察觉——因为那两小时里,网站恰好返回200(缓存页面)。你看,监控本身也会骗人。

后来改成检查页面里的关键字符,比如标签内容。要是返回的HTML里没有“我的博客”四个字,就算HTTP 200也当故障处理。这个改动救了两次命,一次是数据库连接池耗尽导致页面白屏,一次是CDN回源失败返回了默认欢迎页。监控要监控“业务成功”,不是“请求成功”。</p> <p>代码结构其实很朴素。一个主循环,里面塞三个函数:<code>fetch_url()</code>负责请求,设置10秒超时;<code>parse_response()</code>提取状态码、响应时间、页面大小;<code>compare_with_threshold()</code>把结果和预设规则比对。规则存在JSON文件里,比如<code>{ "url": "https://example.com", "max_response_time": 2000, "expected_string": "欢迎"}</code>。改规则不用动代码,改配置就行。</p> <p>告警部分最折腾。邮件太慢,短信要钱,最后选了Telegram Bot——免费,推送快,还能带截图。代码里就几行:<code>requests.post(f"https://api.telegram.org/bot{ token}/sendMessage", data={ "chat_id": chat_id, "text": message})</code>。但有个坑:Telegram在某些网络环境下会被墙,所以告警通道本身也得监控,不然服务器挂了,告警也发不出去,等于白搭。</p> <p>存储这块,我没用数据库,直接写JSON文件。每天一个文件,按时间戳命名,记录每次检查的结果。文件大小一天也就几百KB,攒一年才几百MB,硬盘完全扛得住。真出了事,用grep搜时间戳,比查数据库还快。有人觉得这不够“工程化”,可个人站长要的是实用,不是架构评审。</p> <p>还有个细节容易被忽略——<strong>监控脚本本身会崩</strong>。Python进程被OOM killer干掉,或者服务器重启后没设开机自启,监控就静默失效了。我的解决办法是crontab里写两行:一行跑监控,一行检查监控进程是否活着,死了就重启。虽然笨,但管用。</p> <p>现在这套源码跑在树莓派上,功耗五瓦,已经连续运行了214天。偶尔半夜收到告警,爬起来看,多数是某个外部API超时,不是自己网站的问题。但那种“知道发生了什么”的感觉,比睡个安稳觉踏实。监控源码的价值不在于代码多漂亮,而在于它把不确定性变成了可处理的日志。</p> <p>说到底,写监控就是写一种对失控的恐惧。你越清楚系统会怎么挂,就越能在它挂之前做点什么。源码里没有魔法,只有对HTTP协议的敬畏,和对“一切都会出问题”这个事实的坦然接受。</p> </article> <p style="text-align:right;">(责任编辑:时尚)</p> </div> <div class="dede_pagess"> <ul class="pagelist"> </ul> </div> <div class="g-box10"> <div class="t-2">相关内容</div> <ul class="b-box12"> <li ><a href='http://www.79wt.cn/news/1758a799817.html' target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180314/zx1E-fysfzei9581472.jpg?zdy" alt="偏执性精神障碍患者自称神仙" />偏执性精神障碍患者自称神仙</a></li> <li ><a href='http://www.79wt.cn/news/1643e099835.html' target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180315/WfG9-fyscsmv9981609.jpg?zdy" alt="金太阳网站" />金太阳网站</a></li> <li ><a href='http://www.79wt.cn/news/1877f099812.html' target="_blank"><img src="http://n.sinaimg.cn/translate/w600h397/20180311/WaOj-fxpwyhw9423754.jpg?zdy" alt="seo关键词优化方法" />seo关键词优化方法</a></li> <li ><a href='http://www.79wt.cn/news/773c099226.html' target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180311/PIjE-fxpwyhx0515356.jpg?zdy" alt="网安整改报告" />网安整改报告</a></li> <li ><a href='http://www.79wt.cn/news/096c999894.html' target="_blank"><img src="http://n.sinaimg.cn/translate/w899h559/20180310/DXjP-fxpwyhw8148878.jpg?zdy" alt="防止信息泄露的通知" />防止信息泄露的通知</a></li> </ul> <ul class="b-box13"> <li ><a href='http://www.79wt.cn/news/0d899991.html' target="_blank">web项目怎么部署到tomcat服务器</a></li> <li ><a href='http://www.79wt.cn/news/1041e099895.html' target="_blank">代码安全检测</a></li> <li ><a href='http://www.79wt.cn/news/77c099922.html' target="_blank">提升郑州文化传播力 影响力 渗透力研究</a></li> <li ><a href='http://www.79wt.cn/news/431a099568.html' target="_blank">web安全包括哪些方面</a></li> <li ><a href='http://www.79wt.cn/news/832d799160.html' target="_blank">托幼机构教学实训课程标准</a></li> <li ><a href='http://www.79wt.cn/news/1775c099822.html' target="_blank">勒索病毒攻击主要基于下列哪个端口</a></li> <li ><a href='http://www.79wt.cn/news/1959b099804.html' target="_blank">易语言局域网扫描</a></li> <li ><a href='http://www.79wt.cn/news/653d099346.html' target="_blank">利用游戏漏洞获得游戏道具</a></li> <div class="cl"></div> </ul> </div> </div> </div> <div class="right-1 fr"> <div class="g-box8"> <div class="t-2">推荐文章</div> <ul> <li > <p ><a href="http://www.79wt.cn/news/6f999984.html" target="_blank">工具图片素材大全</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/6f999984.html" target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180308/z2uw-fxpwyhv9306507.jpg?zdy" alt="工具图片素材大全" /></a> <span class="pic_r">我电脑里存着超过两万张工具图片。螺丝刀、扳手、电钻、锤子——不是那种产品渲染图,而是带锈迹、带划痕、带使用痕迹的真实工具。这些图片最初的用途很朴素:写维修教程时配图用。但后来我发现,它们成了另一种东西 ...<a href="http://www.79wt.cn/news/6f999984.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/596d099403.html" target="_blank">苹果手机怎么用外网软件</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/596d099403.html" target="_blank"><img src="http://n.sinaimg.cn/translate/w900h600/20180310/l8Y8-fxpwyhw8464581.jpg?zdy" alt="苹果手机怎么用外网软件" /></a> <span class="pic_r">苹果手机想装外网软件,绕不开App Store的区域限制。国区账号搜不到TikTok、Instagram这些应用,这是事实。但别急着泄气,解决办法其实就一条路:换个海外Apple ID。 我去年帮朋友 ...<a href="http://www.79wt.cn/news/596d099403.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/1756e099824.html" target="_blank">沈阳招聘群二维码</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/1756e099824.html" target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180313/Y2UD-fyscsmu9771331.jpg?zdy" alt="沈阳招聘群二维码" /></a> <span class="pic_r">沈阳的招聘群里,二维码贴得比外卖传单还勤。我上个月亲眼看见某商场保洁主管蹲在消防通道里,举着手机让人扫他那张皱巴巴的群码——不是招保洁,是招“会修自动扶梯的”,月薪开四千,群里三十七个人,没一个能接话 ...<a href="http://www.79wt.cn/news/1756e099824.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/743b099256.html" target="_blank">百度搜索安全验证怎么回事</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/743b099256.html" target="_blank"><img src="http://n.sinaimg.cn/front/w634h634/20180314/Aybx-fyscsmv4173820.jpg?zdy" alt="百度搜索安全验证怎么回事" /></a> <span class="pic_r">你正在百度上搜东西,突然页面弹出一个框,要求你拖拽滑块或者识别文字。明明网速正常,偏偏卡在这一步,烦不烦? 这玩意儿叫“安全验证”,百度官方说法是“为了保障您的网络安全”。说白了,它觉得你像个机器人, ...<a href="http://www.79wt.cn/news/743b099256.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/770e199228.html" target="_blank">metasploit扫</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/770e199228.html" target="_blank"><img src="http://n.sinaimg.cn/translate/w900h674/20180314/8nxM-fyscsmv3267249.jpg?zdy" alt="metasploit扫" /></a> <span class="pic_r">凌晨两点,我盯着屏幕上那个跳动的光标。Metasploit的banner刚刷完,一行行模块名像货架上的武器陈列着。我敲下use exploit/windows/smb/ms17_010_eternal ...<a href="http://www.79wt.cn/news/770e199228.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/630c099369.html" target="_blank">基金申请</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/630c099369.html" target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180312/feiO-fyscsmu5771888.jpg?zdy" alt="基金申请" /></a> <span class="pic_r">实验室的日光灯管坏了一根,忽明忽暗地闪。我坐在电脑前,第无数次打开那份标着“终版”的基金申请书——其实心里清楚,这绝不可能是终版。光标在“研究目标”那一栏闪烁,像那只垂死的灯管一样犹豫。 隔壁课题组的 ...<a href="http://www.79wt.cn/news/630c099369.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/490e099509.html" target="_blank">seebug漏洞平台</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/490e099509.html" target="_blank"><img src="http://n.sinaimg.cn/translate-21/750/w930h620/20180315/7QC4-fyshfup9491061.jpg?zdy" alt="seebug漏洞平台" /></a> <span class="pic_r">知道一个漏洞,和知道一个漏洞能卖多少钱,是两码事。Seebug漏洞平台最吸引我的地方,恰恰是它把这两件事放在同一个页面里。 打开Seebug的首页,你看到的不是那种花里胡哨的科技感大图,而是一排排密密 ...<a href="http://www.79wt.cn/news/490e099509.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/1274d099872.html" target="_blank">济南市教育系统网络安全培训</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/1274d099872.html" target="_blank"><img src="http://n.sinaimg.cn/news/1_img/cfp/2b0c102b/w1024h701/20180315/HUgb-fyscsmv8852859.jpg?zdy" alt="济南市教育系统网络安全培训" /></a> <span class="pic_r">2023年9月,济南市某区属中学的教务系统遭勒索病毒攻击,全校两千多名学生的成绩单和学籍档案被加密,黑客索要比特币赎金。学校信息技术老师连夜打电话给市电教馆,得到的回复是:“备份呢?你们没做离线备份? ...<a href="http://www.79wt.cn/news/1274d099872.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/1599e199839.html" target="_blank">渗透测试的服务范围</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/1599e199839.html" target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180313/nla2-fyscsmu9453542.jpg?zdy" alt="渗透测试的服务范围" /></a> <span class="pic_r">拿下一台服务器的控制权,往往不是因为对方用了多高深的漏洞,而是因为他们忘了给测试环境加访问限制。去年某银行的外包系统,开发人员把后台管理页面挂在公网,密码是admin/admin。我花五分钟进去,数据 ...<a href="http://www.79wt.cn/news/1599e199839.html">[详细]</a></span> </div> </li> <li > <p ><a href="http://www.79wt.cn/news/1199a099880.html" target="_blank">漫画cms程序</a></p> <div class="dis_pi"> <a href="http://www.79wt.cn/news/1199a099880.html" target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180311/p0QE-fxpwyhw8986838.jpg?zdy" alt="漫画cms程序" /></a> <span class="pic_r">把漫画网站后台掀开来看,那套能让你上传图片、排章节、收评论的程序,圈内人叫它CMS。我折腾过七八套,从WordPress到专门给漫画用的Mangapress,再到自己搓的简易版,得说句实话——漫画CM ...<a href="http://www.79wt.cn/news/1199a099880.html">[详细]</a></span> </div> </li> </ul> </div> <script type="text/javascript">jQuery(".g-box8").slide({ titCell:"li",triggerTime:0 }); </script> <div class="g-box3 u-3"> <div class="t-1">热点阅读</div> <ul class="b-box2"> </ul> </div> <div class="g-box9"> <div class="t-2">随机内容</div> <ul class="b-box10"> <li ><p ><a href="http://www.79wt.cn/news/02b999988.html" target="_blank">排名点击软件</a></p><a href="http://www.79wt.cn/news/02b999988.html" target="_blank"><img src="http://n.sinaimg.cn/front/w838h3350/20180311/bdvc-fxpwyhx1150304.jpg?zdy" alt="排名点击软件" /></a></li> <li ><p ><a href="http://www.79wt.cn/news/731d099268.html" target="_blank">微信支付海外版</a></p><a href="http://www.79wt.cn/news/731d099268.html" target="_blank"><img src="http://n.sinaimg.cn/news/transform/w600h400/20180311/1aVq-fxpwyhw8938961.jpg?zdy" alt="微信支付海外版" /></a></li> <div class="cl"></div> </ul> <ul class="b-box7"> <li ><a href="http://www.79wt.cn/news/1617d799831.html" target="_blank">国外在线播放网站</a></li> <li ><a href="http://www.79wt.cn/news/852b099147.html" target="_blank">广西教学仪器反渗透实验装置厂家</a></li> <li ><a href="http://www.79wt.cn/news/1061f099893.html" target="_blank">漏洞学校</a></li> <li ><a href="http://www.79wt.cn/news/1079f099892.html" target="_blank">风险漏洞排查情况报告</a></li> <li ><a href="http://www.79wt.cn/news/1681c199830.html" target="_blank">网络诈骗心得体会500字免费</a></li> <li ><a href="http://www.79wt.cn/news/381b099618.html" target="_blank">如何黑进一个网站</a></li> <li ><a href="http://www.79wt.cn/news/1815b099818.html" target="_blank">检测到csrf攻击是什么意思</a></li> </ul> </div> </div> <div class="cl"></div> </div> <div class="link"> <div class="link-t"> <h4>友情链接</h4> <span >接受PR>=1、BR>=1,流量相当,内容相关类链接。</span> </div> <ul> <div class="cl"></div> </ul> </div> <div class="footer"> <p >Copyright ©2026 Powered by <a href="http://www.79wt.cn/news/428e499567.html">网站监控源码</a>,<a href="http://www.79wt.cn/">力不从心网</a>   <a href="http://www.79wt.cn/sitemap.xml">sitemap</a></p> </div> </body> </html>