Joey's Blog
  • Tags
  • chaos
  • dns
  • graylog
  • helm
  • kafka
  • kubernetes
  • litmus
  • logs
  • Monitor
  • operator
  • Prometheus
  • safe
  • thanos
  • wazuh
Hero Image
手动部署thanos 0.12.2

前言 Prometheus不支持集群部署,在大规模场景下,Prometheus本身的性能和存储都有限(并发量过大,IO,Mem,CPU等很容易耗尽),比如通过降低采集速率,丢弃不重要指标,缩短数据保存天数等解决,不仅给运维带来了一定的麻烦,服务本身运行也带来了挑战 解决方案: (1) 对服务进行分散采集: 比如部署多个Prometheus,每个Prometheus仅采集和存储某一个或某一部分服务的指标, Pa1 ---> Sa1 ,Pa2 ---> Sa2 (2) 对服务进行分片: 将服务拆分成多个group,让一个Prometheus仅采集该服务的某一个group数据,Pa2 ---> Group1(Sa1), Pa2 ---> Group2(Sa1) (3) 使用thanos管理: 相同的 Prometheus 部署多个副本(都附带 Sidecar),然后Thanos Query去所有Sidecar查数据(下面会详解) 方案一: 联邦方式, 使用多个Prometheus分散监控服务, 一般规模足矣,若单个服务指标过多, 且副本数较高,则不适合 架构如下: 也可以使用独立存储来解决数据共享问题, OpenTSDB 或 InfluxDB 等支持集群部署的时序数据库(独立存储虽好,但不能使用PromQL) remote_write: - url: http://server:8888/write 语法示例: InfluxDB: SELECT mean("value") FROM "disk_io_time" WHERE $timeFilter GROUP BY time($interval), "instance" fill(null) Prometheus: disk_io_time

May 11, 2020 Read

黔ICP备19013195号   友情链接: toolser工具箱