前
关于如何快速构建企业级别的监控系统的问题方式各异。进来研究了Grafana 的 Mimir方案。像是发现了新宝藏,基于Prometheus 超越 Prometheus。
这篇文章简单的介绍一下 Mimir 优势 和其简单的配置
需求
- 多租户
- 高可用
- 数据持久化
- 告警配置以及记录
上面都是目前使用原生的 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/