InfluxDB是一款开源的时间序列数据库(Time Series Database, TSDB),由InfluxData公司开发,特别适用于存储和查询以时间戳为索引的数据。其设计目标在于高效地处理大规模的实时监控数据,如系统性能指标、应用程序日志、物联网传感器数据等场景。
主要特点:
1、高性能:
InfluxDB被优化用于快速写入和查询操作,尤其针对高频度、大量并发写入的情况。
它支持连续查询(Continuous Queries),能够在数据进入时自动进行预计算和聚合,减轻查询压力。
2、模式与灵活性:
数据模型基于系列(series),每个series由measurement(类似于关系型数据库中的表)、tags(标签,用于分组和过滤)以及fields(实际数值数据)组成。
支持动态Schema,无需预先定义所有字段,可以根据需要随时添加新的field值。
3、SQL-like查询语言:
提供了类SQL的查询语法(InfluxQL)以简化数据读取和分析,同时也支持更现代的Flux查询语言,它更加灵活并提供更强大的数据处理能力。
4、高可用性与可扩展性:
可以配置集群部署以实现高可用性和水平扩展。
支持副本集(replication)和分片(sharding),确保数据的安全性和在分布式环境下的高效处理。
5、插件和集成:
InfluxDB可以与其他工具和服务集成,例如Telegraf作为数据收集代理、Kapacitor用于数据处理和警报触发器,共同构成了InfluxData的TICK Stack(Telegraf、InfluxDB、Chronograf、Kapacitor)。
6、监控与可视化:
配合Chronograf或其他第三方可视化工具,可以轻松构建实时监控仪表板和报警系统。
随着版本迭代,InfluxDB的功能越来越强大,并且在全球范围内得到了广泛应用,在生产环境中常用于监控、数据分析和物联网项目中。

下载

wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.4.0-linux-amd64.tar.gz 安装(没有/opt/module/目录的话先创建)

tar -zxvf influxdb2-2.4.0-linux-amd64.tar.gz -C /opt/module/ 运行

cd /opt/module/influxdb2_linux_amd64/ ./influxd

访问页面 http://ip:8086/

下载安装telegraf

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.23.4_linux_amd64.tar.gz tar -zxvf telegraf-1.23.4_linux_amd64.tar.gz -C /opt/module/ cd /opt/module/telegraf-1.23.4/usr/bin

复制API Token 到/opt/module/telegraf-1.23.4/usr/bin目录下粘贴,按回车

使用Scrapers获取数据来源

下载安装启动 普罗米修斯

wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz tar -zxvf node_exporter-1.6.1.linux-amd64.tar.gz -C /opt/module/ cd /opt/module/node_exporter-1.6.1.linux-amd64 ./node_exporter

访问:http://ip:9100/metrics 就能看到监控系统情况数据指标

命令

InfluxDB数据库常用命令 1、显示所有数据库

show databases

2、 创建数据库

create database test

3、 使用某个数据库

use test

4、 显示所有表

show measurements

没有表则无返回。

5、新建表和插入数据

新建表没有具体的语法,只是增加第一条数据时,会自动建立表

insert results,hostname=index1 value=1

这里的时间看不懂,可以设置一下时间显示格式

precision rfc3339

6、 查询数据

表名有点号时,输入双引号

和sql语法相同,区别:

measurement 数据库中的表

points 表里面的一行数据,Point由时间戳(time)、数据(field)、标签(tags)组成。

7、 用户显示

a. 显示所有用户

show users

b.新增用户

--普通用户

create user "user" with password 'user'

--管理员用户

create user "admin" with password 'admin' with all privileges

c.删除用户

drop user "user"

很多InfluxDB的文章都说InfluxDB是时序数据库,不支持删除。但实际测试是可以删除的。

连接InfluxDB 一张叫uv的表

执行删除后

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