InfluxDB(官方使用說明)

安裝InfluxDB OSS

此頁面提供有關安裝,啟動和配置InfluxDB的說明。

InfluxDB OSS安裝要求

root為了成功完成,需要安裝InfluxDB軟件包或具有管理員權限。

InfluxDB OSS網絡端口

InfluxDB默認使用以下網絡端口:

  • TCP端口8086用于通過InfluxDB的HTTP API進行客戶端 - 服務器通信
  • TCP端口8088用于RPC服務以進行備份和還原

除了上面的端口,InfluxDB還提供了多個可能需要自定義端口的插件。可以通過配置文件修改所有端口映射,配置文件位于/etc/influxdb/influxdb.conf默認安裝位置。

網絡時間協議(NTP)

InfluxDB使用主機的UTC本地時間為數據分配時間戳并用于協調目的。使用網絡時間協議(NTP)同步主機之間的時間;?如果主機的時鐘與NTP不同步,寫入InfluxDB的數據的時間戳可能不準確。

安裝InfluxDB OSS

對于不想安裝任何軟件并準備使用InfluxDB的用戶,您可能需要查看我們的?托管主機InfluxDB產品。

Ubuntu和DebianRed Hat&CentOSSLES&openSUSEFreeBSD / PC-BSDmacOS

有關如何從文件安裝Debian軟件包的說明,請參閱?下載頁面。

Debian和Ubuntu用戶可以使用apt-get包管理器安裝最新的穩定版本的InfluxDB?。

對于Ubuntu用戶,使用以下命令添加InfluxData存儲庫:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

對于Debian用戶,添加InfluxData存儲庫:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
test $VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.list test $VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

然后,安裝并啟動InfluxDB服務:

sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start

或者,如果您的操作系統使用的是systemd(Ubuntu 15.04 +,Debian 8+):

sudo apt-get update && sudo apt-get install influxdb
sudo systemctl unmask influxdb.service
sudo systemctl start influxdb

配置InfluxDB OSS

系統具有每個配置文件設置的內部默認值。使用該influxd config命令查看默認配置設置。

本地配置文件(/etc/influxdb/influxdb.conf)中的大多數設置都被注釋掉了;?所有注釋掉的設置將由內部默認值確定。本地配置文件中的任何未注釋的設置都會覆蓋內部默認值。請注意,本地配置文件不需要包含每個配置設置。

有兩種方法可以使用您的配置文件啟動InfluxDB:

  • 使用以下-config?選項將進程指向正確的配置文件:

    influxd -config /etc/influxdb/influxdb.conf
  • 將環境變量設置為INFLUXDB_CONFIG_PATH配置文件的路徑并啟動該過程。例如:

    echo $INFLUXDB_CONFIG_PATH
    /etc/influxdb/influxdb.confinfluxd
    

InfluxDB首先檢查-config選項,然后檢查環境變量。

有關更多信息,請參閱配置文檔。

數據和WAL目錄權限

確保存儲數據和預寫日志(WAL)的目錄對于運行該influxd服務的用戶是可寫的。

注意:如果數據和WAL目錄不可寫,則influxd服務將無法啟動。

有關datawal目錄路徑的信息,請參閱配置InfluxDB文檔的數據設置部分。

在AWS上托管InfluxDB OSS

InfluxDB的硬件要求

我們建議使用兩個SSD卷,一個用于influxdb/wal另一個用于influxdb/data。根據您的負載,每個卷應具有大約1k-3k的預配置IOPS。該influxdb/data卷應該有更多的磁盤空間低IOPS和influxdb/wal容量應該有更少的磁盤空間,具有較高的IOPS。

每臺機器應至少有8G RAM。

我們已經看到了R4類機器的最佳性能,因為它們提供的內存比C3 / C4類和M4類都要多。

配置InfluxDB OSS實例

此示例假定您使用的是兩個SSD卷并且已正確裝入它們。此示例還假定每個卷都安裝在/mnt/influx/mnt/db。有關如何執行此操作的詳細信息,請參閱有關如何向您的實例添加卷的Amazon文檔。

配置文件

您必須為每個InfluxDB實例更新配置文件。

...[meta]dir = "/mnt/db/meta"......[data]dir = "/mnt/db/data"...
wal-dir = "/mnt/influx/wal"......[hinted-handoff]...
dir = "/mnt/db/hh"...

InfluxDB OSS權限

在InfluxDB數據和配置中使用非標準目錄時,還要確保正確設置文件系統權限:

