Springboot 集成Prometheus 数据采集 使用grafana 监控报告告警 邮件配置

目录

Springboot 相关

Pom

重点包

如果有需要可以增加安全包-一般内部机房没啥事-(非必选)

Application.yml配置文件-(非必选)

Application.properties

management.endpoints.web.exposure.include介绍

启动类

查看监控信息

Prometheus

Prometheus.yml 配置

如果使用类安全包-(非必选)

启动就可以看到了

Grafana 模板 12900

一、报告模板内容

二、设置告警邮件接收人

三、邮箱发送人配置(找个自己常用的邮箱开启smtp相关权限配置即可)

然后专门配置几个告警规则 走走测试验证下即可


 

Springboot 相关

Pom


<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-parent</artifactId>

       <version>2.2.4.RELEASE</version>

       <relativePath/> <!-- lookup parent from repository -->

    </parent>

    <groupId>com.example</groupId>

    <artifactId>springboot2demo</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <name>springboot2demo</name>

    <description>Demo project for Spring Boot</description>



    <properties>

       <java.version>1.8</java.version>

    </properties>



    <dependencies>

       <dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-actuator</artifactId>

       </dependency>

       <dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-web</artifactId>

       </dependency>

       <dependency>

           <groupId>io.micrometer</groupId>

           <artifactId>micrometer-registry-prometheus</artifactId>

           <version>1.1.4</version>

       </dependency>



       <dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-test</artifactId>

           <scope>test</scope>

           <exclusions>

              <exclusion>

                  <groupId>org.junit.vintage</groupId>

                  <artifactId>junit-vintage-engine</artifactId>

              </exclusion>

           </exclusions>

       </dependency>

    </dependencies>



    <build>

       <plugins>

           <plugin>

              <groupId>org.springframework.boot</groupId>

              <artifactId>spring-boot-maven-plugin</artifactId>

           </plugin>

       </plugins>

    </build>



</project>

重点包

<dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-actuator</artifactId>

       </dependency>

      

       <dependency>

           <groupId>io.micrometer</groupId>

           <artifactId>micrometer-registry-prometheus</artifactId>

       </dependency>

如果有需要可以增加安全包-一般内部机房没啥事-(非必选)

 

 <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-security</artifactId>

        </dependency>

Application.yml配置文件-(非必选)

security: 
  user: 
    name: admin 
    password: 1234 
  basic: 
    enabled: true 
    # 安全路径列表,逗号分隔,此处只针对/actuator路径进行认证 
    path: /actuator
 

Application.properties

server.port=8101

spring.application.name=springBootDemo

# 打开所有 Actuator 服务

management.endpoints.web.exposure.include=*

# 将应用名称添加到计量器的 tag 中去

# 以便 Prometheus 根据应用名区分不同服务

management.metrics.tags.application=${spring.application.name}

management.endpoints.web.exposure.include介绍

路径    描述

/autoconfig   提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过

/beans 描述应用程序上下文里全部的Bean,以及它们的关系

/env    获取全部环境属性

/configprops 描述配置属性(包含默认值)如何注入Bean

/dump 获取线程活动的快照

/health     报告应用程序的健康指标,这些值由HealthIndicator的实现类提供

/info    获取应用程序的定制信息,这些信息由info打头的属性提供

/mappings     描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系

/metrics    报告各种应用程序度量信息,比如内存用量和HTTP请求计数

/shutdown     关闭应用程序,要求endpoints.shutdown.enabled设置为true

/trace  提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)

/prometheus

启动类

package com.example.springboot2demo;



import io.micrometer.core.instrument.MeterRegistry;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.context.annotation.Bean;



@SpringBootApplication

public class Springboot2demoApplication {



    public static void main(String[] args) {

        SpringApplication.run(Springboot2demoApplication.class, args);

    }



    @Bean

    MeterRegistryCustomizer<MeterRegistry> configurer(

            @Value("${spring.application.name}") String applicationName) {

        return (registry) -> registry.config().commonTags("application", applicationName);

    }

}

查看监控信息

http://localhost:8101/actuator/prometheus

 

Prometheus

Prometheus.yml 配置

