2 个不稳定版本
0.39.2 | 2021年1月25日 |
---|---|
0.37.0 | 2020年11月21日 |
#54 in #influx-db
86KB
1.5K SLoC
ckb-analyzer
ckb-analyzer 是一个收集 ckb 的指标并写入处理后的指标信息到 InfluxDB 的代理程序。我们可以在 Grafana 或其他可视化工具中可视化这些指标。
ckb-analyzer 正在快速发展中。
安装
从 发布版 下载或
cargo install ckb-analyzer
用法
ckb-analyzer 读取几个环境变量
CKB_ANALYZER_CONFIG
指定配置文件路径CKB_RPC_USERNAME
指定 ckb rpc 服务的授权用户名,默认为""
CKB_RPC_PASSWORD
指定 ckb rpc 服务的授权密码,默认为""
INFLUXDB_USERNAME
指定 influxdb 用户名,默认为""
INFLUXDB_PASSWORD
指定 influxdb 密码,默认为""
命令示例
CKB_ANALYZER_CONFIG=config/test.toml ckb-analyzer
主题和测量
-
规范链
- 已提交的交易和提议的交易
- 每秒交易数
- 区块时间间隔
- 纪元叔伯数量和叔伯比率
- 纪元持续时间和长度
- 纪元调整
-
网络分布
- 网络中 tip 的分布
- 网络中版本分布
-
规范链重组
- 流量
- 规模
-
节点的规范链增长
-
节点的叔伯块(其中一些可能不包括在规范链叔伯中)
- 流量
-
矿工
- 指定区块的矿工节点(ip 或锁参数)
-
交易转换(主要关注交易流量和状态转换延迟)
- 挂起
- 挂起时间过长
- 提议
- 提议时间过长
- 提交
- 移除(带有原因,拒绝,冲突等)
- 重组
-
节点的 tx-pool 状态
- 挂起/提议池大小/循环
-
处理成本(通过 ckb 内部指标服务)
- 验证区块
- 验证交易
-
网络中的交易和区块传播
- 已连接节点的数量
- 传播耗时
- 高延迟传播
-
记录的事件
- 错误和警告事件
- 足够的事件,通过正则表达式模式识别;更好地组织这些日志
调试套件
-
持久化最近的事务(调试套件)
-
重现上下文
监控警报
-
数据源问题
- 长时间没有更新
-
网络分叉,存在具有相同区块号的区块不同哈希值的节点
-
矿工问题
- 链长时间不增长
- 节点接收过多的叔父区块
-
链增长问题
- 区块时间间隔比阈值短/长
- 大的纪元调整
-
交易过渡问题
- 在某个状态下有太多的事务
-
记录的问题
仪表板
请参考我们的Grafana仪表板文件,链接为:dashboards
常见问题解答
-
ckb本身暴露了指标。那么为什么创建ckb-analyzer?
一些指标不方便从ckb暴露,例如历史链指标和复杂的分析任务。通过ckb-analyzer,我们可以通过提取历史区块来显示历史链信息,并在ckb外部执行一些复杂任务,从而避免在ckb中增加过多的复杂性。
-
为什么使用InfluxDB?
通过HTTP主动推送指标到InfluxDB非常有用!
许可证:MIT
依赖关系
~91MB
~1.5M SLoC