和Grafana Mimir一起玩

和Grafana Mimir一起玩

Grafana Mimir是一种分布式的、水平可扩展的、高可用的长期存储普罗米修斯

在本教程中,您将:

  • 使用Docker Compose在本地运行Grafana Mimir
  • 运行Prometheus获取一些参数,并远程写入Grafana Mimir
  • 运行Grafana以探索Grafana Mimir仪表板
  • 在Grafana Mimir中配置测试记录规则和警报

先决条件

  • Git
  • Docker和Docker Compose
  • 两个端口的可用性9000而且9009在您的主机上

下载教程配置

  1. 使用Git命令行创建一个Grafana Mimir存储库的副本:
    Git克隆https://github.com/grafana/mimir.git CD mimir
  2. 导航到教程目录:
    cd /教程/ play-with-grafana-mimir / docs /来源

请注意:本教程中的说明假设您的工作目录为/教程/ play-with-grafana-mimir / docs /来源

启动Grafana Mimir和依赖项

使用以下Docker命令开始运行本地设置:

docker-compose起来

这个命令开始:

  • Grafana米密尔
    • 提供高可用性的三个单块模式Mimir实例
    • 启用多租户(租户ID为演示
  • Minio
    • 用于块、规则和警报的s3兼容的持久存储
  • 普罗米修斯
    • 抓取Grafana Mimir度量,然后将它们写回Grafana Mimir,以确保摄入的度量的可用性
  • Grafana
    • 包括一个预安装的数据源查询Grafana Mimir
    • 包括预先安装的仪表板,用于监控Grafana Mimir
  • 负载均衡器
    • 一个简单的基于nginx的负载平衡器,它在主机上公开Grafana Mimir端点

下图说明了这些组件之间的关系:Grafana Mimir教程的架构图

主机上将暴露以下端口:

要了解更多关于Grafana Mimir配置的信息,可以查看配置文件配置/ mimir.yaml

探索Grafana Mimir仪表板

在本地主机上打开Grafanahttp://localhost:9000以及显示Grafana Mimir集群的状态和运行状况的查看仪表板。仪表板查询Grafana Mimir以获取它们所显示的指标。

首先,我们建议看看这些仪表板:

以下是几点注意事项:

  • Grafana Mimir开始在仪表板上显示有意义的指标后,通常需要几分钟。
  • 因为本教程运行的Grafana Mimir没有任何入口网关、查询调度器或memcached,所以相关的面板应该是空的。

安装在Grafana中的仪表板来自Grafana Mimir mixin,它打包了Grafana Labs的最佳实践仪表板、记录规则和用于监视Grafana Mimir的警报。bob电竞频道要了解更多关于mixin的信息,请查看Grafana Mimir mixin文档。要了解更多关于Grafana如何连接到Grafana Mimir的信息,请参阅米密尔数据源

配置第一条记录规则

记录规则允许您预先计算经常需要的表达式或计算成本高的表达式,并将其结果保存为一组新的时间序列。在本节中,您将使用Grafana提供的工具在Grafana Mimir中配置一个记录规则。

  1. 开放Grafana报警
  2. 点击“新建警报规则”,也可以配置记录规则。
  3. 配置记录规则:
    1. 类型总结:在“规则名称”字段中。
    2. 选择皮质管理记录规则在“规则类型”字段中。确保选择的是“托管记录规则”而不是“托管警报规则”。
    3. 选择米密尔在“选择数据源”字段中。
    4. 类型示例名称空间在“Namespace”字段中。
    5. 类型例如组在“组”字段中。
    6. 类型sum ()在“创建要记录的查询”字段中。
    7. 从右上角单击保存和退出按钮。

你的总结:记录规则将显示Mimir实例的数量向上,意思是可被抓取。该规则现在正在Grafana Mimir尺子中创建,很快就可以查询了:

  1. 开放Grafana探索并从记录规则中查询生成的序列,配置完成后可能需要1分钟才能显示:
    总结:
  2. 确认查询返回值3.这是当前在本地设置中运行的Mimir实例的数量。

配置第一个警报规则

警报规则允许您基于PromQL表达式定义警报条件,并向Grafana Mimir Alertmanager发送有关触发警报的通知。在本节中,您将使用Grafana提供的工具在Grafana Mimir中配置一个警报规则。

  1. 开放Grafana报警
  2. 点击“New alert rule”。
  3. 配置告警规则:
    1. 类型MimirNotRunning在“规则名称”字段中。
    2. 选择皮层管理警报规则在“规则类型”字段中。确保选择的是“托管警报规则”而不是“托管记录规则”。
    3. 选择米密尔在“选择数据源”字段中。
    4. 选择示例名称空间在“Namespace”字段中。
    5. 选择例如组在“组”字段中。
    6. 类型Up == 0在“创建要被提醒的查询”字段中。
    7. 从右上角单击保存和退出按钮。

你的MimirNotRunning警报规则现在正在Grafana Mimir尺子中创建,当Grafana Mimir实例的数量少于3个时,它将被触发。您可以通过打开Grafana报警页,展开“example-namespace > example-group”行。状态应该是“Normal”,因为所有三个实例当前都在运行。

为了查看警报发射,我们可以在Grafana Mimir集群中引入一个中断:

  1. 突然终止三个Grafana Mimir实例中的一个:
    Docker-compose kill mimir-3
  2. 开放Grafana报警看看警报的状态MimirNotRunning,大约一分钟后切换到“待定”状态,一分钟后切换到“发射”状态。注意:由于我们突然终止了一个Mimir实例,在查询规则时,Grafana Alerting UI可能会暂时显示一个错误:只要Grafana Mimir内部健康检查检测到被终止的实例不健康,这个错误将很快自动解决。

Grafana Mimir Alertmanager还没有配置为通过通知通道通知警报。配置Alertmanager时,可以打开接触点页面,并设置您首选的通知通道。注意,在本例中电子邮件接收器无法工作,因为没有运行SMTP服务器。

在添加回已终止的Mimir实例以解决警报之前,进入Grafana Explore页面并查询您的总结:记录的规则。你应该看到的值总结:应该下降到2现在已经有一个实例关闭了。您还会注意到,即使一个实例停止,对该规则和所有其他度量的查询仍然可以继续工作。这证明了高可用的Grafana Mimir设置(如本演示中的三个实例部署)对单个节点的中断具有弹性。

要解决警报并从中断中恢复,请重新启动突然终止的Grafana Mimir实例:

  1. 启动Grafana Mimir实例:
    Docker-compose start mimir-3
  2. 开放Grafana报警看看警报的状态MimirNotRunning,应该在大约一分钟后切换到“正常”状态。

总结

在本教程中,您在一个高可用性设置和一个Prometheus实例中本地启动了Grafana Mimir,该实例远程向Grafana Mimir写入了一些度量。然后使用Grafana查询存储在Mimir中的这些指标,并在一些Grafana仪表板中可视化它们。最后,您通过Grafana Alerting UI配置了一个记录规则和一个警报,并验证了当条件满足时警报按预期触发。

完成本教程后,运行以下Docker命令释放所有Docker资源:

docker-compose下来