1. 程式人生 > >influxdb介紹,安裝,使用等(轉載:http://www.jianshu.com/p/d2935e99006e)

influxdb介紹,安裝,使用等(轉載:http://www.jianshu.com/p/d2935e99006e)

influxdb是目前比較流行的時間序列資料庫。

  • 何謂時間序列資料庫? 什麼是時間序列資料庫,最簡單的定義就是資料格式裡包含Timestamp欄位的資料,比如某一時間環境的溫度,CPU的使用率等。但是,有什麼資料不包含Timestamp呢?幾乎所有的資料其實都可以打上一個Timestamp欄位。時間序列資料的更重要的一個屬性是如何去查詢它,包括資料的過濾,計算等等。

Influxdb

Influxdb是一個開源的分散式時序、時間和指標資料庫,使用go語言編寫,無需外部依賴。 它有三大特性:

  1. 時序性(Time Series):與時間相關的函式的靈活使用(諸如最大、最小、求和等);
  2. 度量(Metrics):對實時大量資料進行計算;
  3. 事件(Event):支援任意的事件資料,換句話說,任意事件的資料我們都可以做操作。

同時,它有以下幾大特點:

  • schemaless(無結構),可以是任意數量的列;
  • min, max, sum, count, mean, median 一系列函式,方便統計;
  • Native HTTP API, 內建http支援,使用http讀寫;
  • Powerful Query Language 類似sql;
  • Built-in Explorer 自帶管理工具。

Influxdb安裝

注:本文使用的influxdb version是1.0.2

在講解具體的安裝步驟之前,先說說influxdb的兩個http埠:8083和8086

  • port 8083:管理頁面埠,訪問localhost:8083可以進入你本機的influxdb管理頁面;
  • port 8086:http連線influxdb client埠,一般使用該埠往本機的influxdb讀寫資料。

OS X

brew update
brew install influxdb

Docker Image

docker pull influxdb

Ubuntu & Debian

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.0.2_amd64.deb
sudo dpkg -i influxdb_1.0.2_amd64.deb

RedHat & CentOS

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm
sudo yum localinstall influxdb-1.0.2.x86_64.rpm

Standalone Linux Binaries (64-bit)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_amd64.tar.gz  
tar xvfz influxdb-1.0.2_linux_amd64.tar.gz

Standalone Linux Binaries (32-bit)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_i386.tar.gz
tar xvfz influxdb-1.0.2_linux_i386.tar.gz

Standalone Linux Binaries (ARM)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_armhf.tar.gz
tar xvfz influxdb-1.0.2_linux_armhf.tar.gz

How to start?
安裝完之後,如何啟動呢?

sudo service influxdb start

到這裡influxdb安裝啟動完成,可以訪問influxdb管理頁面:本地管理頁面,該版本沒有登入使用者及密碼,可以自行設定讀寫的使用者名稱和密碼。

如何在命令列使用
安裝完畢之後,如何在命令列使用呢?


influxdb在命令列中使用

influxdb基本操作

名詞解釋

在具體的講解influxdb的相關操作之前先說說influxdb的一些專有名詞,這些名詞代表什麼。

influxdb相關名詞
  • database:資料庫;
  • measurement:資料庫中的表;
  • points:表裡面的一行資料。
influxDB中獨有的一些概念

Point由時間戳(time)、資料(field)和標籤(tags)組成。

  • time:每條資料記錄的時間,也是資料庫自動生成的主索引;
  • fields:各種記錄的值;
  • tags:各種有索引的屬性。

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


error_time

它的series為:


error_time_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"

  • 向資料庫中插入資料。

    • 通過命令列
      use testDb
      insert test,host=127.0.0.1,monitor_name=test count=1
    • 通過http介面
      curl -i -XPOST 'http://127.0.0.1:8086/write?db=testDb' --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

    其中:

    1. test:表名;
    2. host=127.0.0.1,monitor_name=test:tag;
    3. count=1:field

    想對此格式有詳細的瞭解參見官方文件


  • 查詢資料庫中的資料。

    • 通過命令列
      select * from test order by time desc
    • 通過http介面
      curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDb" --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
    • 建立新的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

      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"

相關推薦

influxdb介紹安裝使用轉載http://www.jianshu.com/p/d2935e99006e

influxdb是目前比較流行的時間序列資料庫。 何謂時間序列資料庫? 什麼是時間序列資料庫,最簡單的定義就是資料格式裡包含Timestamp欄位的資料,比如某一時間環境的溫度,CPU的使用率等。但是,有什麼資料不包含Timestamp呢?幾乎所有的資料其實都可以打上一個Timestamp欄位。時間序列資料的

Javascript設計模式與開發實踐詳解策略模式 http://www.jianshu.com/p/ef53781f6ef2

的人 思想 ram gis pan pro msg have 改變 上一章我們介紹了單例模式及JavaScript惰性單例模式應用這一次我主要介紹策略模式策略模式是定義一系列的算法,把它們一個個封裝起來,並且讓他們可以互相替換。比方說在現實中很多時候也有很多途徑到達同一個

Fiddler——PC上實現手機的抓包(轉載 http://www.jianshu.com/p/13f8a81d7c7c)

方式 為我 測試 位置 data 所有 tel 越獄 tools Fiddler是15年初,在千牛中做超級促銷插件時,發現沒有root的Android機和沒有越獄的iPhone無法修改host,因此沒辦法測試。為了讓我這個磨人的PD也能看到,開發推薦了Fiddler。而且

基於Spring框架的Shiro配置轉發http://kdboy.iteye.com/blog/1103794

alt work actor proxy post end url return images 一、在web.xml中添加shiro過濾器 Xml代碼 <!-- Shiro filter--> <filter> <

轉載 [http://www.ssdfans.com]

轉:http://www.ssdfans.com/blog/2017/08/03/%e8%80%81%e7%94%b7%e5%ad%a9%e8%af%bbpcie%e4%b9%8b%e5%85%ad%ef%bc%9a%e9%85%8d%e7%bd%ae%e5%92%8c%e5%9c%b0%e5%9d%80%e

python學習——day9ssh,線程和進程信號量隊列生產者消費者模型 Alex地址http://www.cnblogs.com/alex3714/articles/5230609.html

png 接口 count() day bound 共享 car 共享內存 top 一、python上模擬ssh 1.ssh,ssh_ftp pass 2.ssh 密鑰 pass 二、線程,進程 定義: 進程: 是對各種資源管理的集合,qq 要以一個整體的形式暴露給操

python學習——day12MySQL常用命令連接pythonalexhttp://www.cnblogs.com/wupeiqi/articles/5713330.html

www base drop cal esc username prim ber .com MySQL mysql 常用命令 MySQL創建、刪除數據庫 1 create database alexdb;#創建數據庫 2 3 drop database alexdb;

Mongodb 叢集加keyFile認證Mongodb使用者管理http://blog.csdn.net/wlzjsj/article/details/61421230

介紹 自從遠古計繩結開始,資料庫的儲存就註定了今天的地位和多樣性,Nosql的出現更是解決了現有的關係型資料庫無法解決的一些難題,對高效能,靈活度,擴充套件性,海量資料的問題。隨之而出現的高速記憶體索引資料庫、列式儲存、影象儲存等等,這篇文章主要講的是mongodb文件型資料庫,mongodb目

Notepad++外掛之ftp/sftp遠端編輯功能以及各種外掛http://blog.csdn.net/happy_wu/article/details/73302994

Notepad++的ftp/sftp遠端編輯功能介紹:Notepad++是一個優秀的開源編輯器,最大特性就是外掛豐富,這裡分享一下我常用的實用外掛,其中一些是Npp預裝的。這些外掛主要是開發相關的,所以如果想需要其它外掛,可以瀏覽一下。這裡我主要寫的是FTP外掛。一般情況下我

Json和Map互轉三個包org.json/net.sf.json/com.google.gson

ogl war keys static sta print int for ons 目前使用的(org.json/net.sf.json/com.google.gson)這三種json-map互轉,其他包的以後在補充。。。。。。。。。。。。。。 導入的jar有: com

tuxedo10g3R的安裝過程原文urlhttp://www.cnblogs.com/xianfish/articles/1955244.html

logs 一個 form ces url proc 文件名 png ont RHEL 5.1 32Bit 安裝配置TUXEDO 10R3 【前言】: 目的:   在Linux上安裝配置Tuxedo 10R3 環境: RHEL 5.1 32Bit

虛擬機器安裝Linux系統版本CentOS-7-x86_64-DVD-1804.iso

下載映像檔案,地址https://www.centos.org/download/ 1.虛擬機器配置好後,安裝 到這個頁面就等待就好了 2.出現如下介面 選擇中文,繼續。 3.進入如下頁面,選擇分割槽: 新增新的掛載點 4.選擇軟體選擇,進入如下介面 5.選擇網路和主機名,開啟,然後

【forlong401的專欄--有問題上http://www.androidren.com】Android and iOS Now! 多交流技術多分享技術只有分享才會經久不衰。 歡迎關注新浪微博@forlong401 。http://weibo.

Android and iOS Now! 多交流技術,多分享,技術只有分享,才會經久不衰。 歡迎關注新浪微博:@forlong401 。http://weibo.com/forlong401...

Python:GUI之tkinter學習筆記3事件綁定轉載自https://www.cnblogs.com/progor/p/8505599.html

borde proto mes level 字符串 from .com 當前 控件 相關內容: command bind protocol 首發時間:2018-03-04 19:26 command: command是控件中的一個參數,如果使得comma

Python:GUI之tkinter學習筆記3事件繫結轉載自https://www.cnblogs.com/progor/p/8505599.html Python:GUI之tkinter學習筆記3事件繫結

Python:GUI之tkinter學習筆記3事件繫結   相關內容: command bind protocol   首發時間:2018-03-04 19:26   command:

《大型網站技術架構》讀書筆記 轉載請註明來源http://zhanjia.iteye.com/blog/2038540

《大型網站技術架構》讀書筆記: 1.1大型網站軟體系統的特點 與傳統企業應用系統相比,大型網際網路應用系統有以下特點。 高併發,大流量 高可用 海量資料 使用者分佈廣泛,網路情況複雜 安全環境惡劣 需求快速變更,釋出頻繁 漸進式發展 1.2大型網站架構演化發展歷程 大型

Python多線程的初步的認識轉載自https://www.cnblogs.com/yeayee/p/4952022.html

apply() make 有趣的 調整 self. base 運行腳本 必須 error: 單線程   在好些年前的MS-DOS時代,操作系統處理問題都是單任務的,我想做聽音樂和看電影兩件事兒,那麽一定要先排一下順序。 (好吧!我們不糾結在DOS時代是否有聽音樂和看影的

轉載智能家居 作者熱情的沙漠 出處http://www.cnblogs.com/buptzym/

它的 必須 環境光 暴力破解 研究生 破解 開始 印象 提醒 理工男打造帝都89平智能家庭 畢業後的2016年年初,搬入新家,總算不用在出租屋裏鬼混了,於是就想把之前童年的夢想:智能家居+家庭影院好好實現一下~ 相比帝都高昂的房價,這些東東還湊合玩得起,不過在有限預

關於區塊鏈與比特幣 來源於嘶吼 http://www.4hou.com/info/news/6152.html

賬單 還要 號碼 news tar 參與 src 通知 都去 走近比特幣:一個故事看懂“區塊鏈” 2017年7月7日發布 首頁/新聞/正文 55,338 4 32 導語:本文是對區塊鏈原理極為通俗的解釋,適合剛接觸比特幣的小白們閱讀。 區塊鏈是比特幣的底層

經典sql 語句總結,轉載http://www.iteye.com/topic/1117462

agent 作業 方案 插入 delet 連接參數 將不 彈出 mic 一、基礎1、說明:創建數據庫CREATE DATABASE database-name 2、說明:刪除數據庫drop database dbname3、說明:備份sql server--- 創建 備份數