- job_name: " actuator-demo"

    metrics_path: "/actuator/prometheus"

    static_configs:

      - targets: ["localhost:8101"]

如果使用类安全包-(非必选)

- job_name: 'monitor-demo'

    scrape_interval: 5s # 刮取的时间间隔

    scrape_timeout: 5s 

    metrics_path: /actuator/prometheus

    scheme: http 

    basic_auth: #认证信息

      username: admin

      password: 1234

    static_configs:

      - targets:

        - 127.0.0.1: 8101 #此处填写 Spring Boot 应用的 IP + 端口号

启动就可以看到了

 

Grafana 模板 12900

一、报告模板内容

程序运行  Jvm   tomcat 请求响应  日志

 

 

 

 

 

 

 

 

 

二、设置告警邮件接收人

 

三、邮箱发送人配置(找个自己常用的邮箱开启smtp相关权限配置即可)

Grafana默认使用conf目录下defaults.ini作为配置文件运行 在这直接改就ok

 

#################################### SMTP / Emailing #####################

[smtp]

enabled = true

host = smtp.exmail.qq.com:465

user = xxxx@ininin.com

# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""

password = XXX

cert_file =

key_file =

skip_verify = true

from_address = xxxx@ininin.com

from_name = Grafana

ehlo_identity = ininin.com

然后专门配置几个告警规则 走走测试验证下即可

 

 

ok

持续更新

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33499.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用于语义图像分割的弱监督和半监督学习:弱监督期望最大化方法

这时一篇2015年的论文&#xff0c;但是他却是最早提出在语义分割中使用弱监督和半监督的方法&#xff0c;SAM的火爆证明了弱监督和半监督的学习方法也可以用在分割上。 这篇论文只有图像级标签或边界框标签作为弱/半监督学习的输入。使用期望最大化(EM)方法&#xff0c;用于弱…

【Solr】中文分词配置

提示&#xff1a;在设置中文分词前需确保已经生成过core&#xff0c;未生成core的可以使用&#xff1a;solr create -c "自定义名称"进行定义。 未分词前的效果预览&#xff1a; 下载分词器&#xff1a; 下载地址: https://mvnrepository.com/artifact/com.github.m…

Spring Cloud 之注册中心 Eureka 精讲

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

nginx配置开机启动(Windows环境)

文章目录 1、下载nginx&#xff0c;并解压2、配置nginx.conf&#xff0c;并启动Nginx3、开机自启动 1、下载nginx&#xff0c;并解压 2、配置nginx.conf&#xff0c;并启动Nginx 两种方法&#xff1a; 方法一&#xff1a;直接双击nginx.exe&#xff0c;双击后一个黑色弹窗一闪…

ELK日志收集系统集群实验

ELK日志收集系统集群实验 目录 一、实验拓扑 二、环境配置 三、 安装node1与node2节点的elasticsearch 1. 安装 2.配置 3.启动elasticsearch服务 4.查看节点信息 四、在node1安装elasticsearch-head插件 1.安装node 2.拷贝命令 3.安装elasticsearch-head 4.修改el…

【机器学习】十大算法之一 “PCA”

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

【夜深人静学数据结构与算法 | 第十一篇】枚举算法

目录 前言&#xff1a; 枚举算法&#xff1a; 优点&#xff1a; 枚举算法的种类&#xff1a; 枚举算法案例&#xff1a; 343. 整数拆分 - 力扣&#xff08;LeetCode&#xff09; 12. 整数转罗马数字 - 力扣&#xff08;LeetCode&#xff09; 总结&#xff1a; 前言&…

【手撕算法|动态规划系列No.1】leetcode1137. 第 N 个泰波那契数

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

exe的python文件打包

【步骤01】 【在命令行中用pip工具安装Pyinstaller模块】 pip install Pyinstaller 步骤02】 【切换命令行的路径到你要打包的Python源文件的文件夹路径下】 【下面是我要打包的Python源文件&#xff08;散点坐标图.py&#xff09;及其文件夹路径】 【步骤03】 【执行Pyi…

使用SSH远程直连Docker容器

