本文来自Prometheus官网手册 和 Prometheus简介git
Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有很是活跃的开发者和用户社区。 它如今是一个独立的开源项目,能够独立于任何公司进行维护。 为了强调这一点,并阐明项目的治理结构,Prometheus于2016年加入Cloud Native Computing Foundation,做为继Kubernetes以后的第二个托管项目。github
Prometheus的主要特征有:服务器
Prometheus生态包括了不少组件,它们中的一些是可选的:网络
多数Prometheus组件是Go语言写的,这使得这些组件很容易编译和部署。架构
下面这张图说明了Prometheus的总体架构,以及生态中的一些组件做用:分布式
Prometheus能够直接经过目标拉取数据,或者间接地经过中间网关拉取数据。它在本地存储抓取的全部数据,并经过规则从现有数据中聚合记录新的时间序列或者产生警告,Grafana 和其余API可用于可视化收集的数据。微服务
Prometheus适用于记录任何纯数字时间序列。 它适用于以机器为中心的监控以及高度动态的面向服务架构的监控。 在微服务的世界中,Prometheus的多维度数据收集和查询很是强大。工具
Prometheus是为服务的可靠性而设计的,当服务出现故障时,它可使你快速定位和诊断问题。 每一个Prometheus服务器都是独立的,不依赖于网络存储或其余远程服务。 当基础架构的其余部分损坏时,您能够依赖它,而且您不须要设置大量的基础架构来使用它。spa
Prometheus重视可靠性。 即便在故障状况下,您也能够随时查看有关系统的可用统计信息。 若是您须要100%的准确度,例如按请求计费,Prometheus不是一个好的选择,由于收集的数据可能不够详细和完整。 在这种状况下,您最好使用其余系统来收集和分析数据以进行计费,并使用Prometheus进行其他监控。设计