InfluxDB使用纪录

我是Mac环境

 

1.安装

brew install influxdb

安装完成后,默认目录为/usr/local/opt/influxdb。

 

2.安装完成后,打开influxdb服务。

$ influxd 

这个是在前台执行,当ctrl+c停止后,就不能访问了,要长期运行,可以使用后台执行:

$ influxd &

 

3.用后台访问influxdb

$ influx

1)创建数据库

> create database mydb

 

2)查看数据库

> show databases
name: databases
---------------
name
_internal
mydb
test

 

3)切换数据库
> use mydb
Using database mydb

 

4)创建用户名、密码
> create user mydb with password 'mydb'

 

5)查看创建的用户

> show users

user admin
hemin false
mydb false

 

6)通过insert创建表,如果你查看帮助,是找不到create table的......

> insert disk_free,hostname=pg20 value=442221834240i 1435362189575692182

 

7)查看数据表

> show measurements
name: measurements
------------------
name
disk_free

 

8)查询表数据

> select * from disk_free
name: disk_free
---------------
time hostname value
1435362189575692182 pg20 442221834240

 

9)删除表

drop measurement disk_free

 

10)删除数据库

drop database mydb

 

series操作

series表示这个表里面的数据,可以在图表上画成几条线,series主要通过tags排列组合算出来

还没有搞懂。

 

4.Http API

1)建立数据库

curl -POST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"

执行这个语句后,会在本地建立一个名为mydb的数据库。

2)删除数据库

curl -POST http://localhost:8086/query --data-urlencode "q=DROP DATABASE mydb"

其实使用HTTP API就是向 InfluxDB 接口发送相应的POST请求。

将语句通过POST方式发送到服务器。

3)创建表

InfluxDB通过HTTP API添加数据主要使用如下格式:

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

说明:db=mydb是指使用mydb这个数据库。

--data-binary后面是需插入数据。

cpu_load_short是表名(measurement),tag字段是host和region,值分别为:server01和us-west。

field key字段是value,值为0.64。

时间戳(timestamp)指定为1434055562000000000。

这样,就向mydb数据库的cpu_load_short表中插入了一条数据。

其中,db参数必须指定一个数据库中已经存在的数据库名,数据体的格式遵从InfluxDB规定格式,首先是表名,后面是tags,然后是field,最后是时间戳。tags、field和时间戳三者之间以空格相分隔。

4)插入多条数据

InfluxDB通过HTTP API添加多条数据与添加单条数据相似,示例如下:

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67
cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257
cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257'

这条语句向数据库mydb的表cpu_load_short中插入了三条数据。

第一条指定tag为host,值为server02,第二条指定tag为host和region,值分别为server02和us-west,第三条指定tag为direction,host,region,值分别为:in,server01,us-west。

4)错误信息

在使用HTTP API时,InfluxDB的响应主要有以下几个:

1)2xx:204代表no content,200代表InfluxDB可以接收请求但是没有完成请求。一般会在body体中带有出错信息。

2)4xx:InfluxDB不能解析请求。

3)5xx:系统出现错误。

 

5.在网页上访问

http://IP:8083

注意,不是https,之前访问不到,仔细看才发现

 

转载于:https://www.cnblogs.com/kuang17/p/7152092.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 `influx` 模块来在 Express 应用中使用 InfluxDB。 首先需要安装 `influx` 模块: ``` npm install influx ``` 然后在 Express 应用中引入 `influx` 模块: ```javascript const Influx = require('influx'); ``` 接下来,可以创建一个 InfluxDB 实例并连接到数据库: ```javascript const influx = new Influx.InfluxDB({ host: 'localhost', port: 8086, database: 'mydb', }); influx.getDatabaseNames() .then(names => { if (!names.includes('mydb')) { return influx.createDatabase('mydb'); } }) .then(() => { app.listen(3000, () => { console.log('Listening on port 3000'); }); }) .catch(err => { console.error(`Error creating Influx database! ${err}`); }); ``` 这个例子中,我们首先创建了一个 InfluxDB 实例并指定了连接的地址和端口号以及数据库名称。然后使用 `getDatabaseNames()` 方法检查数据库是否存在,如果不存在则使用 `createDatabase()` 方法创建数据库。最后启动 Express 应用监听端口。 下面是一个例子,如何在 Express 应用中使用 InfluxDB 记录请求时间: ```javascript app.use((req, res, next) => { const start = Date.now(); res.on('finish', () => { const duration = Date.now() - start; influx.writePoints([ { measurement: 'response_times', tags: { host: os.hostname() }, fields: { duration, path: req.path }, } ]).catch(err => { console.error(`Error saving data to InfluxDB! ${err}`); }); }); next(); }); ``` 这个例子中,我们使用 Express 的中间件来记录请求时间。在请求结束时,我们使用 `writePoints()` 方法将数据写入 InfluxDB 中。在这个例子中,我们记录了响应时间、路径以及主机名等信息。 以上就是在 Express 应用中使用 InfluxDB 的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值