Compare commits

..

No commits in common. 'master' and 'test' have entirely different histories.
master ... test

@ -7,8 +7,4 @@ RUBY_ONLINE_SIZE_URL=http://test-data.educoder.net/api/home/online_num
NET_SPEED_PATH=/data/ww/py_sys_monitor/info/net_speed
ACCESS_LOG_PATH=/data/ww/py_sys_monitor/info/access_log
JUNK_PATH=/data/ww/py_sys_monitor/logs/junk
CPU_ALARM_THRESHOLD=70
MEMORY_ALARM_THRESHOLD=70
IO_ALARM_THRESHOLD=70
```

@ -9,11 +9,8 @@ from .route.route import route_bp
def create_app():
app = Flask(__name__)
# CORS(app, supports_credentials=True)
CORS(app, resources={r"/*": {"origins": "*"}}, supports_credentials=True)
# CORS(app, resources={r"/*": {"origins": "*", "methods": "GET,POST,PUT,DELETE,OPTIONS"}}) # 允许所有源访问所有端点
# CORS(app, resources={r"/*": {"origins": ["http://111.8.143.97", "http://113.246.243.98"]}}, supports_credentials=True)
# CORS(app, resources={r"/*": {"origins": "*"}}) # 允许所有源访问所有端点
CORS(app, resources={r"/*": {"origins": ["http://172.16.100.126", "http://113.246.243.98:61136"]}}, supports_credentials=True)
app.register_blueprint(route_bp)
@ -32,7 +29,6 @@ def create_app():
log_file_path = '/data/ww/py_sys_monitor/info/access_log'
def log_request_response(response):
response_data = response.get_json(silent=True)
if "route.get_resource" == request.endpoint:
@ -59,4 +55,4 @@ def create_app():
app.after_request(log_request_response)
return app
return app

@ -3,5 +3,5 @@ import logging
def get_cpu_percent():
cpu_percent = psutil.cpu_percent(interval=1)
logging.debug(f'CPU usage: {cpu_percent}%')
logging.info(f'CPU usage: {cpu_percent}%')
return cpu_percent

@ -3,5 +3,5 @@ import logging
def get_io_percent():
disk_usage = psutil.disk_usage('/')
logging.debug(f'Disk usage: {disk_usage.percent}%')
logging.info(f'Disk usage: {disk_usage.percent}%')
return disk_usage.percent

@ -3,9 +3,7 @@ import os
import requests
import logging
from dotenv import load_dotenv
load_dotenv()
ruby_recent_login_url = os.getenv("RUBY_RECENT_LOGIN_URL", "http://test-data.educoder.net/api/home/online_users.json")
ruby_oline_size_url = os.getenv("RUBY_ONLINE_SIZE_URL", "http://test-data.educoder.net/api/home/online_num")
@ -19,17 +17,13 @@ def get_recent_login_info(page_index=1, page_size=10):
data = {"status":-1,"message":"响应失败"}
try:
url = f"{ruby_recent_login_url}?limit={page_size}&page={page_index}"
response = requests.get(url, timeout=5)
response = requests.get(url)
data = response.json()
response.raise_for_status() # 如果响应状态码不是 200会引发 HTTPError
logging.debug(f"请求{url} 返回参数: {data}")
except ValueError:
logging.info(f"请求{url} 返回参数: {data}")
except requests.exceptions.RequestException as e:
# 处理可能的请求错误
logging.error("online_size解析错误")
except requests.exceptions.HTTPError:
logging.error(f"online_size: {ruby_recent_login_url}请求发生错误")
except requests.exceptions.ConnectTimeout:
logging.error(f"online_size: {ruby_recent_login_url}请求超时")
logging.info(f"recent_login_info请求发生错误: {e}")
return data
@ -42,18 +36,13 @@ def get_online_size():
"""
try:
url = ruby_oline_size_url
response = requests.get(url, timeout=5)
response = requests.get(url)
response.raise_for_status() # 如果响应状态码不是 200会引发 HTTPError
data = response.json()
logging.debug(f"请求{url} 返回参数: {data}")
logging.info(f"请求{url} 返回参数: {data}")
return data.get('data', {}).get('online_num', 0)
except ValueError:
except requests.exceptions.RequestException as e:
# 处理可能的请求错误
logging.error("online_size解析错误")
except requests.exceptions.HTTPError:
logging.error(f"online_size: {ruby_oline_size_url}请求发生错误")
except requests.exceptions.ConnectTimeout:
logging.error(f"online_size: {ruby_oline_size_url}请求超时")
return 0
logging.info(f"online_size请求发生错误: {e}")
return 0

@ -3,5 +3,5 @@ import logging
def get_memory_percent():
virtual_memory = psutil.virtual_memory()
logging.debug(f'Memory usage: {virtual_memory.percent}%')
logging.info(f'Memory usage: {virtual_memory.percent}%')
return virtual_memory.percent

@ -4,9 +4,7 @@ import time
import os
from datetime import datetime, timedelta
from collections import deque
from dotenv import load_dotenv
load_dotenv()
log_file_path = os.getenv("NET_SPEED_PATH", '/data/ww/py_sys_monitor/info/net_speed')
def ensure_log_file_exists():

@ -1,8 +1,6 @@
import os
import json
from dotenv import load_dotenv
load_dotenv()
log_file_path = os.getenv("ACCESS_LOG_PATH", '/data/ww/py_sys_monitor/info/access_log')
def get_request_info(page_index=1, page_size=10):

@ -1,6 +1,5 @@
import os
from flask import Blueprint, request, jsonify
import random
import app.cpu_usage as cpu_usage
import app.io_usage as io_usage
import app.memory_usage as memory_usage
@ -10,15 +9,9 @@ import app.request_info as request_info
import app.imitate_thread as imitate_thread
import app.sys_clean as sys_clean
import app.sys_control as sys_control
from dotenv import load_dotenv
load_dotenv()
route_bp = Blueprint('route', __name__)
cpu_alarm_threshold = float(os.getenv('CPU_ALARM_THRESHOLD', '70'))
io_alarm_threshold = float(os.getenv('IO_ALARM_THRESHOLD', '70'))
memory_alarm_threshold = float(os.getenv('MEMORY_ALARM_THRESHOLD', '70'))
# 资源使用情况
@route_bp.route('/api/sys/resource', methods=['GET'])
def get_resource():
@ -27,7 +20,7 @@ def get_resource():
memory_percent = memory_usage.get_memory_percent()
online = login_info.get_online_size()
status = 0
if cpu_percent > cpu_alarm_threshold or memory_percent > memory_alarm_threshold or io_percent > io_alarm_threshold:
if cpu_percent >= 70 or memory_percent >= 70 or io_percent >= 50:
status = 1
return jsonify({
@ -36,9 +29,6 @@ def get_resource():
'cpu_percent': cpu_percent,
'io_percent': io_percent,
'memory_percent': memory_percent,
'cpu_alarm_threshold': cpu_alarm_threshold,
'io_alarm_threshold': io_alarm_threshold,
'memory_alarm_threshold': memory_alarm_threshold,
})
# 获取过去12小时网络传输速度

@ -5,9 +5,7 @@ import random
import string
from flask import jsonify
import logging
from dotenv import load_dotenv
load_dotenv()
log_directory = os.getenv("JUNK_PATH", '/data/ww/py_sys_monitor/logs/junk')
def get_junk_file():

@ -1,6 +1,5 @@
from app import create_app
from dotenv import load_dotenv
load_dotenv()
app = create_app()
if __name__ == '__main__':

Loading…
Cancel
Save