当前位置: 首页 > article >正文

从零开始学习InfluxDB:安装和使用入门教程

InfluxDB 安装使用入门教学

InfluxDB 是一种流行的开源时间序列数据库,它专门用于存储和查询时间相关的数据。本篇文章将为你提供 InfluxDB 的安装和入门使用教程。

步骤 1:安装 InfluxDB

你可以从 InfluxDB 的官方网站下载适用于不同操作系统的 InfluxDB 安装包。在本教程中,我们将介绍在 Ubuntu 上安装 InfluxDB 的步骤。

1.打开终端并输入以下命令以添加 InfluxDB 的 GPG 密钥:


$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -

2.添加 InfluxDB 的 APT 仓库:


$ echo "deb https://repos.influxdata.com/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

3.更新 APT 仓库并安装 InfluxDB:


$ sudo apt-get update $ sudo apt-get install influxdb

步骤 2:启动 InfluxDB

安装 InfluxDB 后,你需要启动 InfluxDB 服务并检查其状态。

1.启动 InfluxDB 服务:


$ sudo service influxdb start

2.检查 InfluxDB 服务状态:


$ sudo service influxdb status

如果服务正在运行,则会显示“active (running)”状态。

步骤 3:使用 InfluxDB

InfluxDB 的命令行界面(CLI)称为 InfluxQL。你可以使用 InfluxQL 执行以下操作:

1. 创建数据库

InfluxQL 中,你可以使用 CREATE DATABASE 命令创建数据库。例如,要创建一个名为 mydb 的数据库,请执行以下命令:


$ influx > CREATE DATABASE mydb

2. 插入数据

InfluxDB 是一种时间序列数据库,因此你可以使用 INSERT 命令将数据插入到数据库中。例如,要将名为 cpu 的测量值插入到 mydb 数据库中,请执行以下命令:


$ influx > INSERT cpu,host=serverA,region=us_west value=0.64

3. 查询数据

你可以使用 SELECT 命令查询数据。例如,要查询 mydb 数据库中 cpu 测量值的所有数据,请执行以下命令:


$ influx > SELECT * FROM cpu

4. 删除数据

你可以使用 DELETE 命令删除数据。例如,要删除 mydb 数据库中 cpu 测量值的所有数据,请执行以下命令:


$ influx > DELETE FROM cpu

5. 删除数据库

你可以使用 DROP DATABASE 命令删除数据库。例如,要删除名为 mydb 的数据库,请执行以下命令:


$ influx > DROP DATABASE mydb

springboot 整合influxdb

Spring Boot中,我们可以使用influxdb-java库来与InfluxDB进行集成。下面是一个简单的示例,展示了如何使用Spring Bootinfluxdb-java库来连接和操作InfluxDB

1.首先,需要在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.influxdb</groupId>
    <artifactId>influxdb-java</artifactId>
    <version>2.15</version>
</dependency>

2.在application.properties文件中添加以下配置:

spring.influx.url=http://localhost:8086
spring.influx.username=admin
spring.influx.password=admin
spring.influx.database=mydb

3.创建InfluxDBTemplate bean

@Configuration
public class InfluxDbConfig {
 
    @Autowired
    private InfluxDBProperties influxDBProperties;
 
    @Bean
    public InfluxDBConnectionFactory influxDBConnectionFactory() {
        return new InfluxDBConnectionFactory(influxDBProperties);
    }
 
    @Bean
    public InfluxDBTemplate influxDBTemplate(@Autowired InfluxDBConnectionFactory connectionFactory) {
        return new InfluxDBTemplate(connectionFactory);
    }
 
}

4.创建一个实体类,用于映射InfluxDB中的数据点:

@Data
@NoArgsConstructor
@AllArgsConstructor
@Measurement(name = "temperature")
public class TemperaturePoint {
 
    @Column(name = "time")
    @TimeField
    private Instant time;
 
    @Column(name = "value")
    private Double value;
 
    @Column(name = "location")
    private String location;
 
}

5.在代码中使用InfluxDBTemplate来插入数据

@Autowired
private InfluxDBTemplate<TemperaturePoint> influxDBTemplate;
 
public void insertData(TemperaturePoint point) {
    influxDBTemplate.write(point);
}

6.在代码中使用InfluxDBTemplate来查询数据

@Autowired
private InfluxDBTemplate<TemperaturePoint> influxDBTemplate;
 
public List<TemperaturePoint> queryData() {
    Query query = new Query("SELECT * FROM temperature", influxDBProperties.getDatabase());
    QueryResult result = influxDBTemplate.query(query);
    return resultMapper.toPOJO(result, TemperaturePoint.class);
}

这样就完成了Spring BootInfluxDB的集成。你可以使用InfluxDBTemplate来进行各种操作,如插入、查询和删除数据。

结论

本文提供了 InfluxDB 的安装和入门使用教程。使用 InfluxDB 可以轻松地存储和查询时间序列数据。在实际应用中,你可以使用 InfluxDB 来监视服务器性能、应用程序指标等。


http://www.kler.cn/a/6525.html

相关文章:

  • c++ ------语句
  • 【QSS样式表 - ⑤】:QLineEdit控件样式
  • 第十五届蓝桥杯Scratch01月stema选拔赛—排序
  • 每日十题八股-2024年12月21日
  • RK3588 , mpp硬编码yuv, 保存MP4视频文件.
  • harmony UI组件学习(1)
  • C++ using:软件设计中的面向对象编程技巧
  • 分库分表笔记
  • MVVM理解、object.defineProperty、数据代理
  • Android动态换肤框架实现小结
  • 射频接收机概述
  • PyTorch模型保存方法对比及其实现原理详解
  • 大数据领域的发展及其对现实世界的价值
  • BloombergGPT(LLM大模型用于金融科技)
  • Qt源码阅读(三) 对象树管理
  • java程序中常见的漏洞类型
  • 五 MySQL 存储过程
  • [jetson]pillow 报ImportError: The _imagingft C module is not installed
  • Unity游戏逆向及破解方法介绍
  • BUUCTF-逆向[GXYCTF2019]luck_guy1题解
  • day14—编程题
  • JVM垃圾回收——ZGC垃圾收集器
  • 【算法】树状数组维护总结
  • 计算机底层:循环冗余校验码CRC
  • 实验十八、测量运放的开环差模放大倍数
  • 实验二 配置Trunk和链路汇聚