数据监控-Prometheus/Grafana

一、数据监控Prometheus

1、什么是Prometheus

    Prometheus是由SoundCloud开源监控告警解决方案,从2012年开始编写代码,到2015年github上开源以来,吸引不少用户以及公司的使用。Prometheus作为新一代的开源解决方案,很多理念与Google SRE的运维之道不谋而合。

2、Prometheus特点

1.Prometheus是按照Google SRE运维之道的理念构建的,具有实用性和前瞻性的特点。
2.Prometheus一直在优化和巩固
3.Prometheus基于Go语言,性能不错,安装和部署简单,可以实现多平台部署的兼容性。
4.丰富的数据收集客户端,而且官方提供了各种常用的exporter
5.丰富强大的查询能力

3、Prometheus主要功能

1.多维数据模型
2.灵活的查询语句
3.无以来存储,支持local和remote不同类型
4.次啊用http,使用pull(拉)模式,简单移动
5.监控目标,可以采用服务发现或静态配置的方式。
6.支持多种统计数据模型,图形化友好

4、Prometheus基础架构

数据监控-Prometheus/Grafana_第1张图片

5、工作流程

指标采集:Prometheus server通过pull形式采集监控指标,可以直接拉取监控指标,也可以通过pushgateway作为中间环节,监控目标首先通过push操作将数据上传到pushgateway。
指标处理:Prometheus server 将次啊及到的数据存储在自身的DB或者第三方的DB上。
指标展示:Prometheus server 通过提供HTTP接口,提供自带或者第三方展示系统,例如Grafana。
指标警告:Prometheus server 通过push告警信息到AlertManager,AlertManager通过静默-抑制-整合-下发这四个阶段处理后通知观察者结果。

支持多种exporter 采集指标数据,还支持 PushGateway 进行数据上报。Prometheus性能足够支撑上万台规模的集群。


6、组件

  • PushGateway(推送网关)

可选,作为数据采集的中间系统,监控目标可以先通过push将数据上传到PushGateway,然后Prometheus server再通过pull的方式将数据采集到

  • Prometheus Server

Prometheus服务器的实例

  • Grafana

可选,这里建议使用,这是第三方的展示工具,可以编写Prom QL的查询语句,通过HTTP协议与Prometheus集成

  • Alter Manager

prometheus的Alerting模块,负责接收告警,例如Prometheus server发送的警告信息,并且通过提供静默-抑制-整合-下发等操作。

7、重点组件介绍

7.1 pushgateway

  • 拓扑图

数据监控-Prometheus/Grafana_第2张图片

监控目标通过脚本或者其他的程序push日志到pushgateway中,prometheus通过pull的方式拉取pushgateway的日志

  • pushgateway的重要性

因为Prometheus是以pull的形式采集监控的指标,这样的话就会存在两个这样的问题:

1、每次新增监控目标就需要修改Prometheus的配置

2、如果监控目标所在网络和Prometheus所在网络不通,就无法通过Prometheus的pull形式采集指标

  • Prometheus的缺点

1.pushgateway存在单点问题,如果pushgateway出现故障,所有监控目标都将失败。当然也可以借助LSB来解决单点问题

2.丢失Prometheus对实例健康状态的检查功能

3.取消监控一个服务,需要手动删除pushgateway上对应的持久化数据

  • 单点故障

这里的pushgateway就是进程中的一个单点,这个点如果出现问题的话,就会引起单点问题。

  • API

所有的监控指标的push都通过HTTP接口

7.2 Alert Manager

  • 分组

将警告信息分组,方便应用于当大量报警信息涌入时的通知

  • 静默

安装一定的规则,在一定时间内不进行通知下发,在达到一定的阈值之后,统一下发

  • 抑制

一个告警信息被另一个告警信息抑制后,另一种告警发送之后,该告警不再发送

prometheus正应用于离线数仓中采集监控功能,通过与grafana联合使用,实现采集监控主要监控,通过openstry采集用户行为日志。

二、数据监控之grafana

1、Grafana安装

## 下载grafana的安装包
[roo

你可能感兴趣的:(大数据运维,prometheus,grafana)