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

news2024/11/17 6:48:14

目录

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

持续更新

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[RocketMQ] Producer发送单向/异步/同步消息源码 (八)

文章目录 1.sendMessage方法发送消息2.invokeOneway单向发送2.1 invokeOnewayImpl单向调用 3.sendMessageSync同步发送3.1 invokeSync同步调用3.1.1 invokeSyncImpl同步调用实现3.1.2 processSendResponse处理响应结果 4.sendMessageAsync异步发送消息4.1 invokeAsync异步调用4…

信号链噪声分析16

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示&#xff1a;这里可以添加技术概要 上世纪 50、60 年代&#xff0c;积分非线性度、差分非线性度、单调性、无失码、增益误差、 失调误差、漂移等直流性能规格主要用于表示数据转换器的性能特性。在当时&#xff0…

【企业架构框架】SOGAF 运营模式

Salesforce 运营、治理和架构框架 (SOGAF) 将 MIT-CISR 企业架构框架应用于 Salesforce 实施和程序。 介绍 运营模式有两个维度&#xff1a;业务流程标准化和业务流程集成。业务流程和相关系统的标准化意味着准确定义流程的执行方式。运营模式可提高整个公司的效率和可预测性。…

网络通讯录服务器

文章目录 六、通讯录4.0实现---⽹络版1. 环境搭建1.1 安装Httplib库1.1升级 gcc 2. 搭建简单的服务器3. 约定双端交互接⼝4. 代码实现客户端5. 代码实现服务端 六、通讯录4.0实现—⽹络版 简易版本 服务端完整版本 客户端完整版本 Protobuf还常⽤于通讯协议、服务端数据交换…

【物联网无线通信技术】802.11无线安全认证

本文由简入繁介绍了IEEE802.11i无线局域网安全技术的前世今生&#xff0c;帮助路由器开发者对WLAN的加密安全策略有一个概念上的认知&#xff0c;能够更好地分析STA掉线以及漫游等问题。 目录 WEP WPA WPA/WPA2-PSK认证过程 802.11i WEP WEP是Wired Equivalent Privacy的简…

基于matlab使用扩张卷积的语义分割(附源码)

一、前言 使用扩张卷积训练语义分割网络。语义分割网络对图像中的每个像素进行分类&#xff0c;从而生成按类分割的图像。语义分割的应用包括自动驾驶的道路分割和医疗诊断的癌细胞分割。 二、加载训练数据 该示例使用 32 x 32 个三角形图像的简单数据集进行说明。数据集包括…

Quiz 14_2-2: Using Web Services | Python for Everybody 配套练习_解题记录

文章目录 Python for Everybody课程简介Quiz 14_2-2: Using Web Services单选题&#xff08;1-15&#xff09;操作题Autograder 1: Extract Data from JSONAutograder 2: Calling a JSON API Python for Everybody 课程简介 Python for Everybody 零基础程序设计&#xff08;P…

12 | 领域建模:如何用事件风暴构建领域模型?

还记得微服务设计为什么要选择 DDD 吗&#xff1f; 其中有一个非常重要的原因&#xff0c;就是采用 DDD 方法建立的领域模型&#xff0c;可以清晰地划分微服务的逻辑边界和物理边界。可以说&#xff0c;在 DDD 的实践中&#xff0c;好的领域模型直接关乎微服务的设计水平。因此…

代码随想录算法训练营第4天| 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II

今日学习的文章链接&#xff0c;或者视频链接 第二章 链表part02 自己看到题目的第一想法 看完代码随想录之后的想法 24: 注意链表的操作&#xff1a; class Solution { public:ListNode* swapPairs(ListNode* head) {auto dummyhead new ListNode(0,head);auto prev …

Apache Doris (五) :Doris分布式部署(二) FE扩缩容

目录 1. 通过MySQL客户端连接Doris ​​​​​​​​​​​​​​2. FE Follower扩缩容 ​​​​​​​3. FE Observer 扩缩容 ​​​​​​​​​​​​​​4. FE扩缩容注意点 进入正文之前&#xff0c;欢迎订阅专题、对博文点赞、评论、收藏&#xff0c;关注IT贫道&#…

