运维开发网

使用elasticsearch作为TSDB

运维开发网 https://www.qedev.com 2020-03-10 18:44 出处:网络 作者:运维开发网整理
TSDB有不少,例如open TSDB,graphite等,还有最近的新贵influxdb 不过influxdb远远没到可成熟使用。对应的展示工具grafana号称源于kibana,用起来也不那么顺手。 YY:  既然grafana源于kibana,那influxdb是否和elasticsearch会不会也有些关系呢? 转了一圈,回到es上面。 es作为搜索引擎,作为文档型数据库,是不是也可以作为

TSDB有不少,例如open TSDB,graphite等,还有最近的新贵influxdb

不过influxdb远远没到可成熟使用。对应的展示工具grafana号称源于kibana,用起来也不那么顺手。

YY:  既然grafana源于kibana,那influxdb是否和elasticsearch会不会也有些关系呢?

转了一圈,回到es上面。

es作为搜索引擎,作为文档型数据库,是不是也可以作为TSDB呢?

es提供了很强的聚合功能,max,min,avg,percentile,sum,count,还支持脚本和一次多种汇总(stat)

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html

例如,下面的例子显示了如何使用年龄段(20-29,30-39,40-49)分组,然后在用性别分组,

然后为每一个年龄段的每一个性别计算平均账户余额:

curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
{
"size": 0,
"aggs": {
"group_by_age": {
"range": {
"field": "age",
"ranges": [
{
"from": 20,
"to": 30
},
{
"from": 30,
"to": 40
},
{
"from": 40,
"to": 50
}
]
},
"aggs": {
"group_by_gender": {
"terms": {
"field": "gender"
},
"aggs": {
"average_balance": {
"avg": {
"field": "balance"
}
}
}
}
}
}
}
}'

就目前的感觉,es作为项目中的TSDB是足够了,安装配置不复杂,性能足够,操作接口基本都是RESTAPI.

而且ES本身的分布式集群功能也比较完善,支持海量的数据。

前端还有kibana作为面板图展示。

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号