基于docker进行Grafana + prometheus实现服务监听
基于docker进行Grafana + Prometheus实现服务监听
- Grafana安装
- Prometheus安装
- Jvm监控配置
- 服务器主机监控(基础cpu,内存,磁盘,网络)
Grafana安装
docker pull grafana/grafana
mkdir /server/grafana
chmod 777 /server/grafana
docker run -d -p 3000:3000 --name=grafana -v /server/grafana:/var/lib/grafana grafana/grafana
访问 http://IP:3000
Prometheus安装
mkdir /server/prometheus
cd /server/prometheus
vim prometheus.yml
Prometheus插件下载见promethues插件相关地址, 可以下载 数据库监控 和 系统监控等所需要的服务器插件。
prometheus.yml文件内容如下
注意: 格式很容易出错,后续如果 启动容器失败的话 使用 docker logs PID 进行检查运行失败的原因
global:scrape_interval: 15sevaluation_interval: 15s
scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['114.115.153.33:9090']# 采集xxxx平台(示例)- job_name: 'tracking'metrics_path: '/actuator/prometheus'static_configs:- targets: ['114.116.41.107:10000']
创建yml文件后指定 run 启动,此时 image 不存在会自动下载
docker run -d --name=prometheus -p 9090:9090 -v /server/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:latest
验证 docker run 的结果
docker logs
访问 http://IP:9090
Jvm监控配置
Springboot版本: 2.7.12
引入依赖(2.7.12 可不写,根据实际情况填写)
<!-- spring-boot-actuator依赖,监控系统健康情况的工具 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId><version>2.7.12</version>
</dependency>
<!-- prometheus依赖 -->
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><version>1.9.11</version>
</dependency>
<!--micrometer核心包, 按需引入, 使用Meter注解或手动埋点时需要-->
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-core</artifactId><version>1.9.11</version>
</dependency>
<!--micrometer获取JVM相关信息, 并展示在Grafana上, 按需引入-->
<dependency><groupId>io.github.mweirauch</groupId><artifactId>micrometer-jvm-extras</artifactId><version>0.2.2</version>
</dependency>
配置 yml 信息
# 普罗米修斯配置
management:health:db:# 关闭DB健康度检查(sharding jdbc不支持健康度检查),此处根据实际情况调整enabled: falseendpoint:health:probes:enabled: trueshow-details: alwaysmetrics:enabled: trueprometheus:enabled: trueendpoints:web:base-path: /actuatorexposure:include: '*'metrics:distribution:maximum-expected-value:http:server:requests: 200msminimum-expected-value:http:server:requests: 20mspercentiles-histogram:http:server:requests: falseexport:jmx:enabled: trueprometheus:enabled: truesimple:enabled: truetags:application: ${spring.application.name}tag: ${spring.application.name}
新建 ActuatorMetricsConfig 配置类
import io.micrometer.prometheus.PrometheusMeterRegistry;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class ActuatorMetricsConfig {@BeanInitializingBean forcePrometheusPostProcessor(BeanPostProcessor meterRegistryPostProcessor, PrometheusMeterRegistry registry) {return () -> meterRegistryPostProcessor.postProcessAfterInitialization(registry, "");}}
启动springboot服务,访问 http://IP:端口/actuator/prometheus 是否正常
如出现下面的指标信息,则说明成功
配置 prometheus.yml 文件 新增如下配置(注意缩进)
# 采集xxxx平台(springboot 健康)- job_name: 'tracking'metrics_path: '/actuator/prometheus'static_configs:- targets: ['114.116.41.107:10000']
如果 targets 此处出现了 采集的配置的 数据,则说明成功
切换到 Grafana 中下载 普罗米修斯 插件
普罗米修斯 插件下载后,新增 数据源配置 prometheus 的访问地址
选导入仪表盘
填写仪表盘模版编号: 4701
------- grafana常用模板记录 --------
服务器系统性能监控:8919
微服务性能监控:4701
docker环境性能监控:893
nacos性能监控:13221
mysql性能监控:7362
elasticsearch:266
监控物理机/虚拟机(windows) : 10467
监控物理机/虚拟机(linux): 8919
nginx: 9614
spring boot: 12856 (推荐代替4701)
选择对应的 普罗米修斯 数据源
成功后可以看到如下界面
服务器主机监控(基础cpu,内存,磁盘,网络)
node_exporter 下载 https://download.csdn.net/download/weixin_40516924/88355724?spm=1001.2014.3001.5503
注意: 上传文件到服务器后,需要设置目录递归子目录文件 777 权限;
服务器启动 node_expoeter 服务后,就可以通过访问 http://IP:9100/metrics 进行验证服务启动结果
配置 prometheus.yml 文件,新增采集配置(注意缩进)
# 采集Linux系统监控数据- job_name: 'linux_node'static_configs:- targets: ['114.115.153.33:9100']
切换到 Grafana 中下载 普罗米修斯 插件且配置完 数据源后 ,进行导入模版 8919


导入成后看到如下界面,即成功

