python bottle框架 运维_基于 bottle 库实现的数据量统计程序: # 基于 python 的 bottle 库实现的数据量统计应用 >需求背景:因公司运维需求,需要对某产品底层数据...

基于 python 的 bottle 库实现的数据量统计应用

需求背景:因公司运维需求,需要对某产品底层数据处理及存储层做数据量统计,需求不多,只是要求在尽量短的时间内,完成各模块数据量统计的趋势图即可。

介于此类研发场景,做为一枚测试人员,需要挑选方便安装、研发成本低的轻量级架构实现需求。

Bottle是一个简单高效的遵循WSGI的微型python Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块,所以部署于 linux 环境中不需要再安装第三方库,只需要将 py 文件复制到程序中引用即可。便于安装、实现简单,使用python 轻量级的 web 开发框架 bottle,即可快速实现需求。

一、系统架构

待补充

二、基本需求梳理

虽然说初始需求只要求尽快的满足数据量统计趋势图即可,但是为提高现场环境实用性,决定增加数据量异常预警。

white_check_mark-9e8cafa6efd2d43e3f6651898be25e75.png 主程序 ns_stat_server.py负责接收各 agent 发向服务端的请求;

@app.route('/index/', method='GET')

@app.route('/', method="GET")

white_check_mark-9e8cafa6efd2d43e3f6651898be25e75.png 根据角色定义统计 agent 程序,分别安装部署在各个模块角色中,负责收集统计信息,上报给 server 端

white_check_mark-9e8cafa6efd2d43e3f6651898be25e75.png 使用 sqlite 数据库保存数据,数据保存30天,过期自动删除

white_check_mark-9e8cafa6efd2d43e3f6651898be25e75.png 支持一键化安装部署,可检测 linux 服务器间信任链接

white_check_mark-9e8cafa6efd2d43e3f6651898be25e75.png 各统计模块采用 crond 定时任务,每小时定时拉起 agent 采集程序

white_check_mark-9e8cafa6efd2d43e3f6651898be25e75.png 选用 echarts 快速实现趋势图需求

三、程序设计

数据抓取 agent 简述

抓取数据接入数据量: interds

interds_agent 调用日志分析工具 DSRunStat,分析返回结果

tornado_agent 使用urllib.urlopen 爬取 tornado 统计界面中数据

crius_agent 调用日志分析工具,分析日志结果

ares_agent 分析入库统计日志数据

es_agent 爬取 Elasticsearch 统计页面数据

四、效果展示

各模块数据量统计图

000117_2b1f1dc0_1662782.png

interds数据量统计图

000137_51411f96_1662782.png

tornado数据量统计图

000208_9b520489_1662782.png

topic数据量统计图

000229_2f3be997_1662782.png

crius数据量统计图

000250_b2036e40_1662782.png

ares数据量统计图

235959_1e378125_1662782.png

elasticsearch数据量统计图

000311_e6597536_1662782.png

按协议统计图

000335_1291b334_1662782.png

数据量异常预警界面

000401_ac559f4c_1662782.png

预警规则

000425_076f57b8_1662782.png

五、部分代码演示

init_db.py 创建统计表

000446_31ac1950_1662782.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值