数据监控-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基础架构

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

  • 拓扑图

监控目标通过脚本或者其他的程序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的安装包
[root@cdh01 grafana]# wget https://dl.grafana.com/oss/release/grafana-7.5.7-1.x86_64.rpm

## 安装本地的grafana
[root@cdh01 grafana]# yum install grafana-7.5.7-1.x86_64.rpm 

## 启动grafana服务

相关推荐

  1. 数据库监控监听

    2024-01-30 14:14:02       10 阅读
  2. 数据仓库数据质量监控

    2024-01-30 14:14:02       20 阅读
  3. 快速监控 Oracle 数据库

    2024-01-30 14:14:02       31 阅读
  4. 监控监测对象及指标之:全面监控神通数据库

    2024-01-30 14:14:02       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-30 14:14:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-30 14:14:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-30 14:14:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-30 14:14:02       20 阅读

热门阅读

  1. 人员安全和风险管理的概念

    2024-01-30 14:14:02       36 阅读
  2. 学废SpringBoot+Redis+Lua=王炸(值得珍藏)

    2024-01-30 14:14:02       28 阅读
  3. Django实现富文本编辑器Ckeditor5图片上传功能

    2024-01-30 14:14:02       31 阅读
  4. 力扣labuladong一刷day71天动态规划5题

    2024-01-30 14:14:02       30 阅读
  5. Qt容器类

    2024-01-30 14:14:02       35 阅读
  6. 【微服务】概述

    2024-01-30 14:14:02       29 阅读
  7. 微服务系统设计:横向扩展和纵向扩展的对比

    2024-01-30 14:14:02       35 阅读