记一次Prometheus完整监控案例

本文介绍了如何使用 Prometheus 和 mysql_exporter 搭建对 MySQL 监控的完整案例,包括 Prometheus 的优势、组件、架构以及应用场景。通过 Prometheus Server、Exporter 和 Grafana 的配置,实现了 MySQL 指标的可视化监控。
摘要由CSDN通过智能技术生成

 

      时间过得真快,又是一周过去了。自上周转载了一篇关于普罗米休斯的文章后,有点心血来潮,因为在去年也曾浅浅研究过,关于普罗米休斯的文章网上有很多,但是很多都参差不齐,对于初学者或者小白来说,估计很难看懂。今天它来了,希望这篇文章能让大家对普罗米休斯有初步的认识,能够独立搭建第一套简单的监控系统。

      关于什么是普罗米修斯,它的优势、组件架构以及应用场景,还是直接看官网怎么说(下面的这段简介摘抄自中文文档:https://prometheus.fuckcloudnative.io/

 

 

一、Prometheus简介

 

什么是 Prometheus?

Prometheus 是由前 Google 工程师从 2012 年开始在 Soundcloud 以开源软件的形式进行研发的系统监控和告警工具包,自此以后,许多公司和组织都采用了 Prometheus 作为监控告警工具。Prometheus 的开发者和用户社区非常活跃,它现在是一个独立的开源项目,可以独立于任何公司进行维护。为了证明这一点,Prometheus 于 2016 年 5 月加入 CNCF 基金会,成为继 Kubernetes 之后的第二个 CNCF 托管项目。

 

Prometheus 的优势

Prometheus 的主要优势有:

  • 由指标名称和和键/值对标签标识的时间序列数据组成的多维数据模型。

  • 强大的查询语言 PromQL。

  • 不依赖分布式存储;单个服务节点具有自治能力。

  • 时间序列数据是服务端通过 HTTP 协议主动拉取获得的。

  • 也可以通过中间网关来推送时间序列数据。

  • 可以通过静态配置文件或服务发现来获取监控目标。

  • 支持多种类型的图表和仪表盘。

 

 

Prometheus 的组件

Prometheus 生态系统由多个组件组成,其中有许多组件是可选的:

  • Prometheus Server 作为服务端,用来存储时间序列数据。

  • 客户端库用来检测应用程序代码。

  • 用于支持临时任务的推送网关。

  • Exporter 用来监控 HAProxy,StatsD,Graphite 等特殊的监控目标,并向 Prometheus 提供标准格式的监控样本数据。

  • alartmanager 用来处理告警。

  • 其他各种周边工具。

其中大多数组件都是用 Go 编写的,因此很容易构建和部署为静态二进制文件。

 

 

Prometheus 的架构

Prometheus 的整体架构以及生态系统组件如下图所示:

 

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

 

Prometheus Server 直接从监控目标中或者间接通过推送网关来拉取监控指标,它在本地存储所有抓取到的样本数据,并对此数据执行一系列规则,以汇总和记录现有数据的新时间序列或生成告警。可以通过 Grafana 或者其他工具来实现监控数据的可视化。

 

Prometheus 适用于什么场景

 

Prometheus 适用于记录文本格式的时间序列,它既适用于以机器为中心的监控,也适用于高度动态的面向服务架构的监控。在微服务的世界中,它对多维数据收集和查询的支持有特殊优势。Prometheus 是专为提高系统可靠性而设计的,它可以在断电期间快速诊断问题,每个 Prometheus Server 都是相互独立的,不依赖于网络存储或其他远程服务。当基础架构出现故障时,你可以通过 Prometheus 快速定位故障点,而且不会消耗大量的基础架构资源。

 

 

 

Prometheus 不适合什么场景

Prometheus 非常重视可靠性,即使在出现故障的情况下,你也可以随时查看有关系统的可用统计信息。如果你需要百分之百的准确度,例如按请求数量计费,那么 Prometheus 不太适合你,因为它收集的数据可能不够详细完整。这种情况下,你最好使用其他系统来收集和分析数据以进行计费,并使用 Prometheus 来监控系统的其余部分。

 

 

     好了,通过上面的这一大段,相信大家已经对普罗米休斯有了第一印象,我这里再简单概述一下。普罗米休斯是一个很牛叉的监控系统,有很完善的社区,能够完成指标数据采集时间序列存储多维度查询PromQL)、可视化展现。换句话说,普罗米休斯能完成监控数据的采集、入库、查询、可视化呈现。

     作为一个监控系统,他到底能监控什么?

  •  
  •  
  •  
  •  
###系统监控CPU、内存,磁盘,网卡流量,TCP状态,进程数等### 应用监控MySQL、Redis、MongoDB、JVM、K8S、Nginx等

     当然,普罗米休斯的监控能力远不止这些,上面仅列举了大家所熟知的一些监控案例,如果感兴趣,建议多逛逛社区,社区内容真的非常丰富!

     好了,废话说完了,终于要到了实操环节,下面的才是真的干货。

 

二、kpi目标

 

通过普罗米修斯+mysql_exporter+Grafana 实现对mysql各项指标的可视化监控

 

三、环境准备

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值