Tick技术栈之InfluxDB,tickinfluxdb


Tick简介

InfluxData公司研发的四款监控开源产品,包括Telegraf、InfluxDB、Chronograf、Kapacitor。其中InfluxDB使用最广泛,是开源的时序数据库,一个比较常见的应用场景为日志存储。Kapacitor提供了基于influxdb的监控报警方案,支持多种数据聚合,选择,变换,预测方法。Chronograf用于对数据进行展示,可以使用功能更强大的Grafana替代。

InfluxDB简介

一种比较流行的时序数据库,使用Golang语言开发,社区活跃度较高,支持多种数据类型,包括Numeric和Strings。提供http接口调用,同时支持sql操作。支持grafana展示。

InfluxDB安装

 

下载源代码

git clone https://github.com/influxdata/influxdb.git

安装依赖包

go get ./...

编译

go build ./...

安装

go install ./...

启动

./nfluxd & > /tmp/influxd.log 2>&1

InfluxDB使用

sql操作

启动客户端

influx -precision rfc3339

创建数据库

create database mydb

展示数据库列表

show databases

使用指定数据库

use mydb

插入一条记录

数据格式:[,=...] =[,=...] [unix-nano-timestamp]

INSERT cpu,host=serverA,region=us_west value=0.64

?查询数据

SELECT "host", "region", "value" FROM "cpu"?

http操作

写入一条记录
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

查询数据

curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT \"value\" FROM \"cpu_load_short\" WHERE \"region\"='us-west';SELECT count(\"value\") FROM \"cpu_load_short\" WHERE \"region\"='us-west'"

相关内容