前言:如題。直接上手擼,附帶各種截圖,就不做介紹了。
1、influxDB的官網下載地址? https://portal.influxdata.com/downloads/
打開以后,如下圖所示,可以選擇版本號,以及平臺。此處咱們選擇windows平臺。不過此處沒有實際的可以下載的地方,著實比較過分,不過咱們可以另辟蹊徑。
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是版本號,可以通過修改這個版本號來下載你所需要的具體版本文件。
3、或者通過這個地址進行下載:
https://docs.influxdata.com/influxdb/v2.1/install/?t=Windows
其中,/v2.1是版本號,把2.1改成2.3就可以下載2.3的版本了。此處僅做個實驗,例如下載2.1版本。
4、可以對比下真實的下載鏈接地址,與上面的2.3.0版本地址只差了一個版本號信息,其他都一樣。
5、此處使用2.3.0版本,解壓以后進行使用。
6、CMD到解壓的根目錄下,直接執行influxdb.exe文件(cmd命令執行,不會閃退,直接點有可能會一閃而過)
備注:也可以通過nssm工具進行部署成Windows服務,部署方法可以參考我的其他博客內容,有相關信息,此處不再重復寫。
7、啟動以后,在cmd窗口也可以看到默認端口號8086,所以在地址欄輸入 htp://127.0.0.1:8086/onboarding/? 就可以打開起始監控面板,然后進行一些初始化操作了。
8、打開初始頁面,可以用來創建初始用戶信息
9、例如,我此處創建一個用戶 wesky,以及有關的組和實例,如圖備注的信息。然后執行下一步(CONTINUE)
10、選擇快速開始
11、創建完成以后,進入到主頁。
12、可以看到它支持的客戶端,包括C#,以及其他很多別的支持。說明還是比較強大了,支持的方案有很多,以及也可以支持從消息隊列、系統日志、其他數據庫等地方進行導入或寫入數據,有待大佬們自己摸索了。
13、找到API TOKENS選項,這里會生成用戶的一個唯一token信息,用來寫代碼時候會用到。
14、點擊用戶's Token,可以打開具體的token信息
15、找到token信息,可以先拷貝下來備用。或者等下需要的時候,知道在這里尋找也可以。
16、接下來開始寫個代碼進行演示一下基礎操作,當作入個門。創建一個控制臺項目,叫InfluxDbTest
17、此處選擇.net 6版本環境,當然,大佬們也可以選擇其他環境,問題不大的。
18、創建完成以后,引入nuget包 InfluxDB.Client
19、寫點代碼測試一下(源碼會附錄在文末),此處先創建客戶端,然后定義組織、以及實例(Bucket),然后通過寫入一個數據進行進行測試(此處手抖了一下,我運行了兩次,所以實際寫入了兩個數據)
備注:寫入數據或者讀寫或者其他操作,也可以參考上面influxdb面板里面提供C#功能的案例里面,點擊進去可以看到一些例子。
20、如圖,可視化面板里面,可以進行數據查詢,以及數據可視化。Bucket就是咱們創建的數據庫實例,mem就是對應上面的代碼里面寫的mem,可以當作是一個表,然后是一些標簽、字段等。Field是字段,可以自己拓展其他字段等等。
21、寫個循環,累加測試一下,改造一下代碼,然后繼續運行。
22、可以看到數據一直往上飄,因為值是累加的,所以效果和預期一致。
23、來點刺激一點的測試,搞個隨機數,可能效果會好玩一點。此處弄個寫入0-100的隨機數,然后間隔10msx寫入一次。
24、讓顯示的按照10ms為單位進行顯示,效果如圖,數值都是隨機的,所以走勢就很花里胡哨了。
25、展示效果選擇表格樣式,如圖,也是可以的。
有關最終的代碼:
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();
以上就是該文章的全部內容,時序數據庫可以用于工業物聯網環境下,特別是對設備數值進行監控,可以很直觀看出每個時間區間的狀態圖、或者步行圖等等。歡迎大佬們自行去拓展更加風騷的玩法,此處僅用于入門教程。