1. 什么是Prometheus

什么是Prometheus

Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有一个很是活跃的开发人员和用户社区。它如今是一个独立的开源项目,能够独立于任何公司进行维护。为了强调这一点,并澄清项目的治理结构,Prometheus 于2016年加入 云计算本地计算基金会,做为继Kubernetes以后的第二个托管项目。git

有关Prometheus的更详细概述,请参阅媒体部分连接的资源 。github

特征

普罗米修斯的主要特色是:golang

  • 具备由度量名称和键/值对标识的时间序列数据的多维数据模型
  • PromQL,一种灵活的查询语言, 能够利用这一维度
  • 不依赖分布式存储; 单个服务器节点是自治的
  • 时间序列集合经过HTTP上的拉模型发生
  • 推送时间序列经过中间网关支持
  • 经过服务发现或静态配置发现目标
  • 多种图形和仪表板支持模式

组件

Prometheus生态系统由多个组件组成,其中许多组件是可选的:服务器

大多数Prometheus组件都是用Go编写的,所以很容易构建和部署为静态二进制文件。微信

架构

此图说明了Prometheus的体系结构及其一些生态系统组件:网络

普罗米修斯架构

Prometheus直接或经过中间推送网关从仪表工做中删除指标,用于短时间工做。它在本地存储全部已删除的样本,并对此数据运行规则,以汇总和记录现有数据的新时间序列或生成警报。Grafana或其余API使用者可用于可视化收集的数据。架构

何时适合?

Prometheus适用于录制任何纯数字时间序列。它适用于以机器为中心的监控以及高度动态的面向服务架构的监控。在微服务的世界中,它对多维数据收集和查询的支持是一种特殊的优点。分布式

Prometheus专为提升可靠性而设计,是您在停电期间能够快速诊断问题的系统。每一个Prometheus服务器都是独立的,不依赖于网络存储或其余远程服务。当基础架构的其余部分损坏时,您能够依赖它,而且您不须要设置大量的基础架构来使用它。微服务

何时不合适?

普罗米修斯重视可靠性。即便在故障状况下,您也能够随时查看有关系统的可用统计信息。若是您须要100%的准确度,例如按请求计费,Prometheus不是一个好的选择,由于收集的数据可能不够详细和完整。在这种状况下,您最好使用其余系统来收集和分析数据以进行计费,并使用Prometheus进行其他监控。工具

注:以上内容参考 prometheus官网

软件测试汪简书地址
软件测试汪博客地址

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

转载请注意出处,谢谢合做

相关文章
相关标签/搜索