C#使用时序数据库 InfluxDB

一、安装

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

image.png

解压后使用cmd运行

image.png
访问 localhost:8086

配置

第一次登入会初始化
image.png

配置登入账号

image.png

保存TOKEN

这个TOKEN用于后期代码链接访问数据库,忘记了只能删除重新生成

image.png
点击QUCK START进入管理页面
image.png
image.png

默认配置文件

windows:在用户文件夹下 C:\Users\Administrator.influxdbv2
linux: /etc/influxdb/influxdb.conf

二、C#调用

Load Data>Sources 选择c# 查看配置示例

image.png

创建一个控制台程序

安装InfluxDB客户端
image.png

创建链接
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);
    }
  }
}
写入数据

image.png

//方式一、使用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 https://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);
        }
    }
}
在管理页面查看数据

image.png
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/144195.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

原神助手 一款支持祈愿分析、查看便签状态和获取游戏详细数据的开源工具。

原神助手 「原神助手」支持祈愿分析、查看便签状态和获取游戏详细数据等。 如何获取祈愿链接 如果你是在 Windows 平台上游玩原神并且当前使用的电脑上安装了原神,那么你可以: 打开原神,进入祈愿页面,点击历史记录,…

SQLite3 数据库学习(一):数据库和 SQLite 基础

参考引用 SQL 必知必会SQLite 权威指南(第二版)关系型数据库概述 1. 数据库基础 1.1 什么是数据库 数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件) 可以将其想象为一个文…

WebMvcConfigurer配置详解

一、简介 WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于ja…

MongoDB入门级别教程全(Windows版,保姆级教程)

下载mongodb 进入官网: Download MongoDB Community Server | MongoDB 选择msi,Windows版本 下载完后直接双击: 选择complete 这里建议改地方: 我这里直接改成d盘:work目录下面: 点击next: 因…

【04】Istio的pilot流量分发机制

4.1 Pilot配置分发机制 Pilot负责网格数据平面相关配置信息的获取,生成,和分发,它通过Service Registry获取网格配置信息并将其转换为XDS接口的标准数据格式,而后经gRPC分发至相关的Envoy; Service Registry:服务注册表…

ARPG----C++学习记录05 Section10 武器类,IK重定向,装备和捡起武器,动画蓝图

代码更新 11.13 BAOfanTing/ARPG_Game_Code7ab54d2 GitHub 武器类 基于item类,创建一个weapon的C类,基于它创建一个蓝图,刀剑的网格体给它。在蓝图里调动之前在C写好的sin函数添加到世界偏移量里,得到一把悬浮刀 在item把重叠函…

13.利用辗转相除法求两个整数的最大公约数和最小公倍数。如96,36

文章目录 前言一、题目描述 二、题目分析 三、解题 前言 本系列为循环结构编程题,点滴成长,一起逆袭。 一、题目描述 利用辗转相除法求两个整数的最大公约数和最小公倍数,如96,36 二、题目分析 最小公倍数(输入的两个数之积)除(它们的最大公约数) 三…

编程怎么学习视频教程,编程实例入门教程,中文编程开发语言工具下载

编程怎么学习视频教程,编程实例入门教程,中文编程开发语言工具下载。 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的软件…

uniapp项目运行到网易mumu模拟器流程,5分钟不到就可以运行

开发了一个uniappvitevue3的跨平台项目,但是想在手机模拟器中测试一下效果,所以就用网易mumu这个模拟器测试了,因为这是uniapp官方推荐的模拟器,所以下面开始流程:先打开网易mumu模拟器的开发者模拟。系统应用 > 设…

打造全身视角的医院可视化能源监测管理平台,实现医院能源可视化管理

医院是大型公共建筑的一种,随着医院规模的不断扩大,医院能源消耗剧增,能源消耗居高不下。医院对于能源监管的需求也越来越高。医院建立一套能耗监测管理平台,对于降低医院能耗有着非常重要的作用。 医院能耗存在的问题 1、医院能…

突破职场竞争,引领未来发展:考取《研发效能(DevOps)工程师职业技术认证》

就业形势堪忧,什么最有保障?考个“国家级”证书傍身吧! 工信部教考中心作为中国领先的行业技能认证机构,其颁发的认证证书不仅代表了个人在信息技术领域的专业能力,更可以录入工业和信息化技术技能人才数据库&#xf…

视频封装格式

FLV(Flash Video) FLV封装格式 Tag Data分为Audio,Video,Script三种 TS(Transport Stream)传输流 TS文件分为三层,(倒叙更好理解) TS层:在PES层基础上加入…

在SpringBoot中使用EhCache缓存

在使用EhCache缓存之前,我们需要了解的是EhCache缓存是啥? Ehcache的概述 Ehcache是一个开源的Java缓存框架,用于提供高效的内存缓存解决方案,他可以用于缓存各种类型的数据,包括对象,查询结果&#xff0…

第二证券:被举牌一般会有几个涨停?

跟着股市的昌盛,越来越多的人初步查验出资,而其中一个备受注重的策略就是“举牌”。举牌是指某个股东对股票达到了必定比例的控制权,并告诉公司的一种行为。这种行为除了会对公司股价构成影响之外,还可以让股民猜疑和进一步价格走…

盘点60个Python网站项目Python爱好者不容错过

盘点60个Python网站项目Python爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 链接:https://pan.baidu.com/s/1mY8pNUpZEV0Q-5-UvJTtBA?pwd8888 提取码:8888 项目名称 (No longermainta…

【前端开发】图例宽度根据数值自适应

前端开发 先看结果图 图例的宽度会随数值的改变而变化。 HTML部分 <!-- 数值部分 --> <ul class"tuli" ref"num"><listyle"margin-top: 5px;padding: 0 5px;text-align: center;"v-for"item of itemArr":key"i…

运动耳机哪个牌子好性价比高?运动耳机品牌排行榜前十名

​其实&#xff0c;选择运动耳机并不只是看外观&#xff0c;性能也同样重要。在选择时&#xff0c;我们需要考虑几个关键因素&#xff0c;例如稳固性、舒适度和音质等。这些都是运动耳机必备的要求&#xff0c;因为它们能帮助我们在运动时更加专注于锻炼&#xff0c;而不会被耳…

优化千万级数据表的实用指南

文章目录 优化千万级数据表的一次实践一、查询耗时太长二、优化解决方案三、优化后查询速度 优化千万级数据表的一次实践 一、查询耗时太长 随着数据量的增长&#xff0c;数据库性能往往成为关注的焦点。特别是在处理千万级数据表时&#xff0c;查询性能往往成为一个挑战。在这…

【运维 监控】Grafana + Prometheus,监控Linux

安装和配置Grafana与Prometheus需要一些步骤&#xff0c;下面是一个简单的指南&#xff1a; 安装 Prometheus&#xff1a; 使用包管理器安装 Prometheus。在 Debian/Ubuntu 上&#xff0c;可以使用以下命令&#xff1a; sudo apt-get update sudo apt-get install prometheus在…

企业软件定制开发流程|app小程序网站建设

企业软件定制开发流程|app小程序网站建设 随着信息技术的不断发展&#xff0c;企业日常运营对于软件的需求也越来越高。然而&#xff0c;市面上的通用软件往往无法满足企业的具体需求&#xff0c;因此&#xff0c;越来越多的企业选择进行软件定制开发&#xff0c;以便更好地满足…