【译】原文https://prometheus.io/docs/introduction/overview

什么是Prometheus?

Prometheus是一个开源系统监控和警报工具包,最初起源于SoundCloud。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目有一个非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,Prometheus在2016年加入了云计算基金会,成为继Kubernetes(k8s)之后的第二个托管项目。

特性介绍

Prometheus的主要特点是:

通过键值对(Key/Value)处理多维时序数据模型

实现灵活维度查询

不依赖分布式存储,单节点独立存储

通过Http Pull操作处理时序数据

通过网关(GateWay)中推送时序数据

通过服务发现或静态配置发现目标

支持各种图形表盘展示数据

组件

Prometheus由多个组件组成,其中大多数是可以选择的:

(Prometheus server)最主要的就是Prometheus Server,它用来收集和存储时序数据

(client libraries)客户端用来检测被监控的应用程序代码

(push gateway)支持瞬时的网关推送处理

(*. exporters)包括对 HAProxy, StatsD, Graphite等的额外支持

(alertmanager)监控预警管理、以及各种工具

大多数Prometheus组件都是用Go编写的,这使得它们易于构建并作为静态二进制文件部署

整体结构

下图说明了Prometheus的体系结构及其系统的一些组成部分:

Prometheus从直接或间接的瞬时推送从指定的网关作业中提取的度量标准,并在本地存储了推送的数据,聚合处理这些数据然后记录生成新的时序数据并按照一定的数据处理算法规则生成预警,
最后使用Grafana或其他API来对收取的数据实现可视化查看。

适用场景

Prometheus能够更好的记录数字类型的时序数据,它既可用于以机器为中心的监视,也适用于高度动态的面向服务的架构的监视。在微服务的场景中,它对多维数据收集和查询的支持有很特殊的优势。

为可靠性而设计的Prometheus可以让您在宕机的时候快速诊断分析问题。每个Prometheus服务器都是独立的,不依赖于网络存储或其他远程服务,当基础结构的其他部分损坏时,您可以依赖它,并且不需要设置更多额外的基础结构来使用它。

不适用场景

Prometheus非常重视可靠性,即使在发生故障的情况下,你也可以查看有关系统中的可用统计信息,但是如果你需要百分之百精准统计(如:每次账单请求信息)对Prometheus而言是不适用的,因为收集的数据可能不够详细和完整。在这种情况下,最好使用其他系统来收集和分析数据,并使用Prometheus进行其余额外的监视。

.NetCore下使用Prometheus实现系统监控和警报 (一)介绍【译】的更多相关文章

  1. .NetCore下使用Prometheus实现系统监控和警报 (二)Linux安装

    Prometheus对Windows有相关的支持  下载地址:https://prometheus.io/download/ wget https://github.com/prometheus/pr ...

  2. .NetCore下使用Prometheus实现系统监控和警报 (六)进阶Grafana集成自定义收集指标

    Prometheus中包含了很多收集指标,那么我们怎来在Grafana中来使用呢? 接下来我们还是以之前自定义的来演示如图:我们在Prometheus中已经可以看到这个之前我们自定义的类型了 关于Gr ...

  3. .NetCore下使用Prometheus实现系统监控和警报 (五)进阶自定义收集指标 之 Counter

    Prometheus下面定了四种类型的收集方式,下面我们主要来来说下Counter的使用 Nuget导入Prometheus.AspNetCore包 下面先来看下我的Prometheus配置,这里我没 ...

  4. .NetCore下使用Prometheus实现系统监控和警报 (四)客户端代码处理

    在代码中使用就比较简单了 Nuget包获取下 prometheus-net prometheus-net.AspNetCore 然后添加中间件就行了 app.UseMetricServer(); 默认 ...

  5. .NetCore下使用Prometheus实现系统监控和警报 (三)集成Grafana

    有了前面InfluxDB的经验,这里就很好处理了,数据类型选择Prometheus选地址等,填好保存 同样通过导入数据处理,我们在https://grafana.com/dashboards上选择Da ...

  6. go-zero docker-compose 搭建课件服务(七):prometheus+grafana服务监控

    0.转载 go-zero docker-compose 搭建课件服务(七):prometheus+grafana服务监控 0.1源码地址 https://github.com/liuyuede123/ ...

  7. Kubernetes1.16下部署Prometheus+node-exporter+Grafana+AlertManager 监控系统

    Prometheus 持久化安装 我们prometheus采用nfs挂载方式来存储数据,同时使用configMap管理配置文件.并且我们将所有的prometheus存储在kube-system #建议 ...

  8. Prometheus 系统监控方案 一

    最近一直在折腾时序类型的数据库,经过一段时间项目应用,觉得十分不错.而Prometheus又是刚刚推出不久的开源方案,中文资料较少,所以打算写一系列应用的实践过程分享一下. Prometheus 是什 ...

  9. Prometheus 系统监控方案 二 安装与配置

    下载Prometheus 下载最新安装包,本文说的都是在Linux x64下面内容,其它平台没尝试过,请选择合适的下载. Prometheus 主程序,主要是负责存储.抓取.聚合.查询方面. Aler ...

随机推荐

  1. hdu 1540 Tunnel Warfare (线段树 区间合并)

    Tunnel Warfare Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  2. [SDOI2009]Bill的挑战——全网唯一 一篇容斥题解

    全网唯一一篇容斥题解 Description Solution 看到这个题,大部分人想的是状压dp 但是我是个蒟蒻没想到,就用容斥切掉了. 并且复杂度比一般状压低, (其实这个容斥的算法,提出来源于y ...

  3. 「Vue」登陆-路由拦截器

    1.main.js设置拦截器 router.beforeEach(function (to,from,next) { if (to.meta.requireAuth) { if (store.stat ...

  4. 初识python面向对象编程

    初识python面向对象编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.面向过程的程序设计思想 #!/usr/bin/env python #_*_coding:utf-8 ...

  5. *p++、(*p)++、*++p、++*p 的区别

    int a[5]={1,2,3,4,5};int *p = a; *p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1: cout << *p++; // 结果为 1 cou ...

  6. ActiveMQ基础教程----简单介绍与基础使用

    概述 ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多 ...

  7. Linux 基础知识(一) shell的&&和|| 简单使用

    shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中.当 $? == 0 时,表示执行成功:当 $? == 1 时,表示执行失败.  有时候,下一条命令依赖前 ...

  8. FFprobe使用指南

    http://blog.csdn.net/stone_wzf/article/details/45378759 http://blog.chinaunix.net/uid-26000296-id-42 ...

  9. Brief History of Machine Learning

    Brief History of Machine Learning My subjective ML timeline Since the initial standpoint of science, ...

  10. 关闭ios弹出框:“would like to use your current location”

    图一: 图二: 使用cordova生成ios项目,首次打开获取用户定位时会弹出两次对话框,关闭图二中对话框方法: document.addEventListener("deviceready ...