首页   快速返回

prometheus VS influxdb     所属分类 prometheus
InfluxDB
InfluxData 公司使用 go 实现的时间序列数据库,
InfluxDB 的口号之一就是:From the ground up,没有任何外部依赖,就一个可执行文件,丢到服务器上就可以运行,对运维非常友好。
语法的设计很大程度受到 OpenTSDB 的启发。项目初期自带集群功能,可以轻松地实现横向扩展,但是在 1.0 之后集群功能被删除,
取而代之的是通过 Relay 模式实现高可用


Prometheus
SoundCloud 开源的监控系统,已提交给开源社区独立运营。 
Cloud Native Computing Foundation 下 只有 k8s 和 Prometheus 两个项目。

InfluxDB只是数据库,而 Prometheus 是一个监控系统,包含了时序数据库,还有抓取、检索、绘图、报警功能。


参考 Google 内部的 Borgmon 系统 ,基于拉(pull)模式

《Site Reliability Engineering》

SRE

InfluxData 公司也推出了整套的围绕时间序列数据库的解决方案:TICK,数据获取(Telegraf )、存储和查询(InfluxDB)、图表绘制(Chronograf )、报警(Kapacitor )。
Elastic   围绕 ElasticSearch 核心功能,加上  Logstash,Kibana, Bea 、Watcher 等组件  

指标监控 日志监控

Push vs Pull

Prometheus 提供 pushgateway 来支持 push 模式

查询语法

磁盘 IO 时间 指标

时间戳           metric: 值  tag
1565052526862 disk_io_time:10  type="sda" 
1565052526862 disk_io_time:30 type="sdb"
1565052526862 disk_io_time:11 type="sdc"
1565052526862 disk_io_time:18 type="sde"


SELECT mean("value") FROM "disk_io_time" WHERE $timeFilter GROUP BY time($interval), "instance" fill(null)
SELECT mean("value") *1024 FROM "disk_io_time" WHERE $timeFilter GROUP BY time($interval), "instance" fill(null)
SELECT derivative(mean("value"), 10s) *1024 FROM "disk_io_time" WHERE $timeFilter GROUP BY time($interval), "instance" fill(null)


disk_io_time
disk_io_time*1024
rate(disk_io_time)*1024

维度之间的计算
sda 和 sdc 的 io 时间相加 , InfluxDB暂不支持
 
rate(disk_io_time{type="sda"}) + rate(disk_io_time{type="sdc"})

上一篇     下一篇
aerospike write-block-size 参数说明

kubernetes核心概念

为何Hashtable ConcurrentHashmap不允许key 和 value为null

go语言历程

go语言特性及优点

lua local function 与 function 区别