超详细|粒子群优化算法及其MATLAB实现

本文主要介绍粒子群算法的背景与理论&#xff0c;并结合对应部分的MATLAB程序对其实现流程做了阐述&#xff0c;代码获取方式见文末。 00 文章目录 1 粒子群优化算法 2 问题导入 3 MATLAB程序实现 4 改进策略 5 展望 01 粒子群优化算法 1.1 粒子群优化算法背景 近年来&…

亿发软件:智慧中药房信息化建设,中医药安全煎煮解决方案

传统的中药饮片煎煮服用较为繁琐&#xff0c;局限了诸多人群的使用。为了优化医疗服务,并满足患者不断增长的中医药需求&#xff0c;智慧中药房的概念应运而生。智慧化中药房通过信息化和自动化相结合&#xff0c;旨在提高中药处方的管理和效率。下面就让我们了解一下中药配方颗…

创建一个nuxt项目

yarn create nuxt-app ssr 启动项目 如果使用npm run start 可能会报错&#xff0c;提示需要配置为开发环境 可以先执行npm run dev 看看

HPM6750系列--第三篇 搭建MACOS编译和调试环境

一、目的 在上一篇《HPM6750系列--第二篇 搭建Ubuntu开发环境》我们介绍了Ubuntu上开发HPM6750&#xff0c;本篇主要介绍MAC系统上的开发环境的搭建过程&#xff0c;整个过程和Ubuntu上基本类似。 二、准备 首先我们在Mac电脑上打开一个terminal&#xff0c;然后创建一个…

苹果Vision Pro手势+眼球融合交互的奥秘

毫无疑问&#xff0c;Vision Pro在眼球追踪手势的融合交互体验上&#xff0c;给AR/VR头戴设备带来了新突破&#xff0c;在用户体验上的提升非常明显。 ​那么&#xff0c;为什么Vision Pro上这一功能会被如此值得关注呢&#xff1f;为了弄清楚&#xff0c;我们先来看看主流VR设…

037:mapboxGL输入经纬度,地址坐标转换,弹出位置点地址信息

第037个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中输入经纬度,地址坐标转换,弹出位置点地址信息. 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共158行)相关API参考:专栏目标示例效果 配置方式…

配置Jenkins slave agent(通过jnlp)方式连接

上一章&#xff0c;使用ssh的方式添加了两个agent&#xff0c;并都成功完成了构建任务&#xff0c;这一章使用jnlp的方式配置agent&#xff0c;jnlp方式配置agent有个好处&#xff0c;就是agent是主动去找到Master请求连接的&#xff0c;master->agent的通道可以配置一个age…

【AUTOSAR】BMS开发实际项目讲解(二十九)----电池管理系统电池充放电功率控制与SOC

电池充放电功率控制 关联的系统需求 Sys_Req_3901、Sys_Req_3902、Sys_Req_3903、Sys_Req_3904; 功能实现描述 电池充放电功率控制主要包括以下内容&#xff1a; 60S可用功率 参见[CELL] 30S可用功率 参见[CELL] 10S可用功率 参见[CELL] SOP算法 ID Description ASI…

LVDS接口ADC要点数据采集流程

一&#xff1a;要点 1.如果两片AD&#xff0c;四路输出做了同步化处理之后&#xff0c;一定只用同步化模块读时钟&#xff08;一片AD的时钟&#xff09;去上传数据&#xff0c;到DDR3模块。 2.ADS42和LTC2208的ADC的数据伴随时钟都来源与输入的采样时钟&#xff08;有些采样时…

虚拟机上用docker + nginx跑前端并支持https和http

情况是这样&#xff0c;我在虚拟机上&#xff0c;使用docker跑前端&#xff0c;需要这个前端支持https&#xff0c;原http的话自动跳转到https。另外&#xff0c;前端部署使用了负载均衡&#xff0c;即使用了3个docker跑前端&#xff1a;1个入口&#xff0c;另外2个是前端&…