主要观点:长期以来想从现代时间序列数据库(如 Prometheus)数据制作 RRD 风格图表,因rrdtool graph
无直接读 CSV 文件选项起初觉得难,后发现可利用libdbi
从 SQLite 读取数据,实现步骤为提取 Prometheus 数据为 JSON 再转为 CSV 后导入 SQLite 表,最后让rrdtool
从 SQLite 表绘图,具体如下:
- Prometheus 有简单 HTTP API 只返回 JSON,可通过
curl
获取 3 天流量数据,用jq
将 JSON 转换为 CSV 格式。 - 需将数据加载到 SQLite 中,创建表时要注意类型,用
'|cat -'
从标准输入读取数据。 - 要教
rrdtool
使用数据库,定义变量DS_BASE
指定数据库等信息,可追加key=value
对作为WHERE
查询,如绘制多个查询数据会更复杂,注意%27
用于转义'
。最终可生成图表,如文中展示的网络流量图表。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。