prometheus 是什么?其架构是怎么样的? prometheus是一个 能把各个业务服务中的监控模块 集中统一实现的开源系统监控和告警工具包 各个业务服务会定义一个HTTP API 以统一的数据格式提供状态数据 prometheus 则会周期性地调用该API 以抓取状态数据并进行存储 然后提供API和web界面 供客户端查询服务状态数据 我们看看prometheus是如何做到的 🔴监控指标 prometheus为每种状态数据取了个名字 再给该名字关联一个表示状态的数据值 例如请求数量 CPU 占用 内存占用等 为了更好地表达状态数据 还引入了标签 某种标签组合下 包含了名称,值和时间戳的所有数据项 就是所谓的时间序列 而所有时间序列实例就组成了 一个所谓的监控指标 我们将这些数据存储起来 可以很方便地按时间先后顺序 以图表的形式展示出来 🔴多种指标类型 服务内部状态多种多样 所以prometheus支持多种指标类型 计数器 Counter 仪表盘 Gauge 直方图 Histogram 摘要 Summary 🔴指标查询语言 假设我们已经定义了一个指标来记录请求总量 现在想知道 TPS 是多少 这时我们需要定义新指标吗? 当然不是 因为单位时间内的请求总量除以时长就是 TPS 所以prometheus使用一种称为 PromQL 的查询语言或表达式 根据现有指标计算出新指标 🔴服务发现 prometheus在抓取指标数据时 需要知道被抓取服务的 用于提供指标数据 API 的完整 U RL 由于服务监控是一种通用需求 所以prometheus需要支持多种运行环境 如: K8S, Docker, Swarm, Consul等 prometheus提供了一个配置文件 用于配置如何发现需要抓取指标的服务 🔴告警 prometheus获取指标数据后 还可以用于告警功能 PromQL引擎会定期扫描指定指标 当某个指标匹配了某种规则后 可将告警信息发送给告警管理器 告警管理器则会触发某些动作 这里的动作可以是发邮件 调用某个接口等 例如 当CPU占用指标连续5分钟超过80%后 发送邮件给指定的接收者 如今 Prometheus作为CNCF毕业项目 凭借其灵活的设计 强大的功能 与云原生的深度整合 以及活跃的社区支持 已成为现代监控系统的首选 #程序员 #干货分享 #每天学习一点点 #编程 #软件开发
00:00 / 04:52
连播
清屏
智能
倍速
点赞913
00:00 / 16:12
连播
清屏
智能
倍速
点赞20
00:00 / 01:33:21
连播
清屏
智能
倍速
点赞18
00:00 / 05:26
连播
清屏
智能
倍速
点赞9
00:00 / 02:16
连播
清屏
智能
倍速
点赞9
00:00 / 34:27
连播
清屏
智能
倍速
点赞8
00:00 / 22:20
连播
清屏
智能
倍速
点赞5
00:00 / 06:49
连播
清屏
智能
倍速
点赞4
00:00 / 28:30
连播
清屏
智能
倍速
点赞10
00:00 / 05:12
连播
清屏
智能
倍速
点赞8
00:00 / 18:15
连播
清屏
智能
倍速
点赞6
00:00 / 00:06
连播
清屏
智能
倍速
点赞104
00:00 / 11:30
连播
清屏
智能
倍速
点赞5
00:00 / 26:19
连播
清屏
智能
倍速
点赞94
00:00 / 25:16
连播
清屏
智能
倍速
点赞11