实时抓取网页数据(小型PHP/PythonWeb应用程序的使用情况统计信息统计解析 )
优采云 发布时间: 2022-03-24 12:02实时抓取网页数据(小型PHP/PythonWeb应用程序的使用情况统计信息统计解析
)
首先,值得一提的是,有现成的工具可以提供这种图形功能。我对一个叫做 munin 的软件有很好的经验。但默认情况下它可能太慢(每 5 分钟更新一次)。不知道你是否可以加快速度。
您可以按照建议将 top 输出写入文件并解析它,或者您可以从小型 PHP/Python Web 应用程序中的页面处理程序调用 top,解析其输出并按需将其作为 JSON 提供。
编写一些东西来使用库获取指标并根据需要以 JSON 格式提供结果可能比解析顶部输出更简单。
在 python 中,我使用 Psutil 和 Flask 做了类似的事情。如果您更喜欢其他语言,则必须有类似的库。
下面提供了 CPU 使用统计的示例代码片段。您可以使用相同的程序来提供收录 HTML + javascript 的 HTML 页面来呈现图形。使用 Flask 的内置网络服务器,非常独立。缺点是您需要在 Pi 上安装两个依赖项。
import time
import psutil
import flask
app = flask.Flask(__name__)
@app.route("/stats/cpu.json")
def stats_cpu():
cpu_time_pct = psutil.cpu_times_percent()
d = {
'time': time.time(),
'user': cpu_time_pct.user,
'system': cpu_time_pct.system,
'idle': cpu_time_pct.idle,
}
# flask.jsonify returns the dict as json with the
# proper content-type header
return flask.jsonify(**d)
if __name__=="__main__":
app.run(debug=True)
要使其运行,请保存到文件(例如 example.py)和 shell:
$ apt-get install python-pip
$ pip install flask psutil
$ python example.py
然后访问 localhost:5000/stats/cpu.json。您可以使用 jquery 定期获取和更新图形。响应应该类似于:
{
"idle": 89.1,
"system": 3.9,
"time": 1457475545.336526,
"user": 6.9
}