前言:如题。直接上手撸,附带各种截图,就不做介绍了。
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();
以上就是该文章的全部内容,时序数据库可以用于工业物联网环境下,特别是对设备数值进行监控,可以很直观看出每个时间区间的状态图、或者步行图等等。欢迎大佬们自行去拓展更加风骚的玩法,此处仅用于入门教程。