使用docker-compose快速部署Prometheus+grafana环境

news2024/9/21 20:41:32

初始化 Prometheus+grafana

创建相关目录并给予权限,持久化目录需要给777权限,否则容器启动失败

cd ~ && mkdir prometheus && chmod 777 prometheus
cd prometheus && mkdir grafana_data prometheus_data && chmod 777 grafana_data prometheus_data
chmod 777 grafana_data/ prometheus_data/ #个人根据配置文件中具体的挂在目录进行权限修改
vim docker-compose.yml
version: "3"
services:
  node-exporter:
    image: prom/node-exporter:v1.8.2
    container_name: "node-exporter0"
    ports:
      - "9100:9100"
    restart: always
  prometheus:
    image: prom/prometheus:v2.53.2
    container_name: "prometheus0"
    restart: always
    ports:
      - "9090:9090"
    volumes:
      - "./prometheus.yml:/etc/prometheus/prometheus.yml"
      - "./prometheus_data:/prometheus"
  grafana:
    image: grafana/grafana:11.1.3
    container_name: "grafana0"
    ports:
      - "3000:3000"
    restart: always
    volumes:
      - "./grafana_data:/var/lib/grafana"

注:prometheus主机需要部署以上容器,其他被监控主机只需要部署node-exporter
prometheus配置文件(根据自己的服务器ip进行修改targets内容)

vim prometheus.yml
global:
  scrape_interval:     15s # 默认抓取周期
  external_labels:
    monitor: 'codelab-monitor'
scrape_configs:
  - job_name: 'node-exporter' #服务的名称
    scrape_interval: 5s
    metrics_path: /metrics  #获取指标的url
    static_configs:
      - targets: ['xxx.xx.xx.xxx:9100'] # 这个为监听指定服务服务的ip和port,需要修改为自己的ip,貌似云服务必须用公网ip 

开放端口

9100 :node-exporter
9090 :prometheus
3000 :grafana

启动
docker-compose up -d         # 挂载目录给权限,不然会启动失败
访问

访问主机的9090端口可以查到Prometheus监控到的数据,访问3000端口是grafana的界面,账密admin/admin

node 模板号 9276,点击load 或者 8919

其他服务器安装node-exporter,这里不推荐docker
cd /usr/local/ && mkdir node_exporter
cd node_exporter
#通过wget下载二进制包    
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar -zxvf node_exporter-1.8.2.linux-amd64.tar.gz 
cd node_exporter-1.8.2.linux-amd64
nohup ./node_exporter &

配置

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

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

在这里插入图片描述

在这里插入图片描述
输入模板号

输入模板号 9276,点击load 或者 8919

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

Springboot集成Prometheus

  1. 添加依赖如下:
	 <!-- SpringBoot Actuator -->
	 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
	  <!-- Micrometer Prometheus Registry -->
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
        <version>1.9.14</version>
    </dependency>
  1. 在 application.yml 中配置如下:
spring:
  application:
    name: PrometheusApp

#Prometheus springboot监控配置
management:
  endpoints:
    web:
      exposure:
        include: '*'
  metrics:
    export:
      prometheus:
        enabled: true
    tags:
      application: ${spring.application.name} # 暴露的数据中添加application label

上面的配置中, include=* 配置为开启 Actuator 服务,Spring Boot Actuator 自带了一个/actuator/Prometheus 的监控端点供给Prometheus 抓取数据。不过默认该服务是关闭的,所以,使用该配置将打开所有的 Actuator 服务。

最后,启动服务,然后在浏览器访问 http://10.2.1.159:8080/actuator/prometheus ,就可以看到服务的一系列不同类型 metrics 信息,例如 http_server_requests_seconds summary、jvm_memory_used_bytes gauge、jvm_gc_memory_promoted_bytes_total counter 等等。

  1. 将应用添加到Prometheus.
    修改 Prometheus 的配置文件 prometheus.yml ,添加上边启动的服务地址来执行监控。
	global:
	  scrape_interval:     15s # 默认抓取周期
	  external_labels:
	    monitor: 'codelab-monitor'
	scrape_configs:
	  - job_name: '数据库服务' #服务的名称
	    scrape_interval: 5s
	    metrics_path: /metrics  #获取指标的url
	    static_configs:
	      - targets: ['x.x.x.x:9100'] # 这个为监听指定服务服务的ip和port,需要修改为自己的ip,貌似云服务必须用公网
	  - job_name: 'system服务' 
	    scrape_interval: 5s
	    metrics_path: /mrms-api/system/actuator/prometheus
	    static_configs:
	      - targets: ['x.x.x.x:8089'] 	

