1. 程式人生 > >【InfluxDB】InfluxDB學習實踐筆記

【InfluxDB】InfluxDB學習實踐筆記

日誌 class 例如 study search 用戶 一個 命令行 書寫方式

InfluxDB是用Go編寫的一個開源分布式時序、事件和指標數據庫,無需外部依賴。它與Elasticsearch、Graphite等類似。比較適用於與事件緊密相關的數據,例如實時日誌數據、實時監控數據等,詳細信息可以自行網上搜索。

0x00 環境信息

基本信息:

  • 系統:CentOS7.2
  • IP地址:xx.xx.xx.xx
  • 端口號:30040
  • 運行環境:K8S測試集群中
  • InfluxDB版本:1.5.1(該版本不再提供web界面)
  • InfluxDB用戶名:admin
  • InfluxDB密碼:admin

0x01 基本操作

InfluxDB支持三種方式的通信方式:

  • InfluxDB客戶端命令行
  • HTTP API
  • 各編程語言庫

下面演示采用InfluxDB客戶端命令行方式。

1、連接、認證

在windows系統中使用InfluxDB客戶端命令行連接數據庫,並進行認證:

技術分享圖片

註意,本地必須存在influxdb的一套指令程序,包括下面幾個:

技術分享圖片

2、數據庫操作

  • show databases 查看數據庫
  • create database db_name 創建數據庫
  • drop database db_name 刪除數據庫
  • use db_name 選擇數據庫

其中db_name表示具體的數據庫名。
實際操作如下:

技術分享圖片

3、measurement操作

InfluxDB中的measurement類似於關系數據庫中的數據表,後文中全部稱其為數據表。

  • show measurements 查看表
  • insert measurement_name,tags fields timestamp 因為沒有顯示的創建表語句,所以通過向表中插入數據來創建表
  • drop measurement measurement_name 刪除表

其中,measurement_name代表具體的表名。在插入數據時有特定的格式要求,例如:

insert server_info,server_name=server1 cpu=intel,ram_capacity=64 timestamp

其中,從左到右依次為表名、逗號、tags<key-value,可多個>、空格、fields<key-value,可多個>、空格、timestamp,其中多個tags之間使用逗號分隔,多個fields之間使用逗號分隔。

4、數據操作(增刪改查)

(1)新增數據

假設數據表格式如下面語句所示:

insert server_info,server_name=server1 cpu=intel,ram_capacity=64 timestamp

技術分享圖片

由上圖結果可知,在插入數據時,可以不指定timestamp,此時數據庫會自動添加。

(2)查詢數據

查詢數據使用SQL語句實現,同關系型數據庫的查詢方式幾乎相同。如上圖中所示。

(3)修改和刪除數據

由於InfluxDB是時序數據庫,所以未提供修改和刪除數據的操作。不過,數據刪除可以通過數據保存策略(Retention Policies)來自動實現。

5、series操作

series表示數據表中特定tags對應的數據,比如上面的表server_info,該表中保存了多個服務器的數據,不同服務器通過tags中的server_name不同值來表示,假如現在表中數據如下:

技術分享圖片

則此時series則表示不同服務器的cpu、ram_capacity隨時間變化的一系列值。

6、賬號管理

  • 查看賬號:show users
  • 創建普通賬號:create user “username”/username with password ‘password’,貌似創建的普通賬號並沒有什麽數據庫操作權限
  • 創建管理和賬號:create user “username”/username with password ‘password’ with all privileges
  • 刪除賬號:drop user “username”/username
  • 設置賬號密碼:set password for username=’password’

其中,賬號支持兩種書寫方式:英文雙引號括起來、直接賬號字符串,而密碼則必須以英文單引號括起來,否則會出錯。

技術分享圖片

技術分享圖片

0x02 參考鏈接

  • 系列教程:https://www.linuxdaxue.com/influxdb-study-series-manual.html
  • 賬號管理:https://blog.csdn.net/u014087707/article/details/52700946

【InfluxDB】InfluxDB學習實踐筆記