searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Cortex新一代监控

2023-05-29 01:32:35
60
0
  • 水平可扩展: Cortex 可以跨集群中的多台机器运行,超过单台机器的吞吐量和存储。这使您能够将指标从多个 Prometheus 服务器发送到单个 Cortex 集群,并在一个地方对所有数据运行“全局聚合”查询。

  • 高可用性:在集群中运行时,Cortex 可以在机器之间复制数据。这使您可以在机器故障中幸存下来,而不会在图表中出现间隙。

  • 多租户: Cortex 可以在单个集群中隔离来自多个不同独立 Prometheus 源的数据和查询,允许不受信任的各方共享同一个集群。

  • 长期存储: Cortex 支持 S3、GCS、Swift 和 Microsoft Azure,用于长期存储指标数据。这使您可以将数据持久存储的时间超过任何一台机器的生命周期,并将这些数据用于长期容量规划。

  • 全局视图:提供了Prometheus时间序列数据的全局视图,其中包括长期存储的数据,从而大大扩展了PromQL用于分析目的的用途。

Cortex架构

  • Distributor:负责处理来自 Prometheus 的传入样本,Distributor是序列样本写入cortex的入口,会验证每个样本的正确性并确保它在配置的租户限制内,如果特定租户的限制没有被覆盖,则会回退到默认值。验证完毕后将有效样本分成批次并并行发送到多个ingester。

  • Ingester:负责传入的时序序列写入长期后端存储(Storage),并返回序列在在内存中的路径以供查询,传入的序列不会立马写到存储当中,而是保存在内存当中,定期(默认2小时)刷新到存储当中

  • Querier:查询器从Ingester和长期存储中获取时序序列

  • Compactor (required for blocks storage):

    • 将给定租户的多个块压缩成一个优化的更大块。这有助于降低存储成本(去重、减少索引大小),并提高查询速度(查询更少的块更快)。

    • 保持每个租户的存储桶索引更新。

  • Store gateway (required for blocks storage):负责从存储中查询时序序列

  • Alertmanager (optional):负责接受来自 rule 的警报通知,对它们进行去重和分组,并将它们路由到正确的通知渠道

  • Configs API (optional):用于管理 Rulers 和 Alertmanagers 的配置

  • Overrides exporter (optional):支持对每个租户应用限制,以防止任何一个租户使用过多的资源

  • Query frontend (optional):提供查询器的 API 端点,可用于加速读取路径

  • Query scheduler (optional):可将内部队列从Query frontend移动到separate component.中。这使得查询前端和队列数量(查询调度程序)的独立扩展成为可能。

  • Ruler (optional):执行 PromQL 查询以记录规则和警报

0条评论
0 / 1000
李****新
2文章数
0粉丝数
李****新
2 文章 | 0 粉丝
李****新
2文章数
0粉丝数
李****新
2 文章 | 0 粉丝
原创

Cortex新一代监控

2023-05-29 01:32:35
60
0
  • 水平可扩展: Cortex 可以跨集群中的多台机器运行,超过单台机器的吞吐量和存储。这使您能够将指标从多个 Prometheus 服务器发送到单个 Cortex 集群,并在一个地方对所有数据运行“全局聚合”查询。

  • 高可用性:在集群中运行时,Cortex 可以在机器之间复制数据。这使您可以在机器故障中幸存下来,而不会在图表中出现间隙。

  • 多租户: Cortex 可以在单个集群中隔离来自多个不同独立 Prometheus 源的数据和查询,允许不受信任的各方共享同一个集群。

  • 长期存储: Cortex 支持 S3、GCS、Swift 和 Microsoft Azure,用于长期存储指标数据。这使您可以将数据持久存储的时间超过任何一台机器的生命周期,并将这些数据用于长期容量规划。

  • 全局视图:提供了Prometheus时间序列数据的全局视图,其中包括长期存储的数据,从而大大扩展了PromQL用于分析目的的用途。

Cortex架构

  • Distributor:负责处理来自 Prometheus 的传入样本,Distributor是序列样本写入cortex的入口,会验证每个样本的正确性并确保它在配置的租户限制内,如果特定租户的限制没有被覆盖,则会回退到默认值。验证完毕后将有效样本分成批次并并行发送到多个ingester。

  • Ingester:负责传入的时序序列写入长期后端存储(Storage),并返回序列在在内存中的路径以供查询,传入的序列不会立马写到存储当中,而是保存在内存当中,定期(默认2小时)刷新到存储当中

  • Querier:查询器从Ingester和长期存储中获取时序序列

  • Compactor (required for blocks storage):

    • 将给定租户的多个块压缩成一个优化的更大块。这有助于降低存储成本(去重、减少索引大小),并提高查询速度(查询更少的块更快)。

    • 保持每个租户的存储桶索引更新。

  • Store gateway (required for blocks storage):负责从存储中查询时序序列

  • Alertmanager (optional):负责接受来自 rule 的警报通知,对它们进行去重和分组,并将它们路由到正确的通知渠道

  • Configs API (optional):用于管理 Rulers 和 Alertmanagers 的配置

  • Overrides exporter (optional):支持对每个租户应用限制,以防止任何一个租户使用过多的资源

  • Query frontend (optional):提供查询器的 API 端点,可用于加速读取路径

  • Query scheduler (optional):可将内部队列从Query frontend移动到separate component.中。这使得查询前端和队列数量(查询调度程序)的独立扩展成为可能。

  • Ruler (optional):执行 PromQL 查询以记录规则和警报

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0