上面的prometheusapp 就是前面创建的Spring Boot 应用程序,也就是 Prometheus 需要监控的服务地址。

  1. 然后,重启 Prometheus 服务,查看 Prometheus UI 界面确认 Target 是否添加成功。
    在这里插入图片描述
  2. Grafana导入jvm模版

    4701 或者 21319
    在这里插入图片描述
    在这里插入图片描述
    如上图所示,上面我们新增加的panel中成功显示了我们自定义的监控数据。继续请求之前的应用接口,数据会正常刷新。说明Grafana上的指标数据展示配置成功。

以上,我们就把如何自定义监控指标并在Grafana 的图形界面展示介绍完了。

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

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

相关文章

过滤器实验

1.过滤器实验 首先写两个页面之间能够互相跳转 Test1.html通过超链接跳转到test2.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <!--&l…

LDR6020在Type-C手机同时充电与USB2.0数据传输方案

随着科技的飞速发展&#xff0c;Type-C接口已成为智能手机等移动设备的主流充电和数据传输接口。为了满足用户对于高效充电与稳定数据传输的双重需求&#xff0c;乐得瑞科技推出的LDR6020芯片凭借其卓越的性能和丰富的功能&#xff0c;为Type-C手机提供了同时充电与USB2.0数据传…

欢迪迈手机商城设计与开发

TOC springboot137欢迪迈手机商城设计与开发 绪论** 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0…

JavaScript高阶笔记总结(Xmind格式):第一天

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; js高阶知识总结&#xff1a; 理解Object&#xff1a; 1.返回一个由一个给定对象的自身可枚举属性组成的数组&#xff1a;Object.keys(对象名) 2.in 判断属性是否存在&#xff1a;"属性名" in 对象名 …

巧妙的获取Kimi和Deepseek提示词--结构化提示词真实用啊

文章目录 前言一、Kimi官方提示词Kimi的“提示词专家”Kimi的“爆款网文生成器”Kimi的“小红书爆款生成器”Kimi的“i人嘴替”Kimi的“费曼学习”Kimi的“留学顾问”Kimi的“公文笔杆”Kimi的“公文笔杆”Kimi的“猜猜我在想谁”Kimi的“塔罗师”Deepseek-Chat官方提示词如何防…

JDK源码——ThreadLocal

提供的方法 remove(): 移除当前线程的局部变量值。调用此方法后&#xff0c;当前线程将不再持有任何局部变量值。 set(T): 为当前线程设置一个新的局部变量值。参数T是要设置的值的类型。 get(): 获取当前线程的局部变量值。返回类型为T。 withInitial(Supplier): 创建一个新的…

Java语言程序设计基础篇_编程练习题*16.21(秒表倒计时)

目录 题目&#xff1a;*16.21&#xff08;秒表倒计时&#xff09; 习题思路 代码示例 结果展示 题目&#xff1a;*16.21&#xff08;秒表倒计时&#xff09; 编写一个程序&#xff0c;允许用户在文本域中以秒为单位输入时间&#xff0c;然后按下Enter键来进行倒计时&#xff0…

剪映新手必看!剪映如何实现图片/视频在文字上显示(剪映如何实现图片/视频轨道在文字轨道之上显示/剪映如何实现自由轨道/层级)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 剪映 📒📝 解决方案⚓️ 相关链接 ⚓️📖 介绍 📖 剪映,这款广受好评的视频编辑应用,以其用户友好的界面和强大的功能,成为了许多视频创作者的首选。抱着好奇心,今天我也试用了一下,但在使用过程中,我遇到了一个问…

AI for reading ML paper

心流 心流 Kimi Kimi Humata Humata Bytez Bytez Chatgpt4 scholar 学术版chatgpt4&#xff0c;需要充值&#xff1b; 还有更多AI工具等待你发现&#xff1b;

LVS的NAT模式实战

目录 1.NAT模式的工作原理 2.NAT模式实战---环境准备 1.环境规划 2.克隆主机&#xff0c;生成nat模式的机器 1.设置主机名称 2.更改ip地址 3.添加网卡 4.查看网卡 5.修改网卡配置文件 6.时间同步 7.停用其他服务 8.添加web服务 1.安装nginx 2.修改index.html文件 …

