# python3 访问 若依-Vue 后端 端口 服务器是2核1G的配置,为了防止若依被挤掉,并且及时发现,写了一个程序监控。 服务器是2核1G的配置 Centos7,安装了宝塔面板 ,安装了Python3 环境。运行一个7×24小时若依程序,版本3.18。是前后端分离的一个程序。之前安装了几个比较占内存的应用。然后没想到竟然让若依程序挂掉了几分钟,具体表现就是磁盘io量过大,延迟很高。打开前端后,显示后端接口访问异常。在我安装编译Python环境时,甚至出现了若依程序无故消失。由于源于未知,因此写了一个小程序来监控后端端口。 {{< image src="https://cdn.ftls.xyz/images/2022/01/202101182.png" caption="高io读取延迟">}} 具体的一个原理就是访问端口时能够返回一串数据。其实可以在java里写controller,然后把这个API暴露出来。定时访问来监控程序和设备运行情况。我这里没有那么复杂,我直接访问了一个后端端口,返回 `欢迎使用RuoYi后台管理框架,当前版本:v3.8.1,请通过前端地址访问。` 原理是Python访问后端端口,比对字符串,如果访问成功并且正确返回数据,就代表后端正常。如果超时,就表示后端异常。然后将访问的结果,通过 WebHook 发送到企业微信群机器人中。然后将这个Python程序在宝塔定时任务中设置好。就可以正常使用了。 文件 /home/ruoyi/status.py ``` python import requests import time # 获取数据信息 url = 'http://0.0.0.0:80' run = '欢迎使用RuoYi后台管理框架,当前版本:v3.8.1,请通过前端地址访问。' status = '后端异常' t = time.strftime('%Y-%m-%d %H:%M:%S') try: text = requests.get(url, timeout=5).text if text==run: status = '后端接口正常' else: status = '不同' s = '成功访问' except requests.exceptions.RequestException as e: s = '异常' print(e) print(t) print(s) print(status) # 微信发送 headers = { 'Content-Type': 'application/json', } # key 是 webhook 群机器人提供的,注意不要散播出去 params = (('key', '12345678-1234-1234-1234-123456789012'),) content = t+'\\n>'+s+'\\n>'+status+'\\n' content = content.encode('utf-8').decode('latin-1') data = '{"msgtype": "markdown","markdown": { "content": "'+content+ '" } }' response = requests.post('https://qyapi.weixin.qq.com/cgi-bin/webhook/send', headers=headers, params=params, data=data) # print(response.content.decode()) ``` 在宝塔定时任务里设置 python3 /home/ruoyi/status.py。设置好间隔之后就可以正常使用了。 定时任务日志: ``` HTTPConnectionPool(host='0.0.0.0', port=80): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) 2022-01-12 10:13:25 异常 后端异常 ---------------------------------------------------------------------------- ★[2022-01-12 10:13:25] Successful ---------------------------------------------------------------------------- 2022-01-12 10:15:34 成功访问 后端接口正常 ---------------------------------------------------------------------------- ★[2022-01-12 10:15:35] Successful -------------------------------------------------------------------------------------------- ``` 企业微信: {{< image src="https://cdn.ftls.xyz/images/2022/01/20220118.jpg" caption="企业微信效果">}}