介绍一个我开源的项目:一键部署 VictoriaMetrics 群集

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!


我实在是非常喜欢这个强大的 metrics 监控组件 VictoriaMetrics. 近期团队需要部署一份,我顺手把用于测试的部署脚本开源到了我的仓库中:https://github.com/ahfuzhang/deploy_VictoriaMetrics_cluster

克隆仓库后,cd 到 docker_compose 目录,然后执行 make deploy 就能在 macbook 上启动完整的一套群集。

通过 docker-compose 来一键启动多个容器,这当然没什么新鲜的。

这个仓库更重要的价值其实是对群集的规划提供了一种最佳实践:

1.五种群集

metrics 监控系统并非简单的采集-存储-查询就够了,作为一套高可用可平行扩容的系统,需要根据功能进一步划分子群集。

根据常规的需求,存在这样一些子群集:

  1. 自监控群集:对 vm 的各个组件自身的 metrics 数据进行采集,确保系统稳定;
  2. 实时群集:采集各个 expoter 的数据,保留最近 N 天的 metrics 数据。为了保障实时群集的高性能,N 建议为 15 天。
  3. 告警群集:执行告警查询,并在告警触发后,进行告警汇聚/告警收敛/告警屏蔽等处理,进一步发给企业微信/钉钉等IM的 webhook 上;
  4. 历史群集: 定期备份和恢复实时群集的数据,为更长周期的历史数据提供查询能力。
  5. 数据源群集:提供 exporter 的注册/寻址,并把大量的 expoter 列表进行分片抓取。这里主要是 vm-agent 的配置方法。

2. 详细架构

部署代码中对上图的架构提供了基于 docker-compose 的部署脚本。

未来或许会再提供 terraform 等部署代码。

希望对使用 VictoriaMetrics 的团队有用。 😃