日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

influxdb介绍,安装,使用等(转载:http://www.jianshu.com/p/d2935e99006e)

發布時間:2024/9/27 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 influxdb介绍,安装,使用等(转载:http://www.jianshu.com/p/d2935e99006e) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

influxdb是目前比較流行的時間序列數據庫。

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

Influxdb

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

  • 時序性(Time Series):與時間相關的函數的靈活使用(諸如最大、最小、求和等);
  • 度量(Metrics):對實時大量數據進行計算;
  • 事件(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

      其中:

    • test:表名;
    • host=127.0.0.1,monitor_name=test:tag;
    • 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 Policiesshow retention policies on "db_name"
        retention_policies
      • 創建新的Retention Policiescreate 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 Policiesalter retention policy "rp_name" on "db_name" duration 30d default
      • 刪除Retention Policiesdrop retention policy "rp_name"
    • 連續查詢(Continous Queries)
      當數據超過保存策略里指定的時間之后就會被刪除,但是這時候可能并不想數據被完全刪掉,怎么辦?
      influxdb提供了聯系查詢,可以做數據統計采樣。
      • 查看數據庫的Continous Queriesshow continuous queries
        continuous_queries.
      • 創建新的Continous Queriescreate 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 Queriesdrop 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"


    作者:miaoLoveCode
    鏈接:http://www.jianshu.com/p/d2935e99006e
    來源:簡書
    著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

    總結

    以上是生活随笔為你收集整理的influxdb介绍,安装,使用等(转载:http://www.jianshu.com/p/d2935e99006e)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。