C#使用时序数据库InfluxDB
- 其他
- 2025-08-13 00:51:02

一、安装
docs.influxdata /influxdb/v2/install/?t=Windows
解压后使用cmd运行访问 localhost:8086
配置第一次登入会初始化
配置登入账号 保存TOKEN这个TOKEN用于后期代码链接访问数据库,忘记了只能删除重新生成
点击QUCK START进入管理页面
默认配置文件windows:在用户文件夹下 C:\Users\Administrator.influxdbv2 linux: /etc/influxdb/influxdb.conf
二、C#调用 Load Data>Sources 选择c# 查看配置示例 创建一个控制台程序安装InfluxDB客户端
创建链接 using System.Linq; using System.Threading.Tasks; using InfluxDB.Client; using InfluxDB.Client.Api.Domain; using InfluxDB.Client.Core; using InfluxDB.Client.Writes; namespace Examples { public class Examples { public static async Task Main(string[] args) { // You can generate an API token from the "API Tokens Tab" in the UI var token = Environment.GetEnvironmentVariable("INFLUX_TOKEN")!; const string bucket = "Test"; const string org = "CC"; using var client = new InfluxDBClient("http://127.0.0.1:8086", token); } } } 写入数据 //方式一、使用WriteRecord const string data = "mem,host=host1 used_percent=23.43234543"; using (var writeApi = client.GetWriteApi()) { writeApi.WriteRecord(data,bucket, org, WritePrecision.Ns ); } //方式二、使用WritePoint var point = PointData .Measurement("mem") .Tag("host", "host1") .Field("used_percent", 23.43234543) .Timestamp(DateTime.UtcNow, WritePrecision.Ns); using (var writeApi = client.GetWriteApi()) { writeApi.WritePoint(point,bucket, org); } //方式三、使用实体类 var mem = new Mem { Host = "host1", UsedPercent = 23.43234543, Time = DateTime.UtcNow }; using (var writeApi = client.GetWriteApi()) { writeApi.WriteMeasurement( mem,bucket, org, WritePrecision.Ns); } [Measurement("mem")] private class Mem { [Column("host", IsTag = true)] public string Host { get; set; } [Column("used_percent")] public double? UsedPercent { get; set; } [Column(IsTimestamp = true)] public DateTime Time { get; set; } } 最终测试代码 // See aka.ms/new-console-template for more information using InfluxDB.Client; using InfluxDB.Client.Api.Domain; using InfluxDB.Client.Writes; Console.WriteLine("Hello, World!"); Environment.SetEnvironmentVariable("INFLUX_TOKEN", "O9I2Kpeg...kLPSrQLWhTiJCQPWy6HJFjN9hK33UoLnG34vfFdqZ5KmoDLS-kkw=="); var token = Environment.GetEnvironmentVariable("INFLUX_TOKEN")!; const string bucket = "Test"; const string org = "CC"; using (var client = new InfluxDBClient("http://localhost", token)) { using (var writeApi = client.GetWriteApi()) { while (true) { var randon = new Random(); var point = PointData .Measurement("mem") .Tag("host", "host1") .Field("used_percent", randon.Next(10, 100)) //可以添加多个字段 .Field("memory_percent",randon.Next(0,10)) .Timestamp(DateTime.UtcNow, WritePrecision.Ns); writeApi.WritePoint(point, bucket, org); Thread.Sleep(2000); } } } 在管理页面查看数据
C#使用时序数据库InfluxDB由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C#使用时序数据库InfluxDB”
上一篇
LinuxSSH免密登录