相关文章:
基于docker进行Grafana + prometheus实现服务监听
基于docker进行Grafana Prometheus实现服务监听 Grafana安装Prometheus安装Jvm监控配置服务器主机监控(基础cpu,内存,磁盘,网络) Grafana安装 docker pull grafana/grafanamkdir /server/grafanachmod 777 /server/grafanadocker run -d -p…...
模型层及ORM介绍
模型层及ORM介绍 模型层 负责跟数据库之间进行通信 配置MySQL,下载MySQLclient 创建数据库 进入mysql数据库执行create database 数据库名 default charset utf8通常数据库名跟项目名保持一致settings.py里进行数据库的配置修改 DATABASES 配置项的内容&#x…...
QQ邮箱怎么设置SMTP接口服务器?
在现如今信息快速传递的时代,邮件已成为我们工作、学习和生活中必不可少的一部分。而作为每位用户必备的一款邮箱,QQ邮箱一直以其稳定、高效、安全的特点深受大家的青睐。但是你是否觉得每次发邮件都需要打开QQ邮箱网页,进行繁琐的操作很是麻…...
【操作系统笔记四】高速缓存
CPU 高速缓存 存储器的分层结构: 问题:为什么这种存储器层次结构行之有效呢? 衡量 CPU 性能的两个指标: 响应时间(或执行时间):执行一条指令平均时间 吞吐量,就是 1 秒内 CPU 可以…...
uniapp获取openid
要获取用户的openid,需要使用微信小程序的登录API。以下是一个简单的示例代码: // 在page中引入wx-login组件 import wxLogin from /components/wx-loginexport default {components: { wxLogin },data() {return {openid: }},methods: {// wxLogin组件…...
测试工程师面试之设计测试用例
以下的问题答案,仅供参考,如小伙伴们有更好的答案,欢迎大家评论区留言,谢谢大家 测试工程师面试之设计测试用例 1、请说一说简单用户界面登陆过程都需要做哪些分析2、 请对此系统设计测试用例:一个系统,多个…...
html页面仿word文档样式(vue页面也适用)
目录 文章title: 标题: 正文: 完整代码: 页面效果: 文章title: <div><h3 style"display: flex;justify-content: center; align-items: center; color: #000;">实验室招新报名公…...
如何在控制台打印sql语句
步骤一: log4j2.xml中做以下配置 <logger name"xxx.infrastructure.mysql.mapper"level"debug" additivity"false"><appender-ref ref"Console"/></logger>步骤二:IDEA下载Free Mybatis Plu…...
【Vue3 源码解析】reactive 全家桶
// 泛型约束:只能传入引用类型 export function reactive<T extends object>(target: T): UnwrapNestedRefs<T> // 判断只读,否则创建reactive响应式对象 export function reactive(target: object) {// if trying to observe a readonly pr…...
目标检测YOLO实战应用案例100讲-基于YOLO的遥感目标检测(续)
目录 3.4 YOLOv3 3.5 YOLOv4 3.6 YOLOv5 改进的YOLOv4算法 4.1 Triple Loss损失函数的应用...
7.5 通过API判断进程状态
进程状态的判断包括验证进程是否存在,实现方法是通过枚举系统内的所有进程信息,并将该进程名通过CharLowerBuff转换为小写,当转换为小写模式后则就可以通过使用strcmp函数对比,如果发现继承存在则返回该进程的PID信息,…...
你写过的最蠢的代码是?
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂🦖…...
MySQL与PostgreSQL对比
MySQLPostgreSQL数据类型支持支持JSON,但不如PostgreSQL支持更多的数据类型,如数组、hstore、JSON、JSONB、范围类型等扩展性有一些扩展性,但不如PostgreSQL支持自定义数据类型、函数、操作符,具有强大的扩展性SQL兼容性遵循SQL标…...
AD拼板技巧
AD拼板设置 如图,有一个需要拼板的PCB,想要在生产是拼接生产,节省材料。 操作如下: 1、全选如下,按复制CtrlC。 2、把输入法调整至英文,按快捷键E(先), A(后…...
Android滑动片段
本文所有的代码均存于 https://github.com/MADMAX110/BitsandPizzas 回到BitsandPizzas应用,之前已经创建过创建订单和发出反馈等功能。 修改披萨应用,让它使用标签页导航。在工具条下显示一组标签页,每个选项对应一个不同的标签页。用户单击…...
【力扣-每日一题】337. 打家劫舍 III
class Solution { public:pair<int,int> dfs_rob(TreeNode *root){//如果为根节点if(rootnullptr)return {0,0};auto [l,l_n]dfs_rob(root->left);auto [r,r_n]dfs_rob(root->right);int ol_nr_nroot->val;//当前节点偷,所获得的利益,子节点不能偷in…...
Docker部署FastDFS分布式存储
1、准备工作 docker pull qinziteng/fastdfs:5.05 Pwd"/data/software/fastdfs" mkdir ${Pwd}/{storage,tracker} -p2、创建TEST容器,将fastdfs目录COPY到本地,方便后续维护管理! docker run -id --name fastdfs qinziteng/fastd…...
MyBatis基础之SqlSession
SqlSession 线程安全问题 当你翻看 SqlSession 的源码时,你会发现它只是一个接口。我们通过 MyBatis 操作数据库,实际上就是通过 SqlSession 获取一个 JDBC 链接,然后操作数据库。 SqlSession 接口有 3 个实现类: #实现类1Defa…...
笔记本电脑没有麦克风,声音无法找到输入设备
新买的电脑没有扬声器,电脑声音没有输入设备,在开腾讯会议的时候才发现竟然有这个问题。 网上找原因,哎,找了一大堆每一个靠谱的 这让我想起来上次电脑没有热键的问题,所有问题的终极解决方案,都在源头那里…...
MySQL基础—从零开始学习MySQL
01.MySQL课程介绍_哔哩哔哩_bilibili 1、MySQL安装 以管理员身份运行cmd net start mysql80net stop mysql80 客户端连接 1). 方式一:使用MySQL提供的客户端命令行工具 2). 方式二:使用系统自带的命令行工具执行指令 mysql [-h 127.0.0.1] [-P 3…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...









