不得不承认第一次听见这个名字让我想到了小时候看过的诸神动画片,极具科幻帅气。
官网介绍:
Prometheus](https://github.com/prometheus)是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何公司进行维护。为了强调这一点并阐明项目的治理结构,Prometheus 于2016年加入了 Cloud Native Computing Foundation,这是继Kubernetes之后的第二个托管
项目
特征:
一个多维数据模型,其中包含通过度量标准名称和键/值对标识的时间序列数据
PromQL,一种灵活的查询语言 ,可利用此维度
不依赖分布式存储;单服务器节点是自治的
时间序列收集通过HTTP上的拉模型进行
通过中间网关支持推送时间序列
通过服务发现或静态配置发现目标
多种图形和仪表板支持模式
组件
Prometheus生态系统包含多个组件,其中许多是可选的:
Prometheus主服务器,它会刮取并存储时间序列数据
客户端库,用于检测应用程序代码
一个支持短期工作的推送网关
诸如HAProxy,StatsD,Graphite等服务的专用出口商
一个alertmanager处理警报
各种支持工具
大多数Prometheus组件都是用Go编写的,因此易于构建和部署为静态二进制文件。
组件运行流程
Prometheus直接或通过中间推送网关从已检测作业中删除指标,以用于短期作业。它在本地存储所有报废的样本,并对这些数据运行规则,以汇总和记录现有数据中的新时间序列,或生成警报。Grafana或其他API使用者可用于可视化收集的数据。
什么时候合适?
Prometheus非常适合记录任何纯数字时间序列。它既适合以机器为中心的监视,也适合监视高度动态的面向服务的体系结构。在微服务世界中,它对多维数据收集和查询的支持是一种特别的优势。
Prometheus的设计旨在提高可靠性
,使其成为中断期间要使用的系统,从而使您能够快速诊断问题。每个Prometheus服务器都是独立
的,而不依赖于网络存储或其他远程服务。当基础结构的其他部分损坏时,您可以依靠它,而无需建立广泛的基础结构来使用它。
什么时候不适合?
普罗米修斯重视可靠性。即使在故障情况下,您也始终可以查看有关系统的可用统计信息。如果您需要100%
的准确性(例如按请求计费),则Prometheus并不是一个不错的选择,因为所收集的数据可能不会足够详细和完整。在这种情况下,最好使用其他系统来收集和分析计费数据,并使用Prometheus进行其余的监视。
网友评论