开箱即用Mimir监控

关于如何快速构建企业级别的监控系统的问题方式各异。进来研究了Grafana 的 Mimir方案。像是发现了新宝藏,基于Prometheus 超越 Prometheus。

这篇文章简单的介绍一下 Mimir 优势 和其简单的配置

需求

  1. 多租户
  2. 高可用
  3. 数据持久化
  4. 告警配置以及记录

上面都是目前使用原生的 Prometheus 遇到的问题,1/2/3/4 这几点问题都需要自行来设计方案来进行告警构建。提升监控系统的复杂性。

原生prometheus 的配置基于主机的文件来实现,不便于批量管理和维护。

方案

使用 Grafana Mimir 的方案来实现监控系统。下面来简单列举其优点。

扩展性

Mimir 不侵入原有的监控体系。使用 prometheus 的 remote write 来进行简单的的横向配置来写到 mimir 中。

且在RemoteWrite时候可以使用 header 来区分租户。来实现mimor 的多租户模式。(租户的数据隔离也是使用 Header来实现)

多租户接入 配置实例:

remote_write:
- url: http://172.16.0.77:9009/api/v1/push
headers:
X-Scope-OrgID: Project1

监控配置

可以使用 通过 mimirtool 来进行告警的批量管理,配置文件被远程保存在 S3 等持久化存储上面

mimirtool alertmanager get --address= 127.0.0.1:9009 --id=test
mimirtool alertmanager load alertmanager-mimir.yml  --id Project1 --address=http://127.0.0.1:9009

mimirtool --id Project1 --address=http://127.0.0.1:9009 --id=test rules get  pool ec2
mimirtool --id Project1 --address=http://127.0.0.1:9009 rules load   ./elb.yml
mimirtool --id Project1 --address=http://127.0.0.1:9009 rules list

另外,最重要的是 grafana 的前端面板支持直接进行告警条目的添加以及修正,大幅度降低了告警管理以及维护成本。

数据迁移

从老Prometheus 实例来到 minir 集群来进行迁移。可以参考官方的文档来进行操作。

https://grafana.com/docs/mimir/next/migration-guide/migrating-from-thanos-or-prometheus/

参考