搭建 Prometheus+Grafana 的云平台监控系统

1.1.1 Prometheus 概述
Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由
SoundCloud 公司开发的。现在最常见的 Docker、Mesos、Kubernetes 容器管理系统中,通常会搭配
Prometheus 进行监控。
Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任意组件只
要提供 HTTP 接口就可以接入监控系统,不需要任何 SDK 或者其他的集成过程。这样做非常适合虚拟化
环境比如 VM 或者 Docker 。
输出被监控组件信息的 HTTP 接口被叫做 exporter。目前互联网公司常用的组件大部分都有
exporter 可以直接使用,比如 Varnish、Haproxy、Nginx、MySQL、Linux 系统信息 (包括磁盘、
内存、CPU、网络等等),具体支持的源看:https://github.com/prometheus。
1.12 Prometheus的特点
多维度数据模型。
灵活的查询语言。
不依赖分布式存储,单个服务器节点是自主的。
通过基于HTTP的pull方式采集时序数据。
可以通过中间网关进行时序列数据推送。
通过服务发现或者静态配置来发现目标服务对象。
支持多种多样的图表和界面展示,比如Grafana等。
官网地址:https://prometheus.io/

1.1.3 Prometheus 架构图解
普罗米修斯(Prometheus)及其一些生态系统组件的整体架构:
在这里插入图片描述
1.14 Prometheus 各组件运行流程如下:

  1. Prometheus Server:Prometheus Sever 是 Prometheus 组件中的核心部分,负责实现对监
    控数据的获取,存储及查询。Prometheus Server 可以通过静态配置管理监控目标,也可以配合使用
    Service Discovery(服务发现)的方式动态管理监控目标,并从这些监控目标中获取数据。其次
    Prometheus Sever 需要对采集到的数据进行存储,Prometheus Server 本身就是一个实时数据库,将
    采集到的监控数据按照时间序列的方式存储在本地磁盘当中。Prometheus Server 对外提供了自定义的
    PromQL,实现对数据的查询以及分析。另外 Prometheus Server 的集群能力可以使其从其他的
    Prometheus Server 实例中获取数据。

  2. Exporters:Exporter将监控数据采集的端点通过 HTTP 服务的形式暴露给Prometheus Server,
    Prometheus Server 通过访问该 Exporter 提供的 Endpoint 端点,即可以获取到需要采集的监控数据。
    可以将 Exporter 分为 2 类:
    (1)、直接采集:这一类 Exporter 直接内置了对 Prometheus 监控的支持,比如 cAdvisor,
    Kubernetes,Etcd,Gokit 等,都直接内置了用于向 Prometheus 暴露监控数据的端点。
    (2)、间接采集:原有监控目标并不直接支持 Prometheus,因此需要通过 Prometheus 提供的 Client
    Library 编写该监控目标的监控采集程序。例如:Mys

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值