Prometheus介绍与MySQL监控

本文详细介绍了Prometheus监控MySQL的全过程,包括Prometheus组件、工作流程、数据模型和Metric类型。通过配置Prometheus、安装mysqld_exporter以及在Grafana展示数据,实现对MySQL的全面监控。
摘要由CSDN通过智能技术生成

Prometheus介绍与MySQL监控

本文转载自:Prometheus介绍与MySQL监控

简介

普罗米修斯是一个开源系统监控和警报工具包。

它能监控很多东西,比如机器,JMX,数据库,一些软件等。

git地址: https://github.com/prometheus

组件

  • Prometheus Server : 用于收集和存储时间序列数据。
  • Client Library : 客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。当Prometheus server 来 pull 时,直接返回实时状态的 metrics。
  • Push Gateway : 主要用于短期的 jobs。由于这类 jobs 存在时间较短,可能在 Prometheus 来 pull 之前就消失了。为此,这次 jobs 可以直接向 Prometheus server 端推送它们的 metrics。这种方式主要用于服务层面的metrics,对于机器层面的 metrices,需要使用 node exporter。
  • Exporters : 用于暴露已有的第三方服务的 metrics 给 Prometheus。
  • Alertmanager : 从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等。
  • 一些其他的工具。

架构图:

prometheus架构

特点

  • 多维数据模型
    • 时间序列数据通过metric名和键值对来区分
    • 所有的metrics都是可以设置为多维标签
  • 灵活的查询语句
  • 高效
  • 采用pull模式采集时间序列
  • 可以采用push gateway的方式推送数据之Prometheus server端
  • 可以通过服务发现或者静态配置去获取监控的targets

工作流程

其大概的工作流程是:

  • Prometheus server 定期从配置好的 jobs 或者 exporters 中拉 metrics,或者接收来自 Pushgateway 发过来的 metrics,或者从其他的 Prometheus server 中拉 metrics。
  • Prometheus server 在本地存储收集到的 metrics(保存在data目录下),并运行已定义好的 alert.rules,记录新的时间序列或者向 Alertmanager 推送警报。
  • Alertmanager 根据配置文件,对接收到的警报进行处理,发出告警。
  • 在图形界面中,可视化采集数据。

数据模型

Prometheus 中存储的数据为时间序列,是由 metric 的名字和一系列的标签(键值对)唯一标识的,不同的标签则代表不同的时间序列。

  • metric 名字:该名字应该具有语义,一般用于表示 metric 的功能,例如:http_requests_total, 表示 http 请求的总数。
  • 标签:使同一个时间序列有了
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值