Prometheus写入influxDB:中间件remote_storage_adapter

Prometheus写入influxDB:中间件remote_storage_adapter

prometheus默认采用的是本地磁盘做数据存储,本地存储的优势就是运维简单但是缺点就是无法海量的metrics持久化和数据存在丢失的风险,数据写入可能造成wal文件损坏导致采集数据无法再写入的问题。
为了解决单节点存储的限制,prometheus没有自己实现集群存储,而是提供了远程读写的接口,让用户自己选择合适的时序数据库来实现prometheus的扩展性。
Prometheus 提供接口将数据写入到第三方存储系统亦提供接口读取第三方存储系统存储的数据原理如下所示:
在这里插入图片描述
接下来我们将node_exporter收集到Prometheus的数据持久化到influxdb数据库中
1.首先我们进入对应网站进行remote_storage_adapte下载:https://download.csdn.net/download/javaee_gao/12451525
2.将下载下来的文件包通过xshell上传到我们需要安装remote_storage_adapte的服务器上,我这里选择的服务器为:

[root@localhost Stability]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)

把程序包放到一个目录下面:

[root@localhost Stability]# pwd
/ftp/Stability
[root@localhost Stability]# ll |grep remote
-rw-r--r-- 1 root root 19878504 Mar 19 15:24 remote_storage_adapter
赋予相应的权限:
[root@localhost Stability]# chmod 777 remote_storage_adapter

2.然后我们启动该程序

[root@localhost Stability]# nohup ./remote_storage_adapter --influxdb-url=http://127.0.0.1:8086/ --influxdb.database="prometheus" --influxdb.retention-policy=autogen &

3.然后进入prometheus中prometheus.yml文件,使用vim进行编辑,添加如下内容

[root@localhost prometheus]# vi prometheus.yml
增加内容如下:
[root@localhost prometheus]# cat prometheus.yml 
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
# 远程写配置
remote_write:
  - url: "http://localhost:9201/write"
  # 配置连接influxdb连接的用户名与密码
    basic_auth:
      username: DGAtest
      password: DGAtest123
# 远程读配置
remote_read:
  - url: "http://localhost:9201/read"
    basic_auth:
      username: DGAtest
      password: DGAtest123

4.重启prometheus服务

[root@localhost prometheus]# systemctl restart prometheus

5.查看influxDB中是否有对应的数据信息(实际测试我使用了1.8.4的inflluxdb版本)

[root@localhost prometheus]# influx
Connected to http://localhost:8086 version 1.8.4
InfluxDB shell version: 1.8.4
> use prometheus
Using database prometheus
> show measurements
name: measurements
name
----
go_gc_duration_seconds
go_gc_duration_seconds_count
go_gc_duration_seconds_sum

相关推荐

  1. 中间

    2024-06-18 10:22:03       30 阅读
  2. Python 将Influxdb时序数据写入mysql库时遇到的问题

    2024-06-18 10:22:03       11 阅读
  3. 中间学习】什么是中间

    2024-06-18 10:22:03       27 阅读
  4. 自定义中间

    2024-06-18 10:22:03       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-18 10:22:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-18 10:22:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-18 10:22:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-18 10:22:03       18 阅读

热门阅读

  1. 数据仓库之Kappa架构

    2024-06-18 10:22:03       11 阅读
  2. iommu深度剖析虚拟化技术的隐形守护者

    2024-06-18 10:22:03       8 阅读
  3. Unity3D MMORPG加载背包配置表详解

    2024-06-18 10:22:03       7 阅读
  4. 单元的测试

    2024-06-18 10:22:03       6 阅读
  5. SQL server 内连接 左连接 右连接 全连接 语句

    2024-06-18 10:22:03       7 阅读
  6. 静态成员...

    2024-06-18 10:22:03       7 阅读
  7. 架构模式——分层架构

    2024-06-18 10:22:03       8 阅读
  8. MySQL:emoj表情录入

    2024-06-18 10:22:03       8 阅读