天天看點

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

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

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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是版本号,可以通過修改這個版本号來下載下傳你所需要的具體版本檔案。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

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

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

4、可以對比下真實的下載下傳連結位址,與上面的2.3.0版本位址隻差了一個版本号資訊,其他都一樣。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

備注:也可以通過nssm工具進行部署成Windows服務,部署方法可以參考我的其他部落格内容,有相關資訊,此處不再重複寫。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

7、啟動以後,在cmd視窗也可以看到預設端口号8086,是以在位址欄輸入 htp://127.0.0.1:8086/onboarding/  就可以打開起始監控面闆,然後進行一些初始化操作了。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

8、打開初始頁面,可以用來建立初始使用者資訊

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

9、例如,我此處建立一個使用者 wesky,以及有關的組和執行個體,如圖備注的資訊。然後執行下一步(CONTINUE)

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

10、選擇快速開始

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

11、建立完成以後,進入到首頁。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

13、找到API TOKENS選項,這裡會生成使用者的一個唯一token資訊,用來寫代碼時候會用到。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

14、點選使用者's Token,可以打開具體的token資訊

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

18、建立完成以後,引入nuget包 InfluxDB.Client

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

19、寫點代碼測試一下(源碼會附錄在文末),此處先建立用戶端,然後定義組織、以及執行個體(Bucket),然後通過寫入一個資料進行進行測試(此處手抖了一下,我運作了兩次,是以實際寫入了兩個資料)

備注:寫入資料或者讀寫或者其他操作,也可以參考上面influxdb面闆裡面提供C#功能的案例裡面,點選進去可以看到一些例子。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

20、如圖,可視化面闆裡面,可以進行資料查詢,以及資料可視化。Bucket就是咱們建立的資料庫執行個體,mem就是對應上面的代碼裡面寫的mem,可以當作是一個表,然後是一些标簽、字段等。Field是字段,可以自己拓展其他字段等等。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

22、可以看到資料一直往上飄,因為值是累加的,是以效果和預期一緻。

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

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

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體

有關最終的代碼:

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生成的token

const 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();      

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

如果對你有幫助,歡迎點贊、推薦、或留言。如果對.net 技術感興趣或比較有想法,也歡迎點選下發QQ群連結加入群組,一起吹牛一起嗨。當然也可以掃下方二維碼加我私人微信,我還可以拉你到微信群一起吹牛一起聊技術,也是可以的。如圖沒找到Q群和微信二維碼,說明URL不是最原始的,可以點選原文連結【https://www.cnblogs.com/weskynet/p/16426297.html】進行擷取

歡迎加入QQ群:

群号:1079830632

【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料可視化,以及使用 C#進行簡單操作的代碼執行個體