将rsync守护进程日志导出为infloxdb timeseries
rsyncstats的Python项目详细描述
rsyncstats
解析rsync服务器日志,计算统计数据并存储在infloxdb中。
安装
RingServerStats作为一个通用轮分布在Pypihttps://pypi.org上。
$ pip install rsyncstats
infloxDB配置
这个程序将填充2个测量值。您应该为这些配置一个数据库,并为用户配置写权限。
准备数据库
首先,创建数据库、用户和保留策略。
createdatabasersyncdbcreateuserrsyncwithpassword'rsyncer'grantwriteonrsyncdbtorsyncgrantreadonrsyncdbtorsynccreateretentionpolicyrp_rsynceventsonrsyncduration1wreplication1createretentionpolicyrp_rsyncstatsonrsyncduration520wreplication1
用法
要正常工作,此程序需要设置以下环境变量:
INFLUXDB_HOST
:infloxdb服务器的主机名或地址INFLUXDB_PORT
:infloxdb服务器的端口号INFLUXDB_USER
:要向其进行身份验证的infloxdb用户INFLUXDB_PASS
:要验证的密码INFLUXDB_DB
:包含度量的数据库名称INFLUXDB_VERIFY_SSL
:设置为yes
或no
以验证ssl连接INFLUXDB_SSL
:连接应该转到https吗?
$ ringserstats txlogs.log
解释
rsync中的日志是适合时间序列数据库的度量。其思想是解析日志,如下面的示例所示,并生成值以插入infloxdb timeseries数据库。
可以将文件grafana-dashboard.json
导入grafana以可视化此时间序列。
infloxDB中使用的标记:
showtagkeysfromrsynceventsshowtagkeysfromrsyncstats
rsyncevents度量值有几个标记:
- 模块:传输期间的rsync模块访问
- geohash:geohash格式的客户端位置
- hosthash:客户端IP的哈希(用于关联客户端请求)
- 城市:英文城市名
由于长期存储事件不是很相关,因此rsyncstats
度量按天、按主机和按网络对所有事件进行分组。上面描述的保留策略将管理数据存储在infloxdb中的时间。
许可证
rsyncstats
根据gpl v3或更高版本的条款分发。请参阅许可证文件。
构建
python3 setup.py sdist bdist_wheel
测试
tox