NFS实现多服务器文件的共享

文章目录 一、简介二、部署1、准备1、服务端和客户端&#xff1a;安装nfs-utils2、服务端&#xff1a;创建共享目录3、服务端&#xff1a;配置exports文件4、客户端挂载5、客户端&#xff1a;卸载 三、附录1、NFS服务基本命令2、/etc/exports参数解释3、exportfs命令 参考资料 …

Mysql-B树和B+树的区别

当我们为ID去建立一个主键索引的时候&#xff0c;Mysql底层就会为我们去维护一棵树的结构&#xff0c;从而提升我们的数据检索效率&#xff0c;树的共同特性&#xff1a;小的索引在左边&#xff0c;大的索引在右边&#xff0c;每一次结点的寻址&#xff0c;都是一次磁盘的IO&am…

STM32 F103C8T6学习笔记19:定时器读取旋转编码器

今日学习STM32 F103C8T6 单片机驱动读取旋转编码器&#xff0c;并传输数据给串口&#xff1a; 文章提供测试代码讲解、完整工程下载、测试效果图 目录 旋转编码器&#xff1a; 输入捕获&#xff1a; 硬件连接&#xff1a; 代码编程&#xff1a; 测试效果视频: 测试工程下载&…

Mybatis(2)

目录 一. 参数传递 1. 单个参数 2. 多个参数 二. mybatis增删改 1. 新增 2. 删除 3. 修改 三. mybatis查询 1. 单张表查询 2. 多表查询 2.1 查询单个学生信息 2.2 mybatis自动映射级别 2.3 查询所有学生信息 3. 嵌套查询 3.1 查询单个学生信息 3.2 查询多个学生…

DDColor部署安装,在服务器Ubuntu22.04系统——点动科技

DDColor图片上色项目的部署安装&#xff0c;在服务器Ubuntu22.04系统——点动科技 一、ubuntu22.04基本环境配置1.1 更换清华Ubuntu镜像源1.2 更新包列表&#xff1a;2. 安装英伟达显卡驱动2.1 使用wget在命令行下载驱动包2.2 更新软件列表和安装必要软件、依赖2.2 卸载原有驱动…

24.8.9.11数据结构|链栈和队列

链栈 1、理解 实际上是一个仅在表头进行操作的单链表,头指针指向栈顶结点或头结点,以下恋栈均指带头结点的链栈. 2、 基本操作 1、定义结构&#xff1a;节点含有数据域和指针域 2、初始化操作&#xff1a;建立一个带头结点的空栈 3、取栈顶元素操作&#xff1a;取出栈的栈顶元…

Mybatis_springboot与mybatis-plus

一 Mybatis_springboot MyBatis 是一个流行的持久层框架&#xff0c;可以与 Spring Boot 无缝集成。下面是如何在 Spring Boot 项目中使用 MyBatis 的基本步骤。 1. 创建 Spring Boot 项目 你可以使用 Spring Initializr 创建一个新的 Spring Boot 项目。选择以下依赖项&…

只要15分钟,TiDB国产化数据库快速入门,简单高效

TiDB国产化数据库快速入门 1.TiDB服务部署2.TiDB服务核心组件说明2.1 PD&#xff08;Placement Driver&#xff09;- 交通指挥中心2.2 TiDB&#xff08;SQL Layer&#xff09;- 餐厅前台2.3 TiKV&#xff08;分布式存储层&#xff09;- 仓库存储系统2.4 TiFlash&#xff08;列式…

java数据库连接池介绍与使用

一. 使用数据库连接池有什么优势 在程序开发的过程中如果不使用数据库连接池 , 可能会导致我们每执行一次sql语句 , 就会向数据库发送请求链接与断开 , 这会消耗我们的内存资源 1. 资源重用更佳 减少开销&#xff1a;数据库连接池通过复用现有的数据库连接&#xff0c;显著减…

冒泡,选择,插入,希尔,快速,归并

冒泡&#xff0c;选择&#xff0c;插入&#xff0c;希尔&#xff0c;快速&#xff0c;归并 选择类的排序&#xff1a;选择排序&#xff0c;堆排序 交换类的排序&#xff1a;冒泡&#xff0c;快排 #include <stdio.h> #include<stdbool.h> #include<stdlib.h&…