文章目录 1. 下载docker镜像2. 安装ssh服务3. 本地局域网测试4. 安装cpolar5. 配置公网访问地址6. SSH公网远程连接测试7.固定连接公网地址8. SSH固定地址连接测试 转载自cpolar极点云文章&#xff1a;SSH远程直连Docker容器 在某些特殊需求下,我们想ssh直接远程连接docker 容器…

SpringBoot 实现 elasticsearch 查询操作(RestHighLevelClient 的案例实战)

文章目录 1. 环境准备1. 查询全部2. 根据 name 查询 match 分词查询3. 根据 name 和 品牌查询 multiMatch 分词查询4. 根据 brand 查询 match 分词查询5. 按照价格 范围查询6. 精确查询7. boolQuery8. 分页9. 高亮查询9. 公共解析 上一节讲述了 SpringBoot 实现 elasticsearch …

【图像处理OpenCV(C++版)】——5.3 图像平滑之均值平滑(滤波)

前言&#xff1a; &#x1f60a;&#x1f60a;&#x1f60a;欢迎来到本博客&#x1f60a;&#x1f60a;&#x1f60a; &#x1f31f;&#x1f31f;&#x1f31f; 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义&#xff0c;适用于平时学习、工作快…

Linux终端与进程的关系 ( 1 ) -【Linux通信架构系列】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 期待你的关注哦&#xff01;&#xff01;&#xff01; 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the…

C高级重点

1、请简要描述一下Linux文件系统的层级结构&#xff0c;包括不同目录的作用和功能。 Linux的文件系统结构是一个倒插树结构&#xff0c;所有的文件都从根目录出发。 2、find指令的用途 find 查找的路径 -name 文件名 ----->在指定路径下&#xff0c;以文件名为条件查找文…

总结vue3 的一些知识点:​Vue3 起步

目录 引言 Vue3 混入 实例 选项合并 实例 实例 全局混入 实例 Vue3 起步 Vue 3.0 实例 data 选项 实例 方法 总结 引言 Vue 进阶系列教程将在本号持续发布&#xff0c;一起查漏补缺学个痛快&#xff01;若您有遇到其它相关问题&#xff0c;非常欢迎在评论中留言讨…

Ubuntu 20.04.02 LTS安装virtualbox7.0

ubuntu22.04的软件仓库也有virtualbox&#xff0c;不过版本较老。 使用安装命令&#xff1a;sudo apt install virtualbox 如果想要安装最新版&#xff0c;那么需要去官网下载deb包或者使用官方的仓库。 这里采用安装Oracle官方仓库的方法。 执行如下命令&#xff1a; wge…

HTTP调用:你考虑到超时、重试、并发了吗?

今天&#xff0c;我们一起聊聊进行 HTTP 调用需要注意的超时、重试、并发等问题。 与执行本地方法不同&#xff0c;进行 HTTP 调用本质上是通过 HTTP 协议进行一次网络请求。网络请求必然有超时的可能性&#xff0c;因此我们必须考虑到这三点&#xff1a; 首先&#xff0c;框架…

抖音本地生活团购服务商

抖音本地生活团购服务商市场前景非常广阔。随着移动互联网的普及和人们对本地生活服务需求的增加&#xff0c;本地生活团购行业已成为一个快速增长的市场。而抖音平台拥有庞大的用户基础和强大的社交媒体传播力&#xff0c;为本地生活团购服务商提供了巨大的发展机遇。 抖音…

【博客674】警惕Prometheus 中的重复样本和无序时间戳错误

警惕Prometheus 中的重复样本和无序时间戳错误 1、场景 您的 Prometheus 服务器日志中是否遇到过以下错误&#xff1f; "Error on ingesting out-of-order samples" "Error on ingesting samples with different value but same timestamp" "dupli…

图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积)

文章目录 卷积操作池化Padding对多通道&#xff08;channels&#xff09;图片的卷积套上激活函数是什么样的参考&#xff1a; 卷积层是深度学习神经网络中经常使用的一种层。它通过卷积运算来提取输入的特征&#xff0c;常用于图像、语音等信号处理任务中。 卷积层有以下几个参…