【時序數據庫InfluxDB】Windows環境下配置InfluxDB+數據可視化,以及使用 C#進行簡單操作的代碼實例...

前言:如題。直接上手擼,附帶各種截圖,就不做介紹了。

1、influxDB的官網下載地址? https://portal.influxdata.com/downloads/

打開以后,如下圖所示,可以選擇版本號,以及平臺。此處咱們選擇windows平臺。不過此處沒有實際的可以下載的地方,著實比較過分,不過咱們可以另辟蹊徑。

b508c9242300d42bd5ea3cbe24d7c9f6.png

2、直接下載。具體地址如下,2.3.0是版本號:

https://dl.influxdata.com/influxdb/releases/influxdb2-2.3.0-windows-amd64.zip

鏈接說明:該鏈接是下載windows版本的influxDB的鏈接,其中 influxdb2-2.3.0-windows-amd64.zip 里面,2.3.0是版本號,可以通過修改這個版本號來下載你所需要的具體版本文件。

68f08d2955e95f67053533a6452628d3.png

3、或者通過這個地址進行下載:

https://docs.influxdata.com/influxdb/v2.1/install/?t=Windows

其中,/v2.1是版本號,把2.1改成2.3就可以下載2.3的版本了。此處僅做個實驗,例如下載2.1版本。

b24b20738312d439f498f2ab4b155533.png

4、可以對比下真實的下載鏈接地址,與上面的2.3.0版本地址只差了一個版本號信息,其他都一樣。

984bb4736fd0c00686c261bc5348e61f.png

5、此處使用2.3.0版本,解壓以后進行使用。

1e703c66b06baff8b64d77cd17face95.png

6、CMD到解壓的根目錄下,直接執行influxdb.exe文件(cmd命令執行,不會閃退,直接點有可能會一閃而過)

備注:也可以通過nssm工具進行部署成Windows服務,部署方法可以參考我的其他博客內容,有相關信息,此處不再重復寫。

2c216aa46dcd6143239abc4a329360e3.png

7、啟動以后,在cmd窗口也可以看到默認端口號8086,所以在地址欄輸入 htp://127.0.0.1:8086/onboarding/? 就可以打開起始監控面板,然后進行一些初始化操作了。

ace6a38a37db64848d57a6c3a4199fce.png

8、打開初始頁面,可以用來創建初始用戶信息

1d32e4b7f4ce70610ac4f0fb156d69ac.png

9、例如,我此處創建一個用戶 wesky,以及有關的組和實例,如圖備注的信息。然后執行下一步(CONTINUE)

3eef9f0d03868e84e3856832efdd0d28.png

10、選擇快速開始

a2693ff96e5e03d5686ccb00dbf0fa9b.png

11、創建完成以后,進入到主頁。

bc5103b36bdf2017f6d782151e41e5a3.png

12、可以看到它支持的客戶端,包括C#,以及其他很多別的支持。說明還是比較強大了,支持的方案有很多,以及也可以支持從消息隊列、系統日志、其他數據庫等地方進行導入或寫入數據,有待大佬們自己摸索了。

83d9af50d61e3aa1e1aecb12b3fab339.png

13、找到API TOKENS選項,這里會生成用戶的一個唯一token信息,用來寫代碼時候會用到。

f2cfeac80479f35b7baafe60281f4df6.png

14、點擊用戶's Token,可以打開具體的token信息

81c0e77fd709b74d766ea12fc9795f4e.png

15、找到token信息,可以先拷貝下來備用。或者等下需要的時候,知道在這里尋找也可以。

5aa13e281bdeab9f86b468672bcb9d07.png

16、接下來開始寫個代碼進行演示一下基礎操作,當作入個門。創建一個控制臺項目,叫InfluxDbTest

6d4a28ac29f34f37feb926ab31e63b07.png

17、此處選擇.net 6版本環境,當然,大佬們也可以選擇其他環境,問題不大的。

ae9c0364b26af291027995a1fe7f3948.png

18、創建完成以后,引入nuget包 InfluxDB.Client

2db91a722049bf37118f73eed0b0d174.png

19、寫點代碼測試一下(源碼會附錄在文末),此處先創建客戶端,然后定義組織、以及實例(Bucket),然后通過寫入一個數據進行進行測試(此處手抖了一下,我運行了兩次,所以實際寫入了兩個數據)

備注:寫入數據或者讀寫或者其他操作,也可以參考上面influxdb面板里面提供C#功能的案例里面,點擊進去可以看到一些例子。

94206792fbe07d3096cb3bbabb6c45cb.png

20、如圖,可視化面板里面,可以進行數據查詢,以及數據可視化。Bucket就是咱們創建的數據庫實例,mem就是對應上面的代碼里面寫的mem,可以當作是一個表,然后是一些標簽、字段等。Field是字段,可以自己拓展其他字段等等。

4aee5e2d4fb912a07378297da6f759c3.png

21、寫個循環,累加測試一下,改造一下代碼,然后繼續運行。

