influxdb常用命令

前言

之前在研究lustreperfmon,发现软件采用的是collectd加上influxdb的软件架构,使用过程中涉及到一些命令记录下来,方便后续使用

相关命令

查看数据库

1
2
3
4
5
[root@test201 influxdb]# influx  --execute "show databases;"
name: databases
name
----
_internal

创建数据库

1
[root@test201 influxdb]# influx  --execute 'CREATE DATABASE esmon_database'

删除数据库

1
[root@test201 influxdb]# influx  --execute 'DROP DATABASE esmon_database'

创建cq查询

1
[root@test201 influxdb]# influx -database 'esmon_database'  --execute 'CREATE CONTINUOUS QUERY cq_ost_stats_bytes_fs_name_optype ON esmon_database BEGIN SELECT sum(value) / 3 INTO esmon_database.autogen."cqm_ost_stats_bytes-fs_name-optype" FROM esmon_database.autogen.ost_stats_bytes GROUP BY time(6s), fs_name, optype END'

删除cq查询

1
[root@test201 influxdb]# influx -database 'esmon_database'  --execute "DROP CONTINUOUS QUERY cq_ost_stats_bytes_fs_name_optype ON "esmon_database";"

查询创建的cq查询

1
[root@test201 influxdb]# influx -database 'esmon_database'  --execute "SHOW CONTINUOUS QUERIES;"

查看创建的measurement

1
[root@test201 /]# influx -database 'esmon_database'  --execute "show measurements"

删除measurement

1
[root@test201 /]# influx -database 'esmon_database'  --execute 'DROP measurement  "cqm_ost_stats_bytes-fs_name-optype"';

查询数据

1
2
3
[root@test201 /]# influx -database 'esmon_database'  --execute 'SELECT * FROM "md_stats"'
[root@test201 pyesmon]# influx -database 'esmon_database' --execute "SELECT "sum" FROM \"cqm_md_stats-fs_name\" WHERE fs_name = 'lustrefs' AND time > now() - 1m"
[root@test201 pyesmon]# influx -database 'esmon_database' --execute "SELECT "sum" FROM \"cqm_ost_stats_bytes-fs_name-optype\" WHERE fs_name='lustrefs' AND time > now() - 1m GROUP BY "optype""

如果查询内容有单引号也有双引号,那么外部包上双引号,内部保持单引号不变,然后对measurement进行双引号转义,命令行才需要这样处理

  • group by是对查询可以分组
  • time > now() - 1m 是可以在时间上选择一个范围