将RingServer中的日志导出为infloxDB时间序列

ringserverstats的Python项目详细描述


RingServerStats

分析ringserver报告,计算统计数据并存储在infloxdb中。

ringserver activity

ringserver statistics by day

ringserver statistics by month

安装

RingServerStats作为一个通用轮分布在Pypihttps://pypi.org上。

    $ pip install ringserverstats

infloxDB配置

这个程序将填充2个测量值。您应该为这些配置一个数据库,并为用户配置写权限。

准备数据库

首先,创建数据库、用户和保留策略。

createdatabaseringserverdbcreateuserringserverwithpassword'ringserverer'grantwriteonringserverdbtoringservergrantreadonringserverdbtoringservercreateretentionpolicyrp_ringservereventsonringserverduration1wreplication1createretentionpolicyrp_ringserverstatsonringserverduration520wreplication1

用法

要正常工作,此程序需要设置以下环境变量:

  • INFLUXDB_HOST:infloxdb服务器的主机名或地址
  • INFLUXDB_PORT:infloxdb服务器的端口号
  • INFLUXDB_USER:要向其进行身份验证的infloxdb用户
  • INFLUXDB_PASS:要验证的密码
  • INFLUXDB_DB:包含度量的数据库名称
  • INFLUXDB_VERIFY_SSL:设置为yesno以验证ssl连接
  • INFLUXDB_SSL:连接应该转到https吗?
$ ringserstats txlogs.log

解释

来自ringserver的tx日志是适合时间序列数据库的度量。其思想是解析日志,如下面的示例所示,并生成值以插入infloxdb timeseries数据库。

可以将文件grafana-dashboard.json导入grafana以可视化此时间序列。

infloxDB中使用的标记:

showtagkeysfromringservereventsshowtagkeysfromringserverstats

事件

RingServerEvents度量值有几个标记:

  • 网络、电台、位置、频道:请求了哪些数据
  • geohash:geohash格式的客户端位置
  • hosthash:客户端IP的哈希(用于关联客户端请求)
  • 城市:英文城市名

分组和下采样

由于长期存储事件的相关性不大,ringserverstats度量按天、按主机、按网络、站点、位置和通道对所有事件进行分组。 上面描述的保留策略将管理数据存储在infloxdb中的时间。

为了实现下采样,我们使用infloxdb的连续查询。这是创建连续查询的示例:

createcontinuousquery"cq_ringserverstats_by_day"onresifresamplefor3dbeginselectsum("bytes")asbytesinto"rp_ringserverstats"."ringserverstats"from"rp_ringserverevents"."ringserverevents"groupbytime(1d),network,station,location,channel,city,hosthash,geohashend

此查询每天(从group by time(1d)指令)执行,并将在过去的3天(指令resample for 3 d)重新采样,生成3个条目(每天一个)。已覆盖现有条目。

infloxdb连续查询的文档如下:https://docs.influxdata.com/influxdb/v1.7/query_language/continuous_queries/

许可证

ringserverstats根据gpl v3或更高版本的条款分发。请参阅许可证文件。

构建

python3 setup.py sdist bdist_wheel

测试

tox

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android使用两个后台服务错误   解压缩HTTPInputStream时,java GZIPInputStream过早关闭   javax和javax的区别是什么。网ssl。密钥库和服务器。ssl。为SpringBoot应用程序指定密钥库时的密钥库属性   java生成两个JPanel,而我只需要一个   java深度链接从play store安装应用程序时获取数据   java 安卓应用程序在退出时未正确释放蓝牙   java正确使用setCellValueFactory   java开放JdbcTemplate连接处于只读模式?   使用Spring MVC创建服务时发生java错误   JavaFX获取安装在计算机中的特定应用程序的版本   SecureRandom的安全问题:PRNG在java 1.5中不一致   windows我可以创建一个独立的。带Inno设置的Java应用程序的exe安装程序?   如何使用JavaServlet下载csv文件?   java从生成的缓冲图像中添加图像作为jasper中的数据记录?   java日期和时间解析