集成Springboot+Prometheus+Grafana

news2024/11/18 1:33:47

Springboot

pom.xml导入prometheus依赖

	<!--prometheus-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>

application.yml

spring:
  application:
    name: monitor

server:
  port: 88

management:
  server:
    port: 9003
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    metrics:
      enabled: true
    health:
      show-details: always
    prometheus:
      enabled: true
  metrics:
    export:
      prometheus:
        enabled: true
    tags:
      application: voice-qc-backend

启动类

@SpringBootApplication
public class GrafanaApplication {

    public static void main(String[] args) {
        SpringApplication.run(GrafanaApplication.class, args);
    }

    @Bean
    MeterRegistryCustomizer<MeterRegistry> configurer(@Value("${spring.application.name}") String applicationName) {
        return (registry) -> registry.config().commonTags("application", applicationName);
    }
}

写个测试接口

@RestController
@RequestMapping("prometheus")
public class PrometheusController {
    @GetMapping("hello")
    public String hello(){
        return "hello";
    }
}

访问接口
在这里插入图片描述
查看prometheus是否有捕获消息
在这里插入图片描述

Prometheus

拉取镜像

docker pull prom/prometheus:v2.40.5
mkdir -p /docker_data/prometheus/config/
vim /docker_data/prometheus/config/prometheus.yml

宿主机创建配置文件

global:
  scrape_interval: 15s
  evaluation_interval: 15s

alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

scrape_configs:
  - job_name: 'prometheus'

    static_configs:
    # prometheus的IP地址
    - targets: ['192.168.1.11:9090']

使用宿主机的配置文件启动容器

docker run -d --network=host --privileged=true --restart=always  -v /docker_data/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus-v2.40.5 prom/prometheus:v2.40.5

访问ip:9090
在这里插入图片描述
修改配置文件

scrape_configs:
  - job_name: "prometheus"
    static_configs:
    # prometheus的ip:port
    - targets: ["192.168.1.11:9090"]
  - job_name: "metricsLocalTest"
    metrics_path: "/actuator/prometheus"
    static_configs:
    # springboot项目的ip:port
    - targets: ["192.168.1.117:9003"]

重启容器使配置文件生效

docker restart prometheus-v2.40.5

在这里插入图片描述

Grafana

拉取镜像

docker pull grafana/grafana:7.3.7

需要指定root用户启动并映射文件到宿主机,如果不用-u root则可能会报错mkdir: can’t create directory ‘/var/lib/grafana/plugins’: Permission denied

docker run -d --network=host --privileged=true --restart=always -u root -v /docker_data/grafana:/var/lib/grafana --name grafana-7.3.7 grafana/grafana:7.3.7

访问ip:3000,用户名和密码都是admin
在这里插入图片描述
配置prometheus数据源
在这里插入图片描述
选择prometheus,填写prometheus的ip和port
在这里插入图片描述
导入4701模板(其它模板也是可以的)
在这里插入图片描述
选择prometheus,然后再点击import
在这里插入图片描述
在这里插入图片描述

查找模板

《Grafana官网查找模板》
如果联网直接使用ID,没有联网就可以选择下载JSON,导入。我们上面就是直接使用ID,现在使用JSON导入。
进入官网搜索模板,如:node exporter,选择含有中文的那个。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择下载的JSON文件导入,然后再选择prometheus,点击最下方的Load即可。
在这里插入图片描述

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

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

相关文章

Docker——DockerCompose简单使用

目录 一、DockerCompose 1.1 基本介绍 1.2 Centos7安装DockerCompose 1.2.1 安装 1.2.2 修改文件权限 1.2.3 Base自动补全命令 二、部署微服务集群 一、DockerCompose 1.1 基本介绍 DockerCompose&#xff1a;可以基于Compose文件帮我们快速部署分布式应用&#xff0c;而…

Mysql int(11)和Oracles nubmer(11) 的区别

先说Mysql int(11)到底代表什么意思 这里的int(11)不是表示限制int的长度为11&#xff0c;而是字符的显示宽度&#xff0c;在字段类型为int时&#xff0c;无论你显示宽度设置为多少&#xff0c;int类型能存储的最大值和最小值永远都是固定的 那么这个显示宽度到底有什么用呢&am…

vue项目中,js代码动态控制网页的link标签与title内容

最近正在开发一个微模块系统&#xff0c;产品想要根据子系统的不同&#xff0c;动态生成link标签与title中的内容&#xff0c;于是就做了一个简单的demo&#xff0c;希望分享出来给到后续有同样需求的伙伴&#xff0c;共勉。 首先肯定是需要有一套**.svg**的图标来对应相应的系…

Blender 纹理绘制

文章目录简介.进入纹理绘制.笔刷.自由线.模糊.涂抹.克隆.填充.遮罩.保存绘制好的纹理.简介. 1 纹理绘制允许我们直接在图片上画出图案 2 要求模型必须已经展开UV 进入纹理绘制. 1 左上角视窗类型里选择 3D视图/纹理绘制 笔刷. 自由线. 1 纹理&#xff1a;如果使用的是程…

Docker[6]-.DockerCompose

1 DockerCompose介绍 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose&#xff0c;您可以使用 YML 文件来配置应用程序需要的所有服务。然后&#xff0c;使用一个命令&#xff0c;就可以从 YML 文件配置中创建并启动所有服务。 一键启动所有的服务 Docker…

MySQL基础知识