chown influxdb:influxdb /mnt/influx
chown influxdb:influxdb /mnt/db


----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------



InfluxDB OSS入門

安裝?InfluxDB后,您就可以開始做一些很棒的事了。在本節中,我們將使用influx?命令行界面(CLI),它包含在所有InfluxDB包中,是一種輕量級且簡單的與數據庫交互的方式。CLI?8086默認通過端口向InfluxDB HTTP API發出請求,直接與InfluxDB通信。

注意:也可以通過生成原始HTTP請求來使用數據庫。有關應用程序的?示例,請參閱編寫數據和查詢數據curl

創建數據庫

如果您已在本地安裝InfluxDB,則該influx命令應通過命令行提供。執行influx將啟動CLI并自動連接到本地InfluxDB實例(假設您已經啟動了服務器service influxdb startinfluxd直接運行)。輸出應如下所示:

$ influx -precision rfc3339
Connected to http://localhost:8086 version 1.4.x
InfluxDB shell 1.4.x
>

筆記:

  • InfluxDB HTTP API?8086默認在端口上運行。因此,influx將連接到端口8086localhost默認。如果您需要更改這些默認值,請運行influx --help
  • -precision參數指定任何返回的時間戳的格式/精度。在上面的示例中,rfc3339告訴InfluxDB以RFC3339格式(YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)返回時間戳。

現在,命令行已準備好以Influx查詢語言(又稱InfluxQL)語句的形式獲取輸入。要退出InfluxQL shell,請鍵入exit并單擊return。

全新安裝的InfluxDB沒有數據庫(除了系統_internal),因此創建一個是我們的首要任務。您可以使用CREATE DATABASE <db-name>InfluxQL語句創建數據庫,其中<db-name>是您要創建的數據庫的名稱。只要字符串是雙引號,數據庫的名稱就可以包含任何unicode字符。如果名稱包含ASCII字母,數字或下劃線且不以數字開頭,則也可以不加引號。

在本指南中,我們將使用數據庫名稱mydb

> CREATE DATABASE mydb
>

注意:按?Enter鍵后,將出現一個新提示,并且不顯示任何其他提示。在CLI中,這意味著語句已執行且沒有要顯示的錯誤。如果出現問題,將始終顯示錯誤。沒有消息就是好消息!

現在mydb已經創建了數據庫,我們將使用該SHOW DATABASES語句顯示所有現有數據庫:

> SHOW DATABASES
name: databases --------------- name _internal mydb >

注:該_internal數據庫中創建和使用InfluxDB存儲內部運行指標。稍后再查看以了解InfluxDB如何在幕后執行。

SHOW DATABASES與之不同,大多數InfluxQL語句必須針對特定數據庫運行。您可以使用每個查詢顯式命名數據庫,但CLI提供了一個便捷語句,USE <db-name>它將自動為將來的所有請求設置數據庫。例如:

> USE mydb
Using database mydb >

現在,將來的命令只會針對mydb數據庫運行。

編寫和探索數據

現在我們有了一個數據庫,InfluxDB已準備好接受查詢和寫入。

首先,在數據存儲區上的簡短入門。InfluxDB中的數據按“時間序列”進行組織,其中包含測量值,如“cpu_load”或“temperature”。時間序列為零到多points,每個離散的度量樣本一個。點由time(時間戳),a?measurement(例如“cpu_load”),至少一個鍵值field(測量值本身,例如“值= 0.64”或“溫度= 21.2”)和零到多鍵組成-value?tags包含有關該值的任何元數據(例如“host = server01”,“region = EMEA”,“dc = Frankfurt”)。

從概念上講,您可以將a?measurement視為一個SQL表,其中主索引始終是時間。?tags并且fields是表中的有效列。?tags被索引,而fields不是。不同之處在于,使用InfluxDB,您可以進行數百萬次測量,您不必預先定義模式,也不會存儲空值。

使用線路協議將點寫入InfluxDB,其遵循以下格式:

<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]

以下幾行都是可以寫入InfluxDB的點的示例:

cpu,host=serverA,region=us_west value=0.64
payment,device=mobile,product=Notepad,method=credit billed=33,licenses=3i 1434067467100293230
stock,symbol=AAPL bid=127.46,ask=127.48
temperature,machine=unit42,type=assembly external=25,internal=37 1434067467000000000

注意:有關線路協議的更多信息,請參見“?語法”頁面。

要使用CLI將單個時間序列數據點插入InfluxDB,請輸入INSERT后跟一個點:

