草庐IT

thanos 配置receive模式

阿泽St 2023-08-10 原文

前言

prometheus+thanos做集群用到的几种模块

thanos query :查询模块

thanos sidecar :读取prometheus采集指标数据并存储到对象存储的模块

thanos receive :接收prometheus数据并存储到对象存储的模块

thanos store :连接对象存储并提供查询的模块

一、sidecar和receive的使用的场景是什么?

1.1、sidecar

边车模式,需要与prometheus部署到同一台服务器上,也是大多数thanos做集群用到的模块。

同时必须在prometheus启动时配置

--storage.tsdb.min-block-duration=2h

--storage.tsdb.max-block-duration=2h

否则sidecar启动报错!

1.2、receive

提供远程写入的API,允许远程prometheus将数据写入thanos receive中,只要远程prometheus与thanos receive 的API接口网络通即可,远程prometheus控制好本地存储的空间就可以。

二、prometheus+thanos{receive,query,store}简单部署

2.1、prometheus安装配置

安装就不说了,主要是prometheus.yml和启动文件配置

配置文件prometheus.yml

vim prometheus.yml

#添加thanos receive远程API地址,其他配置按需要修改

remote_write:
  - url: "http://thanos-receiveIP:19291/api/v1/receive"

启动文件配置

vim start.sh

#!/bin/bash

nohup /usr/local/prometheus/bin/prometheus --config.file="/usr/local/prometheus/config/prometheus.yml" --web.enable-lifecycle --storage.tsdb.retention.size=10GB > /usr/local/prometheus/logs/prometheus.log 2>&1 &

#注意:参数“--storage.tsdb.retention.size=”是为了控制存本地的数据大小到达多少时删除旧数据。

2.2、thanos-receive配置

创建连接对象存储(minio)连接文件

vim receive.yml

type: s3
config:
  bucket: prometheus
  endpoint: minioIP:9000
  access_key: minioadmin
  secret_key: minioadmin
  insecure: true

启动文件配置

vim start-receive.sh

#!/bin/bash

nohup /usr/local/thanos/bin/thanos receive \
--grpc-address="0.0.0.0:10901" \
--http-address="0.0.0.0:10902" \
--receive.replication-factor=1 \
--label "receive_replica=\"1\"" \
--objstore.config-file="/usr/local/thanos/config/receive.yml" \
--remote-write.address="0.0.0.0:19291" \
--tsdb.path="/usr/local/thanos/data/receive" > /usr/local/thanos/logs/receive.log 2>&1 &

参数说明:

--grpc-address : 给thanos query查询用的

--http-address : 对外提供http服务器访问用的

--receive.replication-factor : 指定有几个receive在运行,例如等于3就需要receive同时运行才可以,否则报错

--label "receive_replica : 和sidecar必须指定prometheus的replica功能相同,只不过在receive模式只需在thanos receive启动指定,无需在prometheus配置文件中配置

--remote-write.address : 给远程prometheus写入的提供的API端口

2.3、thanos-query配置

启动文件配置

vim start-query.sh

#!/bin/bash
nohup /usr/local/thanos/bin/thanos query \
--http-address "queryIP:11902" \
--grpc-address="0.0.0.0:11901" \
--store="receiveIP:10901" \
--store="storeIP:39090" > /usr/local/thanos/logs/query.log 2>&1 &

2.4、thanos-store配置

创建连接对象存储(minio)连接文件

vim receive.yml

type: s3
config:
  bucket: prometheus
  endpoint: minioIP:9000
  access_key: minioadmin
  secret_key: minioadmin
  insecure: true

启动文件配置

vim start-store.sh

#!/bin/bash
nohup /usr/local/thanos/thanos store \
--data-dir /usr/local/thanos/data \
--objstore.config-file /usr/local/thanos/prometheus.yml \
--http-address 0.0.0.0:39191 \
--grpc-address 0.0.0.0:39090 \
--min-time=-2w --max-time=-1w > /usr/local/thanos/logs/store.log 2>&1 &

2.5、minio对象存储配置

启动文件配置

vim  start.sh

#!/bin/bash

export MINIO_ACCESS_KEY=minioadmin
export MINIO_SECRET_KEY=minioadmin

nohup /usr/local/minio/bin/minio server --address :9000 /usr/local/minio/data > /usr/local/minio/logs/minio.log 2>&1 &

2.6、启动并访问thanos query验证

顺序启动minio receive store query prometheus

访问query页面

查询node指标

 三、prometheus agent模式+thanos receive模式

prometheus agent模式配置跳转prometheus 配置agent模式,经测试agent 模式和receive模式关联完全没问题,至与压力测试,有测试的小伙伴反馈一下。

有关thanos 配置receive模式的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  4. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  5. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  6. ruby - 是否有用于序列化和反序列化各种格式的对象层次结构的模式? - 2

    给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最

  7. UE4 源码阅读:从引擎启动到Receive Begin Play - 2

    一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame

  8. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  9. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  10. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

随机推荐