1.1 Prometheus 简介
Prometheus 是一个开源的系统监控和警报工具,最初是在 SoundCloud 上构建的。自2012年启动以来,许多公司和组织都采用了 Prometheus,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,并阐明该项目的治理结构,Prometheus 于2016年加入 CNCF (云原生计算基金会),成为继 Kubernetes 之后的第二个托管项目。2018 年 8 月 9 日,CNCF 宣布开放源代码监控工具 Prometheus 已从孵化状态进入毕业状态。
特性
Prometheus 的主要特性有:
- 一个多维数据模型,包含由 metric 和 key/value 标识的时间序列数据
- PromQL是一种灵活的查询语言
- 不依赖分布式存储,单个服务器节点是自治的
- 基于 HTTP 协议通过 pull 形式进行收集时间序列数据
- push 形式的时间序列数据是通过一个中间网关来支持的
- targets 可以通过服务发现或静态配置发现的
- 多种模式的图形和仪表盘支持
组件
Prometheus 生态系统由多个组件组成,其中许多是可选的:
Prometheus Server:主要的 Prometheus 服务器,它抓取和存储时间序列数据
Client Libraries:用于检测应用程序代码的库,主要用于客户端。
Push Gateway:支持短期生命周期的 Jobs
Exporter:为 HAProxy、StatsD、Graphite 等服务提供数据。
Alert Manager:一个告警处理工具
各种支持工具
大多数的 Prometheus 组件是用 Go 语言来编写的,这使得他们可以很容易的构建并且使用静态的二进制文件来部署。
架构
这张图展示了 Prometheus 的架构及其生态系统的一些组成部分:
【图片来自官方网站】
Prometheus 从各种采集端的 Job 中获取 Metric,要么直接获取,要么通过 Push Gateway 获取短生命周期 Job 。它在本地存储所有抓取的数据,并对这些数据处理聚合和记录以生成新的时间序列,或者生成警报消息。Grafana 或其他 API 使用者可以使用 PromQL 语法来查询使用数据。
Prometheus 适合做什么
Prometheus 可以很好地记录任何纯数字的时间序列。它既适合以机器为中心的监视,也适合高度动态的面向服务的体系结构的监视。在微服务的世界中,它对多维数据收集和查询的支持是一个特别的优势。
Prometheus 是为可靠性而设计的,它是您在停机期间使用的系统,允许您快速诊断问题。每台Prometheus 服务器都是独立的,不依赖于网络存储或其他远程服务。当您的基础设施的其他部分被破坏时,您可以依赖它,并且您不需要设置广泛的基础设施来使用它。
Prometheus 不适合做什么
Prometheus 的值是很可靠的。您总是可以查看有关系统的统计信息,即使在出现故障的情况下也是如此。如果您需要100%的准确性,例如按请求计费,Prometheus不是一个好的选择,因为收集的数据可能不够详细和完整。在这种情况下,最好使用其他系统来收集和分析用于计费的数据,并使用 Prometheus 来完成剩下的监视工作。
并且 Prometheus 并不适合监控字符串类的监控指标。
关于日志类的监控,请使用其他日志系统,比如 Grafana 的 Loki ,可以在 Grafana 中进行展示。Loki 目前还在测试阶段,可以进行尝试,请在稳定后再用于生产系统。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
架构整洁之道, 看这一篇就够了!
阿里妹导读:程序的世界飞速发展,今天所掌握的技能可能明年就过时了,但有些知识历久弥新,掌握了它们,你在程序的海洋中就不会迷路,架构思想就是这样的知识。 本文是《架构整洁之道》的读书心得,作者将书中内容拆解后再组织,不仅加入了个人的独到见解,而且用一张详细的知识脉络图帮助大家了解整本书的精华。如果你读过这本书,可以将本文当做一次思想交流,如果你还没看过这本书,更要阅读这篇文章,相信你会得到不同于以往的启发。 本篇文章我们将从软件系统的价值出发,首先认识架构工作的价值和目标, 接下来依次了解架构设计的基础、指导思想(设计原则)、组件拆分的方法和粒度、组件之间依赖设计、组件边界多种解耦方式以及取舍、降低组件之间通信成本的方法,从而最终指导我们做出正确的架构决策和架构设计。 一、软件系统的价值 架构是软件系统的一部分,所以要明白架构的价值,首先要
- 下一篇
一文理解Skip-Gram上下文的预测算法
来源商业新知网,原标题:简单粗暴!一文理解Skip-Gram上下文的预测算法 自然语言处理属于人工智能领域,它将人类语言当做文本或语音来处理,以使计算机和人类更相似,是人工智能最复杂的领域之一。 由于人类的语言数据格式没有固定的规则和条理,机器往往很难理解原始文本。 要想使机器能从原始文本中学习,就需要将数据转换成计算机易于处理的向量格式,这个过程叫做词表示法。 词向量 词表示法在向量空间内表达词语。 所以,如果词向量之间距离较近,这就意味着这些词是相互关联的。 在上图中,可以看到与女性有关的词语聚集在左边,而与男性有关的词语聚集在右边。 所以,如果我们给出“耳环”这种词语,电脑会把它和女性联系起来,这在逻辑上是正确的。 语言的词汇量很大,人类难以对其进行一一分类和标识; 因此我们需要使用无监督学习技术,该技术可以独立学习词语的上下文。 无监督学习是指: 没有标注的训练数据集,需要根据样本间的规律统计对样本进行分析,常见如任务聚类等。 Skip-gram就是一种无监督学习技术,常用于查找给定单词的最相关词语。 Skip-gram用于预测与给定中心词相对应的上下文词。 它和连续词袋模型(...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)