467137684c829cf4b2f0fb0215903183.png

22、可以看到數據一直往上飄,因為值是累加的,所以效果和預期一致。

3ac4e16387c0c44090200fd7112f7961.png

23、來點刺激一點的測試,搞個隨機數,可能效果會好玩一點。此處弄個寫入0-100的隨機數,然后間隔10msx寫入一次。

8a810b09037ebb5209e732dd0f465e15.png

24、讓顯示的按照10ms為單位進行顯示,效果如圖,數值都是隨機的,所以走勢就很花里胡哨了。

0cfbff2da99eac7d6b5b101f31f82e52.png

25、展示效果選擇表格樣式,如圖,也是可以的。

b117d49dc47ea2e3e242a01007cf2dfd.png

有關最終的代碼:

02e74e1dfb4fadbc5dc0774942519567.jpeg

using InfluxDB.Client;using InfluxDB.Client.Api.Domain;using InfluxDB.Client.Writes;Console.WriteLine("Hello, World!");const string token = "mOGqO3m23KHOAnsByiEAS6rJGEZEl0iuhZNGn0QNbg_vs4P_Rqa9_eWmnuYb_ovS7dy2G19xA-SqR6RMlQ3iXw==";  // influxdb生成的tokenconst string org = "Organization";const string bucket = "Bucket";using (var client = InfluxDBClientFactory.Create("http://localhost:8086", token))  // 生產環境下使用,可以使用單例來注冊使用同一個客戶端,減少創建次數{    using (var writeApi = client.GetWriteApi()){        for (int i = 0; i <= 1000; i++){            var point = PointData.Measurement("mem").Tag("host", "local").Field("Field1", new Random().Next(0,100)).Timestamp(DateTime.UtcNow, WritePrecision.Ns);writeApi.WritePoint(point, bucket, org);Thread.Sleep(10);}}}Console.WriteLine("Hello, World 2 !");Console.ReadLine();

99e99d9d00fb80c84aa7b00ab0ccee5e.jpeg

以上就是該文章的全部內容,時序數據庫可以用于工業物聯網環境下,特別是對設備數值進行監控,可以很直觀看出每個時間區間的狀態圖、或者步行圖等等。歡迎大佬們自行去拓展更加風騷的玩法,此處僅用于入門教程。

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

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

相關文章

官宣 微軟跨平臺 UI 框架 .NET MAUI 6 正式發布

微軟宣布 .NET MAUI 已正式 GA。 .NET MAUI (.NET Multi-platform App UI) 是一個跨平臺 UI 框架&#xff08;前身是 Xamarin.Forms&#xff09;&#xff0c;用于通過 C# 和 XAML 創建原生移動和桌面應用。基于 .NET MAUI&#xff0c;開發者可在單個共享代碼庫中創建同時支持 A…

92. Reverse Linked List II

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1->2->3->4->5->NULL, m 2 and n 4, return 1->4->3->2->5->NULL. Note:Given m, n satisfy the following condition:1 ≤ m ≤ n ≤ lengt…

Reset

在常用的代碼中&#xff0c;我們使用AddForm.form.reset();或者AddForm.getForm().reset();來將FormPanel重置。 但是當頁面增加和修改公用一個formpanel時&#xff0c;當先點擊修改時&#xff0c;窗體修改顯示出數據&#xff0c;關閉窗體后&#xff08;window.hide()&#xff…

《.NET物聯網從零開始》系列

近日搞硬件網關時&#xff0c;那些殘存的數電、模電和通信原理的記憶時常在腦海中縈繞&#xff1b;想起來多年前看張高興的博客學會了.netcore樹莓派進行物聯網開發。使用dragonboard(龍板)搭載windows 10 iot系統&#xff0c;配合光電傳感器和rfid實現了一個項目原型。碰巧逛g…

設計好接口的 36 個錦囊(原則)

目錄 設計好接口的 36 個錦囊 | 接口參數校驗 | 修改老接口時&#xff0c;注意接口的兼容性 | 設計接口時&#xff0c;充分考慮接口的可擴展性 | 接口考慮是否需要防重處理 | 重點接口&#xff0c;考慮線程池隔離 | 調用第三方接口要考慮異常和超時處理 | 接口實現考慮…

嵌入式第11次實驗

嵌入式軟件設計第11次實驗報告 學號&#xff1a;140201236 姓名&#xff1a;沈樟偉 組別&#xff1a;第2組 實驗地點&#xff1a;D19 一、實驗目的&#xff1a; 1、了解短信AT指令的使用方法。 2、掌握使用短信AT指令驅動SIM900A發送和接收短信的方…

Linux文件系統之df

df用于查看當前掛載的文件系統-a 查看所有的文件系統可以自己指定容量單位&#xff0c;-BM -BG 但是還是h的選項好用-i 查看inode的使用信息-l(L) 顯示本地文件系統--output 可以指定管理員想要看的列--outputField_List可用的字段有source fstype itotal iused iavail ipcent …

