文章首发大众号[码农吴先生],欢迎重视。

该文为看了秦老板的夜莺黄埔营直播后的一些笔记和考虑,分享咱们,希望有收获。

n9e v6 直观感触

在上个月 10 号左右,夜莺团队发布了 V6 版别,将后端的数据源转移到前端可装备,整个产品在可观测性范畴更进了一步。有了对标 grafana 的可能性,grafana 在时序数据出图方面,已成为首选,功能性和易用性上 V6 版相较于之前也有很多前进,简直能够平替 grafana 大部分图表。

我司现在在用的是 V5 版别,V5 后端直接能够对接 Promethues 或者 VM,能够运用 WebUI 来办理 Prometheus 的报警规矩。Alertmanager 的 yaml 文件规矩有必定的学习成本,而 n9e 完全没有能够说是傻瓜化的,你只要会写 promQL 就能够装备报警规矩,业务人员更容易上手。

更多 V6 release note 可参阅这里。

n9e v6 架构

下边是我做的笔记和考虑,分享给咱们参阅

  • 1/ n9e V6 将中心服务(V5 版别的 webapi、server)都集成到了一个二进制文件,布置更加的简略;

这是一个中心汇集的布置架构,相较之前 webapi server的架构更简略,只要一套装备文件,在做布置的时分更加方便。

夜莺 V6 初体验

  • 2/ V6 当机房网络和 n9e 集群链接不晓畅或有限制时,可运用 nginx 署理。

我司在多机房布置时,便运用了 nginx 作为网关署理,有些公司机房的机器并不是都能够出公网的,这种时分也能够运用 nginx 署理,机房机器 categraf 推送地址写 nginx 的地址,nginx 直接 proxy_pass 到 n9e 的地址。

假如想了解我司的布置架构,可参阅我之前的一篇总结文章:基于 n9e 的 Rancher 容器渠道和主机混合服务架构监控计划

  • 3/ V6 供给了单独 alertpushgw 二进制包,用来做下沉式的单机房布置,可解决网络限制问题。

除了中心架构布置,还支持下沉式单机房布置:

夜莺 V6 初体验

这种布置架构适用于机房到 n9e 集群网络欠安的状况,pushgw 用来辨认机器的 ident存储 Mysql,alert 直接查询 TSDB 对数据做报警处理。

机房 TSDB 出图的话,需要装备为 n9e 集群的数据源。pushgwalert 需要衔接 n9e 集群的 Mysql,做数据上报和告警规矩的读取。

  • 4/ 运用 VM 时,单机版的 vm 官方数据最大可抗 100w/s ,这取决于机器自身的装备,现在试试过的机器最大有 80w/s,机器装备比较高。

单机版的 VM 比较集群,只要一个二进制文件,维护布置起来更加的方便,在不运用租户等高级功能时,单机版可能是更好的挑选。官方文档描绘单机版针对 CPU、内存、带宽及磁盘的 IO 做了优化,可通过垂直升配来解决功能问题。

VM 自身供给了 /metrics 接口,可通过 promethuesvmagent 来收集,也可启动时添加参数 --selfScrapeInterval=10s 完成自收集。

VM 的一些重要参数:

  • --storageDataPath 指定数据存放方位;
  • --selfScrapeInterval 完成自收集;
  • --retentionPeriod 保留数据 N+1 个月;

更多优化参数,可参阅官方文档: docs.victoriametrics.com

考虑

单机 VM 功能虽然强劲,官方号称能够抗 100w/s 的写入,可是仍然存在一些问题。

  • 1、单机危险问题。

针对单机 VM,官方也给出了高可用计划:副本双写。在数据查询时,官方建议运用 Promxy 做署理,来聚合多个 VM 的数据,可是在它的文档中,我并没有看到“去重”的字眼,该计划需要进一步的验证。

现在我司的计划,运用 NFS 挂载机器,作为 VM 的存储目录,这样即使机器挂了,咱们能够快速的在另一台机器上复兴一个相同的 VM ,数据由于是挂载在 NFS 的所以并不会丢掉。至于功能,我司流量现在在 2w/s 的写入量,现在并没有发现 NFS 的写入瓶颈。

  • 2、单机 VM 还有自监控的问题,当它挂掉的时分,是无法使用 n9e 来报警的,只能借助其他报警方式。

如上分享给咱们,能够作为一种参阅计划。