Prometheus + Grafana 搭建监控仪表盘

2024-04-17 15:44

本文主要是介绍Prometheus + Grafana 搭建监控仪表盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目标要求
1、需要展现的仪表盘:
SpringBoot或JVM仪表盘
Centos物理机服务器(实际为物理分割的虚拟服务器)仪表盘
2、展现要求:
探索Prometheus + Grafana搭建起来的展示效果,尽可能展示能展示的部分。

一、下载软件包

  1. 监控系统核心:prometheus-2.45.0.linux-amd64.tar
    下载地址:https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz
  2. 测试用节点导出器:node_exporter-1.6.0.linux-amd64.tar
    下载地址:https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz
  3. Grafana仪表盘:
    下载地址:
    https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.1.linux-amd64.tar.gz

二、安装及编写启动脚本

  1. 新建工作目录prometheus,将下载的软件包移动到目录下。

  2. 使用“tar -zxvf 软件包包名”命令逐步接下软件包。
    如: tar -zxvf prometheus-2.45.0.linux-amd64.tar.gz

  3. 在每个解压后的软件工作目录,新建start.sh脚本,按下方表格填入启动命令。保存后,赋予脚本执行权限“chmod +x start.sh”。

关闭方式启动脚本
prometheuskill -9nohup ./prometheus --web.enable-lifecycle > log.log 2>&1 &
grafana同上nohup ./bin/grafana-server>>./log.log &
node同上nohup ./node_exporter --web.listen-address=:9101 > node_log.log 2>&1 &

三、启动测试

分别执行目录下的启动脚本:start.sh

  • promethesu的UI默认访问地址:ip:9090,正常访问效果图如下:

image.png

  • grafana默认访问地址:ip:3000,正常访问效果图如下:

image.png
初始账户密码:admin/admin
初次安装需要修改密码,按照提示修改即可。登录后正常访问效果图如下:
image.png

四、JAVA应用添加Prometheus支持

JAVA版本:JDK17,Springboot版本:3.1.2

  1. 配置pom文件:
<!-- prometheus 导出器配置 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId><version>2.1.4.RELEASE</version>
</dependency>
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-core</artifactId><version>1.11.1</version>
</dependency>
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><version>1.11.1</version>
</dependency>
  1. 配置application.yml文件
# prometheus 配置
management:metrics:# 下面选项建议打开,以监控 http 请求的 P99/P95 等,具体的时间分布可以根据实际情况设置distribution:sla:http:server:requests: 1ms,5ms,10ms,50ms,100ms,200ms,500ms,1s,5stags:application: ${spring.application.name}endpoints:prometheus:enabled: trueweb:base-path: /monitorexposure:include: "prometheus"

五、Prometheus配置文件

  1. 修改Prometheus.yml配置文件如下图:

image.png

scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.# 添加应用节点- job_name: 'application'metrics_path: '/monitor/prometheus'scrape_interval: 15sfile_sd_configs:- files: ['./exporter_config/application_target.json']# 添加硬件节点- job_name: 'node'scrape_interval: 15sfile_sd_configs:- files: ['./exporter_config/node.json']static_configs:- targets: ["localhost:9090"]
  1. 在prometheus创建目录“exporter_config”
  2. 在exporter_config分别创建应用配置文件"application_target.json ",节点配置文件“node.json”。如下图

image.png

  1. 填写文件内容如下:

10.0.0.1:100x代表节点、jar包所在的机器ip以及端口号

application_target.json

[{"targets": ["10.0.0.1:1001"],"labels": {"instance": "10.0.0.1:1001","service": "jar名","ip": "10.0.0.1","nodeType": "application"}}
]

node.json

[{"targets":["10.0.0.1:1001"],"labels":{"instance":"模拟硬件节点","job":"模拟硬件节点job","ip": "10.0.0.1","nodeType":"device"}}
]
  1. 使用postman调用热重启接口,重启prometheus,如下图,10.0.0.1:9090代表prometheus安装IP端口。返回200则代表已发送重启命令。

image.png

  1. 访问Prometheus,地址:ip:9090:,如下图:

image.png

  1. 第六步正常则代表prometheus监控系统,已将JAVA应用程序导出器、node节点导出器纳入监控。其它情况则代表未纳入监控,需要检查使得纳入Prometheus监控再往下推进。

六、Grafana配置中文与组件兼容

  1. 修改defaults.ini文件,文件处于./conf目录下,修改前建议备份。
  2. 当前版本某些组件默认不启用,导致一些开源的仪表盘显示为空。故需要配置启用

image.png

  1. 汉化。

image.png

七、Grafana连接Prometheus

  1. 添加新数据源

image.png

  1. 配置

image.png

  1. 成功如图

image.png

八、在Grafana配置仪表盘(Dashboard)

1、导入常见的Dashboard

任意Dashboard,无需数据源可导入,但是展示的内容是默认值。
同类型的多个监控目标,例如node监控,可以在适配的Dashboard切换观看。

  1. 选择导入

image.png

  1. 到官方查看官方提供的仪表盘

image.png

  1. 选择一个需要的仪表盘

image.png

  1. 下载仪表盘的json配置

image.png

  1. 打开下载的json文件,粘贴到第二步对应的方框内。

image.png

  1. 即可生成node常用应用程序的仪表盘

image.png

  1. 导入JVM及其它仪表盘:重复步骤1

image.png

3、自定义仪表盘(就是点点点)

  1. 新建仪表盘

image.png

  1. 添加可视化面板

image.png

  1. 选择数据源

image.png

  1. 自定义仪表盘

image.png

  1. 保存或应用

image.png

  1. 效果如图:添加其它可视化表重复1~6步

image.png

这篇关于Prometheus + Grafana 搭建监控仪表盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/912206

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi