其他分享
首页 > 其他分享> > Prometheus远端存储InfluxDB

Prometheus远端存储InfluxDB

作者:互联网

1. Influx介绍

InfluxDb是一个开源分布式时序、时间和指标数据库。采用Go语言编写。其设计目的是实现分布式和水平伸缩扩展,是InfluxData的核心产品之一。主要用于性能监控、应用程序指标、物联网传感器数据和实时分析的后端存储。完整的InfluxData上下游产业还包括了Chronograf、Telegraf和Kapacitor,如下图所示。

2.与传统数据库对比

Influxdb中的概念 传统数据库中的概念
database 数据库
measurement 数据库中的表
point 表中的一行数据
Point属性 含义
time 数据记录的时间,是主索引(自动生成)
tags 各种索引的属性
fields value值

3. 安装

# 下载influxdb-1.8
wget  https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0.x86_64.rpm
# 安装
yum -y localinstall influxdb-1.8.0.x86_64.rpm
# 启动
systemctl start influxdb

配置文件路径在/etc/influxdb/influxdb.conf

4. 客户端登录

客户端输入influx, 进入influx交互式界面。

image-20220614164151570

展示所有的数据库show databases

image-20220614164218343

创建新的名为prometheus的数据库

 create database prometheus

5. 配置Prometheus

在prometheus.yml配置文件中,添加remote_write

remote_write:
  - url: "http://localhost:8086/api/v1/prom/write?db=prometheus"

image-20220614164615941

检查prometheus.yml配置文件是否正确

./promtool check config prometheus.yml

重启

# 重启
systemctl restart prometheus
# 查看状态
systemctl status prometheus

6. 验证

切换到Prometheus数据库,执行show measurements,查看度量信息。

image-20220614165538131

可以看到prometheus指标已经存储到InfluxDB中。

7. 清除策略

对于传统关系型数据库,增删改查应该是必备且常用的功能,而influxdb常用的只有insert和select,没有提供update语法。

因为存储的数据都是跟时间有关的测量数值,多用于图表展示,不太需要人为的去删除,而有时统计的数据是秒级,甚至毫秒级、纳秒级的,势必造成数据量巨大。如果一直长久存储会占用机器大量资源,而且有些数据越旧越失去它的时效性,越没有参考价值,所以保留策略retention policy就是可以让数据存储一段时间后自动清除。

查看某数据库保留策略

show retention policies on prometheus

image-20220614170851897

参考博客

  1. influxdb基础(四)——influxdb保留策略(retention policy)自动清理过期数据

  2. Prometheus远端存储InfluxDB1.x和InfluxDB2.x

标签:存储,数据库,prometheus,influxdb,Prometheus,InfluxDB,远端,数据
来源: https://www.cnblogs.com/shine-rainbow/p/16375474.html