1.进入Influxdb的客户端

[root@activity_sentinel ~]# influx

2.数据库的操作

  • 显示所有的数据库名

> show databases
name: databases
name
----
_internal
telegraf
  • 新建数据库

> create database Monitor
> show databases //查看Monitor库
name: databases
name
----
_internal
telegraf
Monitor
>
  • 删除数据库

> drop database Monitor
  • 使用某个数据库

> use telegraf
Using database telegraf
>
  • 查看此数据库下的所有表名称

> show measurements
name: measurements
name
----
cpu
disk
diskio

  

 

3.数据表的操作

  • 新建表

InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表。

insert Test,hostname=activety_sentinel value=666

其中 Test 就是表名,hostname是索引(tag),value=xx是记录值(field),记录值可以有多个,系统自带追加时间戳

> select * from Test
name: Test
time hostname value
---- -------- -----
1648275500109414508 activety_sentinel 666
>  

或者添加数据时,自己写入时间戳

insert Test,hostname=activety_sentinel value=666   1435362189575692182
  • 删除表

> drop measurement Test
  • 向表中插入一条数据

> insert Test,hostname=server1 value=888
  • 删除表中的一条数据,根据时间戳time来删除一条数据

> delete from Test where time=1648276975654173174 

4.数据保存策略(Retention Policies)

influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。

  • 查看当前数据库保存策略(Retention Policies)

> show retention policies on "telegraf"                     //telegraf  是数据库名
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 240h0m0s 168h0m0s 1 true
  • 创建新的保存策略

create retention policy  "save"  on "telegraf"  duration 150h replication 1 default;      //save 是自定义的新策略名称;150h是保存时间; replication 1:副本个数,一般为1就可以了;default:设置为默认策略
  • 修改保存策略

alter retention policy "save" on "telegraf" duration 180h replication 1 default;    //数据保存180h
  • 删除保存策略

drop retention policy "save" on "telegraf"

5.连续查询(Continuous Queries)

InfluxDB的连续查询是在数据库中自动定时启动的一组语句,语句中必须包含 SELECT 关键词和 GROUP BY time() 关键词。

InfluxDB会将查询结果放在指定的数据表中。

目的:使用连续查询是最优的降低采样率的方式,连续查询和存储策略搭配使用将会大大降低InfluxDB的系统占用量。而且使用连续查询后,数据会存放到指定的数据表中,这样就为以后统计不同精度的数据提供了方便。

  • 新建连续查询示例

CREATE CONTINUOUS QUERY monitorclient ON telegraf BEGIN SELECT mean(connected_clients), MEDIAN(connected_clients), MAX(connected_clients), MIN(connected_clients) INTO redis_clients_30m FROM redis_clients GROUP BY ip,port,time(30m) END 

sql含义:在" telegraf " 库中新建了一个名为 " monitorclient " 的连续查询,每三十分钟取一个connected_clients字段的平均值、中位值、最大值、最小值 redis_clients_30m 表中。使用的数据保留策略都是 default。

  • 显示所有已存在的连续查询

show  continuous queries
  • 删除Continuous Querie

drop   continuous query monitorclient  ON  telegraf   //  monitorclient 是连续查询的名称; telegraf 是数据库名称

  

最新文章

  1. Exchange环境搭建心得
  2. CSS盒子模型学习记录3(侧面导航栏)
  3. Core Data数据操作
  4. http和webservice接口区别
  5. js 实现精确加减乘除
  6. Trimmomatic安装与使用
  7. 在C#中对Datatable排序【DefaultView的Sort方法】
  8. NOT EXISTS优化的一个案例 .
  9. Spring MVC控制层的返回类型--String类型与Bean类型
  10. sfs
  11. swift 协议传值的实现
  12. 【收藏】socket 中的 recv与send函数
  13. 浅谈.NET,C#三层架构
  14. 洛谷 [P1129] [ZJOI2007] 矩阵游戏
  15. C++学习-2
  16. 多Region下HBase写入问题
  17. Mac下将文件复制到移动硬盘
  18. service相关
  19. mpvue-docs基于vue来开发微信小程序
  20. vue实现动态异步组件

热门文章

  1. Python基础—set、copy(Day7)
  2. Spring Boot 热插拔技术应用
  3. Https原理与演变
  4. nginx拒绝国外IP访问
  5. [SuperSocket2.0]SuperSocket 2.0从入门到懵逼
  6. python-logging日志模块,以及封装实现
  7. 100G/40G/25G/10G网络测试解决方案
  8. .Net Core之JWT授权
  9. 以小25倍参数量媲美GPT-3的检索增强自回归语言模型:RETRO
  10. shell脚本练习案例