title: "python3 访问 若依-Vue 后端 端口"
subtitle: ""
slug: "20220113"
date: 2022-01-13T17:46:30+08:00
lastmod: 2022-01-13T17:46:30+08:00
draft: false
description: ""
tags: ["Web","宝塔"]
categories: ["代码"]
featuredImage: ""
featuredImagePreview: ""
hiddenFromHomePage: false
lightgallery: true
toc: false
服务器是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
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('<urllib3.connection.HTTPConnection object at 0x7f4ac8097668>: 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="企业微信效果">}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。