influxdb基本命令


influxdb基本操作

influxDB名詞介紹:

database:數據庫;
measurement:數據庫中的表;
points:表里面的一行數據。
influxDB中獨有的一些概念
Point由時間戳(time)、數據(field)和標簽(tags)組成。
time:每條數據記錄的時間,也是數據庫自動生成的主索引;
fields:各種記錄的值;
tags:各種有索引的屬性。

還有一個重要的名詞:series
所有在數據庫中的數據,都需要通過圖表來表示,series表示這個表里面的所有的數據可以在圖標上畫成幾條線(注:線條的個數由tags排列組合計算出來)
舉個簡單的小例子:
有以下數據:

它的series為:

influxDB基本操作

數據庫與表的操作
可以直接在web管理頁面做操作,當然也可以命令行。

#創建數據庫
create database "db_name"

#顯示所有的數據庫
show databases

#刪除數據庫
drop database "db_name"

#使用數據庫
use db_name

#顯示該數據庫中所有的表
show measurements

#創建表,直接在插入數據的時候指定表名
insert test,host=127.0.0.1,monitor_name=test count=1

#刪除表
drop measurement "measurement_name"


向數據庫中插入數據。
通過命令行

這樣,數據庫插入數據成功。

通過http接口

curl -i -XPOST 'http://127.0.0.1:8086/write?db=metrics' --data-binary 'test,host=127.0.0.1,monitor_name=test count=1'

因為influxDB存儲數據采用的是Line Protocol格式。那么何謂Line Protoco格式?

Line Protocol格式:寫入數據庫的Point的固定格式。

在上面的兩種插入數據的方法中都有這樣的一部分:

test,host=127.0.0.1,monitor_name=test count=1

其中:
test:表名;
host=127.0.0.1,monitor_name=test:tag;
count=1:field
相對此格式有詳細的了解參見官方文檔


查詢數據庫中的數據。

  • 通過命令行

  • 通過http接口

    curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=metrics" --data-urlencode "q=select * from test order by time desc"
    

influxDB是支持類sql語句的,具體的查詢語法都差不多,這里就不再做詳細的贅述了。

數據保存策略(Retention Policies)

influxDB是沒有提供直接刪除數據記錄的方法,但是提供數據保存策略,主要用於指定數據保留時間,超過指定時間,就刪除這部分數據。

查看當前數據庫Retention Policies

>show retention policies on "db_name"

創建新的Retention Policies
>create retention policy "rp_name" on "db_name" duration 3w replication 1 default


rp_name:策略名
db_name:具體的數據庫名
3w:保存3周,3周之前的數據將被刪除,influxdb具有各種事件參數,比如:h(小時),d(天),w(星期)
replication 1:副本個數,一般為1就可以了
default:設置為默認策略
修改Retention Policies
>alter retention policy "rp_name" on "db_name" duration 30d default

刪除Retention Policies
>drop retention policy "rp_name"

連續查詢(Continous Queries)
當數據超過保存策略里指定的時間之后就會被刪除,但是這時候可能並不想數據被完全刪掉,怎么辦?
influxdb提供了聯系查詢,可以做數據統計采樣。

查看數據庫的Continous Queries
>show continuous queries


創建新的Continous Queries
>create continous query cq_name on db_name begin select sum(count) into new_table_name from table_name group by time(30m) end


cq_name:連續查詢名字
db_name:數據庫名字
sum(count):計算總和
table_name:當前表名
new_table_name:存新的數據的表名
30m:時間間隔為30分鍾
刪除Continous Queries
drop continous query cp_name on db_name

用戶管理

可以直接在web管理頁面做操作,也可以命令行。

#顯示用戶
>show users

#創建用戶
>create user "username" with password 'password'

#創建管理員權限用戶
>create user "username" with password 'password' with all privileges

#刪除用戶
>drop user "username"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM