Prometheus+Grafana+AlertManager监控SpringBoot项目并发送邮件告警通知

news/2024/5/18 21:51:21 标签: prometheus, grafana, spring boot

文章目录

  • Prometheus+Grafana+AlertManager监控平台搭建
  • 新建SpringBoot项目
    • 为Prometheus提供指标
      • 新建项目,引入依赖
      • 新建接口,运行程序
    • 推送指标到pushgateway
  • 开始监控
    • Grafana连接Prometheus数据源
    • 导入Grafana模板
    • 监控SpringBoot项目
  • 邮件告警通知
  • 同系列文章

Prometheus+Grafana+AlertManager监控平台搭建

Docker搭建并配置Prometheus

Docker拉取并配置Grafana

Docker安装并配置Node-Exporter

Docker安装并配置cAdvisor

Docker安装并运行Alertmanager

新建SpringBoot项目

为Prometheus提供指标

新建项目,引入依赖

<!--用于导出prometheus系统类型的指标数据-->
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
    <version>1.9.8</version>
</dependency>

新建接口,运行程序

Prometheus配置文件中已添加该项目地址,运行后到Prometheus页面中查看连接情况
在这里插入图片描述

成功

推送指标到pushgateway

引入依赖

<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient</artifactId>
    <version>0.12.0</version>
</dependency>
<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient_pushgateway</artifactId>
    <version>0.12.0</version>
</dependency>

新增push接口,用于推送指标(job=B,instance=A)到Pushgateway

@GetMapping("push")
public void executeBatchJob(){
    try{
        String url = "192.168.251.44:9091";
        CollectorRegistry registry = new CollectorRegistry();
        Gauge guage = Gauge.build("my_custom_metric11", "This is my custom metric.").create();
        guage.set(1.22);
        guage.register(registry);
        PushGateway pg = new PushGateway(url);
        Map<String, String> groupingKey = new HashMap<String, String>();
        groupingKey.put("instance", "A");
        pg.pushAdd(registry, "B", groupingKey);
    } catch (Exception e){
        e.printStackTrace();
    }
}

运行后调用接口,访问Pushgateway
在这里插入图片描述

指标已被推送至Pushgateway

开始监控

Grafana连接Prometheus数据源

点击Add your first data source
在这里插入图片描述

选择Prometheus
在这里插入图片描述

Prometheus server URL中输入IP地址及端口号
注意:此处IP地址为Prometheus在Docker容器内部的IP地址
在这里插入图片描述

查看容器内ID方法:

docker exec -it 容器ID sh
ifconfig

在这里插入图片描述
退出:Ctrl+D

点击底部Save&Test
在这里插入图片描述

导入Grafana模板

在这里插入图片描述
填入模板号,点击load
在这里插入图片描述
选择之前设置的Prometheus作为数据源即可
在这里插入图片描述

监控SpringBoot项目

在这里插入图片描述

邮件告警通知

开启邮箱POP3/SMTP服务(以QQ邮箱为例)

在这里插入图片描述
在这里插入图片描述

开启后获得授权码,填到alertmanager配置文件相应位置中,并补全其他必要信息,重启alertmanager服务。
停止SpringBoot项目,等待一段时间。
进入Prometheus的Alerts页面,可以看到有告警信息,提示所监控机器不可用,状态已经为Firing,这表示已经将告警发送至Alertmanager。
在这里插入图片描述

进入AlertManager界面,可以看到告警信息。
在这里插入图片描述
AlertManager会根据配置好的规则将消息发送至邮箱。

在这里插入图片描述
在这里插入图片描述

操作完成


同系列文章

Linux安装Docker

Docker搭建并配置Prometheus

Docker拉取并配置Grafana

Docker安装并配置Node-Exporter

Docker安装并配置cAdvisor

Docker安装并运行Alertmanager

Prometheus+Grafana+AlertManager监控Linux主机状态


http://www.niftyadmin.cn/n/4963501.html

相关文章

API 网关基础

目录 一、网关概述二、网关提供的功能三、常见网关系统3.1 Netflix Zuul3.2 Spring Cloud Gateway3.3 Kong3.4 APISIX3.5 Shenyu 一、网关概述 API网关是一个服务器&#xff0c;是系统的唯一入口。 从面向对象设计的角度看&#xff0c;它与外观模式类似。API网关封装了系统内部…

Prompt本质解密及Evaluation实战(一)

一、基于evaluation的prompt使用解析 基于大模型的应用评估与传统应用程序的评估不太一样&#xff0c;特别是基于GPT系列或者生成式语言模型&#xff0c;因为模型生成的内容与传统意义上所说的内容或者标签不太一样。 以下是借用了ChatGPT官方的evaluation指南提出的对结果的具…

四、pikachu之文件包含

文章目录 1、文件包含漏洞概述1.1 文件包含漏洞1.2 相关函数1.3 文件包含漏洞分类 2、File Inclusion(local)3、File Inclusion(remote) 1、文件包含漏洞概述 1.1 文件包含漏洞 文件包含漏洞&#xff1a;在web后台开发中&#xff0c;程序员往往为了提高效率以及让代码看起来更…

多个微信号怎么定时发圈?

多个微信号怎么定时发圈&#xff1f;https://mp.weixin.qq.com/s?__bizMzg2Nzg4NjEzNg&mid2247487136&idx2&sn036e1d5f9d3790b12a103a90de474957&chksmceb5fbf7f9c272e1f8e9acf644ad3d4d97fb8fdce77ec5e2a2976527d4d180ad1c277b4336c8&token495803628&…

flask获取请求对象的get和post参数

前言 get请求参数是在URL里面的&#xff0c;post请求参数是放在请求头里面的 get请求&#xff1a; index_page.route("/get") def get():var_a request.args.get("a", "jarvis")return "request:%s,params:%s,var_a:%s" %(request…

STM32 无法烧录

1. 一直显示芯片没连接上&#xff0c;检查连线也没问题&#xff0c;换了个ST-Link 烧录器还是连不上&#xff0c;然后又拿这个烧录器去其它板子上试下&#xff0c;就可以连接上&#xff0c;说明我连线没问题&#xff0c;烧录器也没问题&#xff0c;驱动什么的更是没问题&#x…

浅谈开发过程中完善的注释的重要性

第一部分&#xff1a;引言 1.1 简述编程注释的定义和功能 编程注释是一种在源代码中添加的辅助性文字&#xff0c;它不参与编译或执行&#xff0c;但对于理解源代码起着至关重要的作用。注释可以简单地描述代码的功能&#xff0c;也可以详细地解释算法的工作原理、设计决策的…

Visual Studio 2022 右键单击项目没有出现View | View Class Diagram(Visual Studio 无法使用类设计器)

文章目录 问题描述原因.NET Core项目.NET Framework项目 问题描述 当我们在Solution Explorer窗口右键单击项目时&#xff0c;快捷菜单中没有出现“查看”&#xff0c;或者出现了“查看”&#xff0c;但是“查看”里没有View Class Diagram。 原因 首先你要确保你安装了类设…