美文网首页
Prometheus

Prometheus

作者: 戈羽殇雪 | 来源:发表于2021-03-25 18:45 被阅读0次

    What, 什么是Prometheus?
    Prometheus是继Kubernetes之后,第二个从云原生计算基金会(CNCF)毕业的项目。Prometheus是Google监控系统BorgMon类似实现的开源版,整套系统由监控服务、告警服务、时序数据库等几个部分,及周边生态的各种指标收集器(Exporter)组成,是在当下主流的云原生监控告警系统,Prometheus有这些特性:

    开箱即用的各种服务发现机制,可以自动发现监控端点;
    专为监控指标数据设计的高性能时序数据库TSDB;
    强大易用的查询语言PromQL以及丰富的聚合函数;
    可以配置灵活的告警规则,支持告警收敛(分组、抑制、静默)、多级路由等等高级功能;
    生态完善,有各种现成的开源Exporter实现,实现自定义的监控指标也非常简单。
    Why, 为什么需要Prometheus?
    Prometheus和Kubernetes有很多相通之处,Kubernetes其中一个功能是提供了弹性动态的部署能力,而Prometheus则提供了动态的监控能力。Kubernetes已经成为实事标准,与之相辅相成的Prometheus自然也成为了云原生监控告警的首选项。

    举个例子:Kubernetes集群里新加了X台机器,Y个服务横向扩容了Z个新的实例,此时Prometheus监控系统的配置需要怎么修改?这个问题是多余的,不需要任何配置修改!

    Kubernetes集群的扩容可以自动化是因为所有的资源对象,调度策略都已经在标准化的编排文件中声明了,搭配云服务器的自适应扩缩容以及Kubernetes提供的Horizontal Pod AutoScaler等机制,可以获得恐怖的弹性能力和运维自动化水平。这对传统运维(手工执行命令,或工具批量执行脚本)是无法想象的冲击和变革。同样,传统的监控方案如Zabbix,使用批量执行的脚本在机器中安装agent、agent上传数据给监控服务器这种模式,也会因为无法适应这种动态性而逐渐被淘汰,而Prometheus这种能支持动态部署拓扑的监控系统成为主流。

    上一个小节提到的特性都是Prometheus的优点,如果说缺点,比较有争议的两个:

    通过HTTP拉取监控数据效率不够高;
    没有任何监控告警之外的功能(用户/角色/权限控制等等)。
    第一个HTTP拉监控数据的效率问题对于绝大多数场景碰不到;第二个问题可以通过二次开发,或者把Prometheus完全作为后端内部服务只暴露Grafana这样具有更强管理和可视化功能的前/中端服务来解决。综上,Prometheus非常适合构建云原生环境的监控平台。

    相关文章

      网友评论

          本文标题:Prometheus

          本文链接:https://www.haomeiwen.com/subject/uderhltx.html