> INSERT cpu,host=serverA,region=us_west value=0.64 >

測量名稱為cpu和標記的點hostregion現在已經寫入數據庫,測量value值為0.64

現在我們將查詢剛才寫的數據:

> SELECT "host", "region", "value" FROM "cpu" name: cpu --------- time host region value 2015-10-21T19:28:07.580664347Z serverA us_west 0.64 >

注意:在編寫我們的觀點時,我們沒有提供時間戳。如果沒有為某個點提供時間戳,InfluxDB會在獲取該點時分配本地當前時間戳。這意味著您的時間戳會有所不同。

讓我們嘗試存儲另一種類型的數據,在同一測量中有兩個字段:

> INSERT temperature,machine=unit42,type=assembly external=25,internal=37 >

要使用查詢返回所有字段和標記,您可以使用*運算符:

> SELECT * FROM "temperature" name: temperature ----------------- time external internal machine type 2015-10-21T19:28:08.385013942Z 25 37 unit42 assembly >

警告:在大型數據庫上使用*不帶LIMIT子句可能會導致性能問題。您可以使用Ctrl+C取消響應時間過長的查詢。

InfluxQL有許多功能和關鍵字,這里沒有涉及,包括對Go風格的正則表達式的支持。例如:

> SELECT * FROM /.*/ LIMIT 1 -- > SELECT * FROM "cpu_load_short" -- > SELECT * FROM "cpu_load_short" WHERE "value" > 0.9

這就是將數據寫入InfluxDB并進行查詢所需要知道的全部內容。要了解有關InfluxDB寫入協議的更多信息,請查看寫入數據指南。要進一步探索查詢語言,請查看查詢數據指南。有關InfluxDB概念的更多信息,請查看“?關鍵概念”頁面。

?

?

轉載于:https://www.cnblogs.com/zouhao/p/9865073.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396328.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396328.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396328.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

incc與oracle連接_Oracle 連接和會話的區別

連接并不是會話的同義詞&#xff0c;發現這一點時很多人都很詫異。在大多數人眼里&#xff0c;它們都是一樣的&#xff0c;但事實上并不一定如此。在一條連接上可以建立0個、一個或多個會話。各個會話是單獨而且獨立的&#xff0c;即使它們共享同一條數據庫物理連接也是如此。一…

CodeForces 176B Word Cut(DP)

題意&#xff1a;給你a串和b串&#xff0c;你能切k次&#xff0c;每次切完將尾部分放在頭的前面&#xff0c;問有多少種方案切k次從a串變為b串 思路&#xff1a;令dp[i][0]為砍了i次變成b串的方案數&#xff0c;dp[i][1]為砍了i次變成非b串的方案數&#xff0c;然后預處理一下前…

如何將React App轉換為React Native

I have been working on a lot of mobile projects lately?—?including Cordova, PhoneGap, React Native, some Ionic and Swift?—?but I have to say, React Native is by far the best experience in mobile development I have had so far. It has great, web-like d…

HTTP狀態碼:400\500 錯誤代碼

轉自&#xff1a;http://blog.sina.com.cn/s/blog_59b052fa0100it74.html一些常見的狀態碼為&#xff1a;200 - 服務器成功返回網頁404 - 請求的網頁不存在503 - 服務不可用詳細分解&#xff1a;1xx&#xff08;臨時響應&#xff09;表示臨時響應并需要請求者繼續執行操作的狀態…

dhcp服務

安裝與配置 配置文件 修改配置文件 復制這個文件到另一端 打開另一端的配置文件 原端輸入這些命令可以去掉英文 然后vim進入另一端配置文件 全局配置不在{}內的 分發范圍是指哪個ip到哪個ip的范圍 指定固定電腦獲取固定位置 原端修改配置文件 下面進行啟動dhcp 克隆一臺虛擬機&…

python數據結構與算法40題_Python數據結構與算法40:遞歸編程練習題3:ASCII謝爾賓斯基地毯...

注&#xff1a;本文如涉及到代碼&#xff0c;均經過Python 3.7實際運行檢驗&#xff0c;保證其嚴謹性。本文閱讀時間約為7分鐘。遞歸編程練習題3&#xff1a;ASCII謝爾賓斯基地毯謝爾賓斯基地毯謝爾賓斯基地毯是形如上圖的正方形分形圖案&#xff0c;每個地毯可分為等大小的9份…

使用Python發送電子郵件