一、数据库相关的简单命令 1、显示数据库 show databases&#xff1b; 2、创建数据库 create database 数据库名 character set 字符集 collate 指定字符集的校验规则&#xff1b; 注意&#xff1a; 数据库名应尽量避免使用关键字&#xff0c;如必须使用则需添加(倒引号);未…

欧洲的历史都经历了哪些时代?

欧洲历史起源于古希腊和罗马&#xff0c;后面分化出了法、意、德&#xff1b;经过罗马时代中世纪时期的黑暗后&#xff0c;欧洲觉醒出现文艺复兴&#xff0c;使欧洲开启了巨大的创造力。后面的大航海时代欧洲开始向外拓展势力范围&#xff0c;疯狂殖民&#xff0c;英国成为最大…

初级测试工程师(能找到工作的水平就行)1、学多久2、学什么?

看到这个主题&#xff0c;我认为自己还有点发言权吧。 我是普通二本院校的垫底学渣&#xff0c;全班成绩倒数第三&#xff0c;并且还是非计算机专业。现在毕业2年&#xff0c;从销售岗位跨越式跳槽软件测试岗。当然我的薪资也已逆袭&#xff0c;从2k到17k。 踩过不少新手的坑…

[附源码]计算机毕业设计JAVA中小型艺术培训机构管理系统

[附源码]计算机毕业设计JAVA中小型艺术培训机构管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; S…

数据库设计(一)

目录 数据库设计的基本概念&#xff1a; 数据库设计包括以下几个部分&#xff1a; 需求设计&#xff1a; 1、数据&#xff1a; 2、处理&#xff1a; 概念结构设计&#xff1a; 实体&#xff1a; 例如&#xff1a; 联系类型&#xff1a; 1、一对一&#xff1a; 2、一对多&a…

Hbase和Mysql存储数据量对比

目录 前言 生成数据 转换成hbase能够识别的HFile文件 导入HFile到hbase中 导入数据到Mysql 总结 前言 由于想知道hbase和mysql存储同样的一份数据需要的存储是否一样&#xff0c;故做的一下实验。 生成数据 脚本如下&#xff1a; #!/bin/basharray_brand([1]huawei […

Java-MySQL

数据库基础知识 先谈发音 MySQL如何发音&#xff1f;在国内MySQL发音有很多种&#xff0c;Oracle官方文档说他们念作My sequal[si:kwəl]。 数据库基本概念 1 ● 数据 数据&#xff08;Data&#xff09;是指对客观事物进行描述并可以鉴别的符号&#xff0c;这些符号是可识别的、…

目标检测算法——人脸识别数据集汇总(附下载链接)

>>>深度学习Tricks&#xff0c;第一时间送达<<< &#x1f384;&#x1f384;近期&#xff0c;小海带在空闲之余&#xff0c;收集整理了一批人脸识别数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01;&am…

用python给女朋友写个圣诞树玩玩~

嗨害大家好鸭&#xff01;我是小熊猫~ 虽然我们不过洋节&#xff0c;但是女朋友要的话&#xff0c;那顺手写一个吧 代码&#x1f386; 模块 [源码、资料电子书点击此处] import turtle as t from turtle import * import random as r import time圣诞树细节以及画布大小 画布…

如何读取MySQL中的数据存放到HDFS_大数据培训

大数据培训读取MySQL中的数据存放到HDFS 1 查看官方模板 [atguiguhadoop102 ~]$ python /opt/module/datax/bin/datax.py -r mysqlreader -w hdfswriter { “job”: { “content”: [ { “reader”: { “name”: “mysqlreader”, “parameter”: { “column”: [], “conne…

ROS2初学者2022教程

ROS2初学者2022教程 掌握 ROS2 基础知识并成为机器人操作系统开发人员 – 一步一步 课程英文名&#xff1a;ROS2 For Beginners (ROS Foxy, Humble - 2022) 此视频教程共15.0小时&#xff0c;中英双语字幕&#xff0c;画质清晰无水印&#xff0c;源码附件全 下载地址 课程编…

手机视频如何修改封面?推荐这些修改方法

大家在社交平台上发布视频的时候会发现&#xff0c;一个好看的视频封面可以吸引很多的网友进行浏览和观赏。所以视频封面一直是视频创作者们不可忽略的一部分。那么你们知道手机视频怎么修改封面吗&#xff1f;如果你们想知道的话&#xff0c;那就接着往下看看吧&#xff0c;下…

Java_笔记_多态_包_final_权限修饰符_代码块

封装&#xff1a;对象代表什么&#xff0c;就得封装对应的数据&#xff0c;并提供数据对应的行为。 一、多态&#xff1a;对象的多种形态。同类型的对象&#xff0c;表现出的不同形态。 1.多态的表现形式&#xff1a;父类类型 对象名称 子类对象; 学生形态 对象 Student s …

Java异常(比较全)

前言&#xff1a;想要学好异常&#xff0c;需要了解JVM虚拟机知识&#xff0c;这里涉及面试常问的内存溢出错误解决办法 一、异常是什么&#xff1f; 定义 程序运行过程中&#xff0c;由于某些原因导致程序出错&#xff0c;从而结束程序运行&#xff0c;这就称为异常 java异常…

C++经典题目

目录 P62 3.6 求圆周长面积 P80 3 华氏转摄氏 P80 10 分段函数 P81 21 数列求和 P82 24 打印图形 P229 6 长方体体积 P384 4 printArea 题目来源于C程序设计&#xff08;第4版&#xff09; P62 3.6 求圆周长面积 设圆半径r1.5&#xff0c;圆柱高h3&#xff0c;求圆周长…