和Grafana Mimir一起玩
和Grafana Mimir一起玩
Grafana Mimir是一种分布式的、水平可扩展的、高可用的长期存储普罗米修斯.
在本教程中,您将:
- 使用Docker Compose在本地运行Grafana Mimir
- 运行Prometheus获取一些参数,并远程写入Grafana Mimir
- 运行Grafana以探索Grafana Mimir仪表板
- 在Grafana Mimir中配置测试记录规则和警报
先决条件
- Git
- Docker和Docker Compose
- 两个端口的可用性
9000
而且9009
在您的主机上
下载教程配置
- 使用Git命令行创建一个Grafana Mimir存储库的副本:
Git克隆https://github.com/grafana/mimir.git CD mimir
- 导航到教程目录:
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上
http://localhost:9000
- Grafana Mimir上
http://localhost:9009
要了解更多关于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中配置一个记录规则。
- 开放Grafana报警.
- 点击“新建警报规则”,也可以配置记录规则。
- 配置记录规则:
- 类型
总结:
在“规则名称”字段中。 - 选择
皮质管理记录规则
在“规则类型”字段中。确保选择的是“托管记录规则”而不是“托管警报规则”。 - 选择
米密尔
在“选择数据源”字段中。 - 类型
示例名称空间
在“Namespace”字段中。 - 类型
例如组
在“组”字段中。 - 类型
sum ()
在“创建要记录的查询”字段中。 - 从右上角单击保存和退出按钮。
- 类型
你的总结:
记录规则将显示Mimir实例的数量向上
,意思是可被抓取。该规则现在正在Grafana Mimir尺子中创建,很快就可以查询了:
- 开放Grafana探索并从记录规则中查询生成的序列,配置完成后可能需要1分钟才能显示:
总结:
- 确认查询返回值
3.
这是当前在本地设置中运行的Mimir实例的数量。
配置第一个警报规则
警报规则允许您基于PromQL表达式定义警报条件,并向Grafana Mimir Alertmanager发送有关触发警报的通知。在本节中,您将使用Grafana提供的工具在Grafana Mimir中配置一个警报规则。
- 开放Grafana报警.
- 点击“New alert rule”。
- 配置告警规则:
- 类型
MimirNotRunning
在“规则名称”字段中。 - 选择
皮层管理警报规则
在“规则类型”字段中。确保选择的是“托管警报规则”而不是“托管记录规则”。 - 选择
米密尔
在“选择数据源”字段中。 - 选择
示例名称空间
在“Namespace”字段中。 - 选择
例如组
在“组”字段中。 - 类型
Up == 0
在“创建要被提醒的查询”字段中。 - 从右上角单击保存和退出按钮。
- 类型
你的MimirNotRunning
警报规则现在正在Grafana Mimir尺子中创建,当Grafana Mimir实例的数量少于3个时,它将被触发。您可以通过打开Grafana报警页,展开“example-namespace > example-group”行。状态应该是“Normal”,因为所有三个实例当前都在运行。
为了查看警报发射,我们可以在Grafana Mimir集群中引入一个中断:
- 突然终止三个Grafana Mimir实例中的一个:
Docker-compose kill mimir-3
- 开放Grafana报警看看警报的状态
MimirNotRunning
,大约一分钟后切换到“待定”状态,一分钟后切换到“发射”状态。注意:由于我们突然终止了一个Mimir实例,在查询规则时,Grafana Alerting UI可能会暂时显示一个错误:只要Grafana Mimir内部健康检查检测到被终止的实例不健康,这个错误将很快自动解决。
Grafana Mimir Alertmanager还没有配置为通过通知通道通知警报。配置Alertmanager时,可以打开接触点页面,并设置您首选的通知通道。注意,在本例中电子邮件接收器无法工作,因为没有运行SMTP服务器。
在添加回已终止的Mimir实例以解决警报之前,进入Grafana Explore页面并查询您的总结:
记录的规则。你应该看到的值总结:
应该下降到2
现在已经有一个实例关闭了。您还会注意到,即使一个实例停止,对该规则和所有其他度量的查询仍然可以继续工作。这证明了高可用的Grafana Mimir设置(如本演示中的三个实例部署)对单个节点的中断具有弹性。
要解决警报并从中断中恢复,请重新启动突然终止的Grafana Mimir实例:
- 启动Grafana Mimir实例:
Docker-compose start mimir-3
- 开放Grafana报警看看警报的状态
MimirNotRunning
,应该在大约一分钟后切换到“正常”状态。
总结
在本教程中,您在一个高可用性设置和一个Prometheus实例中本地启动了Grafana Mimir,该实例远程向Grafana Mimir写入了一些度量。然后使用Grafana查询存储在Mimir中的这些指标,并在一些Grafana仪表板中可视化它们。最后,您通过Grafana Alerting UI配置了一个记录规则和一个警报,并验证了当条件满足时警报按预期触发。
完成本教程后,运行以下Docker命令释放所有Docker资源:
docker-compose下来