by Arjun Krishna Babu通過Arjun Krishna Babu 如何使用Python發送電子郵件 (How to send emails using Python) As a learning exercise, I recently dug into Python 3 to see how I could fire off a bunch of emails. There may be more straightforward methods of doing…

此blog不更了

1轉載于:https://www.cnblogs.com/ybai62868/p/5384097.html

Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart)

在接觸WebService時值得收藏的一篇文章&#xff1a; 在調試Axis1.4訪問WebService服務時&#xff0c;出現以下錯誤&#xff1a; Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart) 有錯誤找到錯誤原因以及發現值得收藏的…

java遍歷樹結構數據_Java數據結構——二叉樹的遍歷(匯總)

二叉樹的遍歷分為深度優先遍歷(DFS)和廣度優先遍歷(BFS)DFS遍歷主要有&#xff1a;前序遍歷中序遍歷后序遍歷一、遞歸實現DFSNode.java:public class Node {private Object data;Node richild;Node lechild;public Object getData() {return data;}public void setData(Object …

vue 移動端頭像裁剪_使用vue-cropper裁剪正方形上傳頭像-阿里云開發者社區

引用方式在組件內使用import { VueCropper } from vue-croppercomponents: {VueCropper,},main.js里面使用import VueCropper from vue-cropperVue.use(VueCropper)基本使用方法ref"cropper":img"option.img":autoCrop"true":fixedNumber"[…

規則引擎 設計 git_引擎蓋下的Git

規則引擎 設計 gitby Wassim Chegham由Wassim Chegham 引擎蓋下的Git (Git under the hood) Let’s explore some common Git commands, and dive into its internals to see what Git does when you run them.讓我們探索一些常見的Git命令&#xff0c;并深入了解其內部&#…

練習題之死鎖

public class PrintMain {public static String obj1"obj1";public static String obj2"obj2";public static void main(String[] args) {new Thread(new Runnable() {public void run() {System.out.println(new Date().toString "LockA開始執行&qu…

啟用或禁用對 Exchange Server 中的郵箱的 POP3 或 IMAP4 訪問

https://docs.microsoft.com/zh-cn/Exchange/clients/pop3-and-imap4/configure-mailbox-access?viewexchserver-2019 記錄下轉載于:https://www.cnblogs.com/amoy9812/p/9875426.html

java有什么壓力_編程語言的心智負擔!你學編程得有多大的壓力快來測試一下...

很多編程語言對比的文章&#xff0c;總喜歡比較各種編程語言的性能、語法、IO模型。本文將從心智負擔這個角度去比較下不同的編程語言和技術。內存越界如&#xff1a;C語言、C(C with class)C/C可以直接操作內存&#xff0c;但編程必須要面對內存越界問題。發生內存越界后&…

什么叫有效物理網卡_如何區分虛擬網卡和物理網卡?-阿里云開發者社區

一、什么是物理網卡和虛擬網卡&#xff1f;圖示如下&#xff1a;紅色部分包含VMWare的為虛擬網卡。通常&#xff0c;我們部署VMWare虛擬機、VMSphere虛擬集群、XenCenter虛擬集群是都會涉及虛擬網卡。二、辨別物理網卡和虛擬網卡的應用場景場景一&#xff1a;一般部署虛擬集群的…

算法復雜度的表示法_用簡單的英語算法:時間復雜度和Big-O表示法

算法復雜度的表示法by Michael Olorunnisola通過Michael Olorunnisola 用簡單的英語算法&#xff1a;時間復雜度和Big-O表示法 (Algorithms in plain English: time complexity and Big-O notation) Every good developer has time on their mind. They want to give their us…

Android Studio 開始運行錯誤

/********************************************************************************* Android Studio 開始運行錯誤* 說明&#xff1a;* 打開Android Studio就拋出這個錯誤。* * 2017-4-1 深圳 南…

IOS 計步器

這篇博客介紹的是當前比較流行的“計步器”-只是簡單的知識點 計步器的實現在IOS8開始進行了改變。 但是我會對之前之后的都進行簡單介紹。 IOS 8 - // // ViewController.m // CX 計步器 // // Created by ma c on 16/4/12. // Copyright © 2016年 bjsxt. All rights…

vue學習之二ECMAScript6標準

一、ECMAScript6標準簡述 ECMAScript 6.0&#xff08;以下簡稱 ES6&#xff09;是 JavaScript 語言的下一代標準&#xff0c;已經在 2015 年 6 月正式發布了。它的目標&#xff0c;是使得 JavaScript 語言可以用來編寫復雜的大型應用程序&#xff0c;成為企業級開發語言。 1.1E…