博客
关于我
084、Prometheus 到底NB在哪里?(2019-05-06 周一)
阅读量:798 次
发布时间:2023-04-16

本文共 1155 字,大约阅读时间需要 3 分钟。

Prometheus的多维数据模型:灵活满足监控需求

Prometheus作为一款优秀的开源监控工具,其核心优势在于其强大的多维数据模型。传统的监控方法往往面临着数据过于单一化的困扰,而Prometheus通过层次化的数据模型,能够更灵活地满足各种监控需求。

以内存使用情况监控为例,传统方法通常需要为每个容器定义独立的指标。比如,为了监控容器webapp1的内存使用情况,需要定义指标container_memory_usage_bytes_webapp1,并定期采集数据。然而,当需求扩展到监控所有webapp容器时,就需要定义大量类似的指标(如container_memory_usage_bytes_webapp2、container_memory_usage_bytes_webapp3等),这显然不够高效。

Graphite等更高级的监控方案提出了更优雅的层次化数据模型。通过在指标名称中引入多个维度(dimension),可以一次定义多个指标。例如,定义container.memory_usage_bytes.webapp1、container.memory_usage_bytes.webapp2等指标后,就可以通过container.memory_usage_bytes.webapp*的过滤方式,轻松获取所有webapp容器的内存使用数据。

随着监控需求的不断扩展,用户可能会提出更复杂的查询需求。例如,监控所有镜像版本的webapp容器内存使用情况,或者按运行环境(如生产环境、测试环境)对比某一组容器的内存使用趋势。Prometheus的多维数据模型能够轻松应对这些复杂需求。通过在原始数据中引入更多维度(如image、env等),可以在查询时灵活组合满足不同业务需求。

例如:

  • 获取webapp2的平均内存使用量:avg(container_memory_usage_bytes{container_name="webapp2"})

  • 获取运行镜像webapp1.2的所有容器内存使用总量:sum(container_memory_usage_bytes{image="webapp1.2"})

  • 按运行环境统计webapp容器内存使用总量:sum(container_memory_usage_bytes{container_name="webapp"} by (env))

  • 这种灵活的数据模型不仅能够满足当前业务需求,还能通过引入更多维度(如user等),支持未来可能出现的新查询场景。

    Prometheus的查询语言功能强大,仅仅是avg、sum、by这几个基本聚合函数,便能展示其对多维数据进行分片、聚合的强大能力。这种灵活性使得Prometheus成为现代监控系统的理想选择。

    转载地址:http://tugfk.baihongyu.com/

    你可能感兴趣的文章
    MyEclipse配置SVN
    查看>>
    MTCNN 人脸检测
    查看>>
    MyEcplise中SpringBoot怎样定制启动banner?
    查看>>
    MyPython
    查看>>
    MTD技术介绍
    查看>>
    MySQL
    查看>>
    MySQL
    查看>>
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>
    MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
    查看>>
    MySQL - ERROR 1406
    查看>>
    mysql - 视图
    查看>>
    MySQL - 解读MySQL事务与锁机制
    查看>>
    MTTR、MTBF、MTTF的大白话理解
    查看>>
    mt_rand
    查看>>
    mysql /*! 50100 ... */ 条件编译
    查看>>
    mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
    查看>>
    mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
    查看>>
    mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
    查看>>
    mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
    查看>>