普通老實人的生活

2019獨角獸企業重金招聘Python工程師標準>>> 有一個朋友&#xff0c;他家有一套營業房&#xff0c;租給了兩個年輕人&#xff0c;合同簽訂為半年&#xff0c;房租7000&#xff0c;合同到期當天&#xff0c;乙方一直沒有聯系甲方&#xff0c;說明續租或不續租&#x…

如何在 C# 中運行 Python 代碼

前言Python是一門強大的編程語言。特別的是&#xff0c;它還具有眾多出色的庫&#xff08;例如numPy&#xff0c;sciPy&#xff0c;pandas等&#xff09;&#xff0c;可以顯著簡化和加速開發。因此&#xff0c;在解決某些問題時&#xff0c;通過 Python 實現可能是最理想的方式…

Ubuntu開機默認進入命令行模式/用戶圖形界面

一、開機默認進入命令行模式 # 輸入命令&#xff1a; sudo systemctl set-default multi-user.target # 重啟&#xff1a; reboot要進入圖形界面&#xff0c;只需要輸入命令startx 從圖形界面切換回命令行&#xff1a;ctrlaltF7 二、開機默認進入圖形用戶界面 # 輸入命令&…

數組查找數字5

public class Second {/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stubint []a{2,1,3,4,5};for (int i0;i<a.length-1;i){if(a[i]!5){i;}}System.out.println("這組數里有5呢"); }} 轉載于:https://www.cnblogs.co…

【QGIS入門實戰精品教程】10.2:QGIS中DEM三維顯示方法

QGIS中數字高程模型DEM三維顯示方法。 參考閱讀: 【ArcGIS Pro微課1000例】0006:ArcGIS Pro 2.5三維顯示DEM數字高程模型 【ArcGIS Pro微課1000例】0005:ArcGIS Pro 2.5基于矢量數據制作拉伸三維地圖案例 ArcGIS實驗教程——實驗二十六:ArcScene實現二維數據的三維顯示 文章…

AUTH password

為redis服務請求設置一個密碼。redis可以設置在客戶端執行commands請求前需要通過密碼驗證。通過修改配置文件的requirepass就可以設置密碼。 如果密碼與配置文件里面設置的密碼一致&#xff0c;服務端就會發會一個OK的狀態碼&#xff0c;接受客戶端發送其他的請求命令&#xf…

基于Dubbo框架構建分布式服務(三)

我們將上面開發的服務提供方服務&#xff0c;部署到2個獨立的節點上&#xff08;192.168.14.1和10.10.4.125&#xff09;&#xff0c;然后可以通過Dubbo管理中心查看對應服務的狀況&#xff0c;如圖所示&#xff1a; 上圖中可以看出&#xff0c;該服務有兩個獨立的節點可以提供…

開篇-開啟全新的.NET現代應用開發體驗

01云原生技術底座暢想DaprMASA Framework研發管理研發協作平臺&#xff1a;CI/CD、Application ManagementApplication Quota Management、Version Control、Troubleshooting、Testable網格應用程序管理API網關&#xff1a;Reverse Proxy、Traffic Control 、Security Strategy…

Ubuntu安裝docker詳細教程

1.安裝 sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository &qu…

java多線程編程——鎖優化

并發環境下進行編程時&#xff0c;需要使用鎖機制來同步多線程間的操作&#xff0c;保證共享資源的互斥訪問。加鎖會帶來性能上的損壞&#xff0c;似乎是眾所周知的事情。然而&#xff0c;加鎖本身不會帶來多少的性能消耗&#xff0c;性能主要是在線程的獲取鎖的過程。如果只有…

【QGIS入門實戰精品教程】10.3:QGIS柵格DEM數據重復類方法案例匯總

QGIS柵格DEM數據重復類方法案例匯總:按表格重分類、按圖層重分類。 參考閱讀: 【GlobalMapper精品教程】029:柵格重分類案例詳解 ArcGIS實驗教程——實驗四十三:ArcGIS柵格重分類(Reclass)案例詳解 ArcGIS怎樣獲取重分類后各類所占的像元個數 文章目錄 一、按表格分類二、…

QT添加rtmp庫的時候出現問題

剛開始出現undefined reference to __chkstk的錯誤。 然后在vc里面找到chkstk.obj放到相關目錄下并在工程文件直接添加&#xff1a; LIBS "E:\QTProjects\RTMP\RTMPDelayTest\librtmp\lib\chkstk.obj" 又出現了新的錯誤 E:\QTProjects\RTMP\RTMPDelayTest\librtmp\l…

@Before,@BeforeClass,@BeforeEach和@BeforeAll之間的區別

Before的代碼在每次測試之前執行 BeforeClass在整個測試方法執行之前運行一次 如果您的測試類有十個測試&#xff0c;則Before代碼將執行十次&#xff0c;但是BeforeClass將僅執行一次。 當多個測試需要共享相同的代碼時&#xff0c;可以使用BeforeClass 。 建立數據庫連接屬于…