前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >如何用Prometheus + Grafana 搭建实时监控体系

如何用Prometheus + Grafana 搭建实时监控体系

原创
作者头像
叫我阿柒啊
发布2025-02-28 16:37:50
发布2025-02-28 16:37:50
1010
举报
文章被收录于专栏:入门到放弃之路

前言

微服务带来了高可用性、灵活性和,但是也带来了一些新的挑战。还记得我刚开始学习Java的时候愧,看到过一个问题:为什么xx游戏不使用微服务架构? 我记得当时在那篇博客中的答案是:“微服务将服务模块化,但是模块之间通信会带来网络延时,影响游戏体验。”

所以微服务并不是十全十美的,但是我们结合一些其他的技术去完善他。在单体架构中,所有功能都运行在一个应用内,所有的日志通常集中在一起,排查相对容易。但微服务架构让服务拆分成多个独立模块,相互通信、协调工作,虽然这带来了更好的扩展性,但同时也让问题排查变得麻烦起来。

所以在问题出现之前,能够实现实时监控和自动告警是风场有必要的,所以本篇文章就使用Prometheus + Grafana 搭建实时监控告警体系。

Node Exporter

Node Exporter 用于采集服务器基础监控数据(CPU、内存、磁盘等),Prometheus 是基于Node Exporter 采集的数据进行查询。

下载并启动 Node Exporter。

代码语言:bash
复制
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz
tar -xvf node_exporter-1.6.0.linux-amd64.tar.gz
cd node_exporter-1.6.0.linux-amd64
./node_exporter &

启动成功:

访问 http://服务器IP:9100/metrics,看到一堆指标数据,说明 Node Exporter 运行正常。

接下来就是下载和安装Prometheus。

Prometheus

1. 安装

使用以下命令下载安装并启动Prometheus。

代码语言:bash
复制
wget https://github.com/prometheus/prometheus/releases/download/v2.48.0/prometheus-2.48.0.linux-amd64.tar.gz
tar -xvf prometheus-2.48.0.linux-amd64.tar.gz
cd prometheus-2.48.0.linux-amd64

2. 配置 Prometheus

编辑 prometheus.yml 配置文件,配置Prometheus和Node Exporter服务。

代码语言:yaml
复制
global:
  scrape_interval: 15s  # 采集数据的时间间隔

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

如果是服务器,需要将localhost换成公网IP才能被访问。

3. 启动

代码语言:bash
复制
./prometheus --config.file=prometheus.yml &

如图,启动访问成功。

云服务器的话需要在防火墙安全组开放9090和9100端口。

这样通过公网IP:9090,就访问到了Prometheus。

在上面的prometheus.yml中我们配置了 Node Exporter,所以我们在prometheus页面顶部的 Expression输入框中输入 Node Exporter 提供的指标名称,然后点击 "Execute" 执行查询,就可以输出对应指标。

例如我们想要查看内存使用率:

代码语言:bash
复制
node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100

输入公式,结果如图:

Grafana

Prometheus 主要用于存储和查询Node Exporter采集的数据指标,如果想要可视化,就需要借助Grafana。

1. 安装

使用以下命令安装grafana。

代码语言:bash
复制
wget https://dl.grafana.com/oss/release/grafana-10.3.0.linux-amd64.tar.gz
tar -xvf grafana-10.3.0.linux-amd64.tar.gz
cd grafana-10.3.0/bin
./grafana-server &

grafana启动成功:

通过http://服务器IP:3000访问 Grafana,默认用户名/密码:admin/admin。

登录成功进入grafana首页。

2. 配置数据源

点击Data Sources,将Prometheus添加到数据源中:

选择Prometheus,输入地址。

然后点击save和test。

这样Prometheus就被成功添加到grafana中了。

3. 创建仪表盘

进入 Dashboards ,点击右侧new选择Import。

这里会让你创建一个展示模版,这里我们输入官方模板 ID:1860(Node Exporter 监控模板),然后点击输入框右侧的 load

选择刚刚添加的 Prometheus 数据源,点击 Import,即可看到服务器 CPU、内存、磁盘等数据。

结语

这样通过 Prometheus 和 Grafana就完成了服务器 CPU、内存和磁盘的监控。如果想要根据一些指标实现告警,我们可以安装 Alertmanager,然后定义监控规则,例如CPU使用率超过80%,配置在Prometheus就可以实现告警。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Node Exporter
  • Prometheus
    • 1. 安装
    • 2. 配置 Prometheus
    • 3. 启动
  • Grafana
    • 1. 安装
    • 2. 配置数据源
    • 3. 创建仪表盘
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档