InfluxDB简介.md
简介
InfluxDB 是一个开源,分布式,时间序列,事件,可度量和无外部依赖的数据库。
InfluxDB有三大特性:
- Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求和等)
- Metrics(度量):你可以实时对大量数据进行计算
- Events(事件):它支持任意的事件数据
安装
influxdb就一个rpm包,没有其他依赖,是用go语言写的。
influxdb会监听4个端口
tcp 0 0 0.0.0.0:8099 0.0.0.0:* LISTEN 29458/influxdb
tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 29458/influxdb
tcp 0 0 0.0.0.0:8086 0.0.0.0:* LISTEN 29458/influxdb
tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN 29458/influxdb
其中单机使用只需要用到两个,另外两个是分布式部署时采用的
- 8083 WEB管理端 http://ip:8083 用户名和密码都是 root
- 8086 HTTP API接口调用服务
数据结构
在 influxdb 中 database 、 series、point 分别类似于数据库系统中的 数据库、表、列的概念。
所有的数据项在创建时都会自动增加两个字段:
- time 数据创建的时间,时间戳类型
- sequence_number 字段是 influxdb 数据库维护的,类似于mysql的 主键概念
基本使用
- 查询库中包含的所有表
list series;
InfluxDB 增删更查都是用http api来完成,甚至支持使用正则表达式删除数据,还有计划任务。
- 数据插入:
curl -X POST http://localhost:8086/db/mydb/series?u=root&p=root -d '
[
{
"name" : "hd_used",
"columns" : ["value", "host", "mount"],
"points" : [
[23.2, "serverA", "/mnt"]
]
}
]'
比如,发送POST请求到 /db/:name/scheduled_deletes, body如下,
{
"regex": "stats\..*",
"olderThan": "14d",
"runAt": 3
}
这个查询会删除大于14天的数据,并且任何以stats开头的数据,并且每天3:00 AM运行。
参考资料
http://www.cnphp6.com/archives/48007
http://www.cnblogs.com/ghj1976/p/4095073.html
转载请注明:IPCPU-网络之路 » InfluxDB简介