【监控】监控平台部署 Prometheus+Grafana

在 macOS 上部署 Grafana 和 Prometheus 来监控 Java 服务是一个非常实用的操作。以下是详细的步骤,包括如何安装和配置 Prometheus、Grafana 以及在 Java 服务中集成 Prometheus 的客户端库来收集指标数据。

1. 安装 Prometheus

1.1 使用 Homebrew 安装 Prometheus

首先,确保你已经安装了 Homebrew。然后运行以下命令来安装 Prometheus:

brew install prometheus

1.2 配置 Prometheus

安装完成后,编辑 Prometheus 的配置文件。默认配置文件路径为 /opt/homebrew/etc/prometheus.yml。

编辑 prometheus.yml 文件,添加你的 Java 服务的指标抓取配置:

global:scrape_interval: 15s # 设置全局抓取间隔时间# 配置抓取目标
scrape_configs:- job_name: "java-server"static_configs:- targets: ["xxxxx:11011"]metrics_path: /actuator/prometheus- job_name: 'java-server-health'static_configs:- targets: ['xxxxx:11011']metrics_path: /actuator/health- job_name: 'prometheus'static_configs:- targets: ['127.0.0.1:9090']

1.3 启动 Prometheus

启动 Prometheus 服务:

brew services start prometheus

你也可以手动启动 Prometheus:

prometheus --config.file=/opt/homebrew/etc/prometheus.yml

2.安装 Grafana

2.1 使用 Homebrew 安装 Grafana

brew install grafana

2.2 启动 Grafana

启动 Grafana 服务:

brew services start grafana

你也可以手动启动 Grafana

grafana-server --config=/opt/homebrew/etc/grafana/grafana.ini --homepath=/opt/homebrew/opt/grafana/bin/grafana
/opt/homebrew/opt/grafana/bin/grafana server --config /opt/homebrew/etc/grafana/grafana.ini --homepath /opt/homebrew/opt/grafana/share/grafana --packaging\=brew cfg:default.paths.logs\=/opt/homebrew/var/log/grafana cfg:default.paths.data\=/opt/homebrew/var/lib/grafana cfg:default.paths.plugins\=/opt/homebrew/var/lib/grafana/plugins

3.配置 Java 服务

在 Java 服务中使用 micrometer 和 prometheus 客户端库来暴露指标。以下是一个 Spring Boot 应用的示例。

3.1 添加依赖

在你的 pom.xml 文件中添加 micrometer-registry-prometheus 依赖项:

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

3.2 配置 Spring Boot 应用

在 application.properties 文件中配置 Spring Boot 应用暴露指标端点:

management.server.port=11011
management.endpoints.web.base-path=/actuator
management.endpoints.web.exposure.include=prometheus,health,info
management.endpoint.prometheus.enabled=true
management.metrics.export.prometheus.enabled=true
management.endpoint.health.show-details=always
management.endpoint.health.probes.enabled=true
management.metrics.tags.application=${app.id:${spring.application.name}}

3.3 启动 Spring Boot 应用

运行 Spring Boot 应用,默认情况下,Prometheus 指标将通过 /actuator/prometheus 端点暴露。

4.配置 Grafana

4.1 访问 Grafana

打开浏览器,访问 http://localhost:3000(默认端口)。使用默认的用户名和密码 admin/admin 登录。

4.2 添加 Prometheus 数据源

  • 进入 Grafana 仪表板,点击左侧菜单中的“Configuration” -> “Data Sources”。
  • 点击 “Add data source” 按钮。
  • 选择 “Prometheus” 作为数据源类型。
  • 在 “URL” 字段中输入 Prometheus 服务器地址,例如 http://localhost:9090。
  • 点击 “Save & Test” 按钮以保存配置并测试连接。

4.3 创建仪表板

  • 在 Grafana 中点击左侧菜单中的 “Create” -> “Dashboard”。
  • 添加新面板(Panel),选择你的 Prometheus 数据源并输入 PromQL 查询来获取 Java 服务的指标。
  • 配置图表的显示方式,然后保存仪表板。

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

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

相关文章

简单分享项目内如何快速自动生成自己的库和更新 requirements.txt

当开发Python项目时&#xff0c;requirements.txt文件被用来清单所有所需的Python包及其版本。这个文件对于在不同环境中安装和管理项目依赖特别方便&#xff0c;无论是在生产环境、开发环境或者CI/CD流程中。 要自动创建和更新requirements.txt文件&#xff0c;有几种常见的方…

深入剖析 @Autowired 和 @Resource 在 Spring 中的区别

在 Spring 框架中&#xff0c;Autowired 和 Resource 是两个常用的注解&#xff0c;用于实现依赖注入。尽管它们都能达到将依赖对象注入到目标 bean 的目的&#xff0c;但在细节上存在一些显著的差异。本文将深入探讨这两个注解的区别&#xff0c;并结合 Spring 源码进行分析&a…

vision mamba

Mamba 成功的关键在于采用了 Selective Scan Space State Sequential Model&#xff08;S6 模型&#xff09;。是用于解决自然语言处理&#xff08;NLP&#xff09;任务。与 transformer中注意力机制不同&#xff0c;Mamba的S6 将 1D 向量中的每个元素&#xff08;例如文本序列…

现代信息检索笔记(二)——布尔检索

目录 信息检索概述 IR vs数据库: 结构化vs 非结构化数据 结构化数据 非结构化数据 半结构化数据 传统信息检索VS现代信息检索 布尔检索 倒排索引 一个例子 建立词项&#xff08;可以是字、词、短语、一句话&#xff09;-文档的关联矩阵。 关联向量 检索效果的评价 …

如何在Sklearn Pipeline中运行CatBoost

介绍 CatBoost的一大特点是可以很好的处理类别特征&#xff08;Categorical Features&#xff09;。当我们将其结合到Sklearn的Pipeline中时&#xff0c;会发生如下报错&#xff1a; _catboost.CatBoostError: data is numpy array of floating point numerical type, it mea…

python-期末代码复习

import numpy as np import pandas as pd import matplotlib.pyplot as plt import warningswarnings.filterwarnings(actionignore) plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False你提供的这两行代码是Python编程语言中用于设置matplotlib库…

大淘客api实现多多进宝的商品查询PHP版

大家好&#xff0c;我是网创有方&#xff0c;今天教大家如何使用大淘客的api实现拼多多商品详情信息查询。这里用到的多多进宝&#xff0c;如果没有多多进宝的&#xff0c;先去多多进宝注册个账号吧&#xff01; 第一步&#xff1a;进入大淘客官方创建应用&#xff0c;并且下载…

【PyQt5】一文向您详细介绍 QLineEdit() 的作用

【PyQt5】一文向您详细介绍 QLineEdit() 的作用 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕&…

2239. 找到最接近 0 的数字

给你一个长度为 n 的整数数组 nums &#xff0c;请你返回 nums 中最 接近 0 的数字。如果有多个答案&#xff0c;请你返回它们中的 最大值 。 示例 1&#xff1a; 输入&#xff1a;nums [-4,-2,1,4,8] 输出&#xff1a;1 解释&#xff1a; -4 到 0 的距离为 |-4| 4 。 -2 到…

开发一个微信小程序需要用到哪些技术?

开发一个微信小程序需要用到以下几种技术&#xff1a; 1. 基础技术 HTML: 用于定义小程序的页面结构。CSS: 用于页面的样式设计。JavaScript: 用于实现页面的交互功能。 2. 微信小程序专用技术 WXML&#xff08;WeiXin Markup Language&#xff09;: 类似于HTML&#xff0c…

计量校准温度仪表的常见分类有哪些?

温度仪表在计量校准中&#xff0c;可以说是比较常见的仪器&#xff0c;而温度仪器因为用于校准的场景很多&#xff0c;应用的场合不同&#xff0c;也是有着很多不同的分类&#xff0c;今天就简单为大家介绍一些温度仪表的细分分类。 温度仪表根据测温的方式不同&#xff0c;可以…

2024华为OD机试真题- 电脑病毒感染-(C++/Python)-C卷D卷-200分

2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述 一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用 t 表示。 其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果…

Laravel Activity Log操作日志扩展包

Laravel Activity Log操作日志扩展包 简介 Laravel Action Logs操作日志记录Laravel Activity Log 很多数据管理员都想记录他们用户的所有活跃记录。这个包可以很方便的记录你的用户何时何地的创建、更新实体的记录。外加&#xff0c;现在这个包还可以记录多个版本的实体间数…

【基础篇】第3章 索引与文档操作

在Elasticsearch的世界里&#xff0c;索引是存储数据的地方&#xff0c;文档则是索引中的基本单位&#xff0c;包含具体的数据信息。本章将深入探讨索引和文档操作的基础&#xff0c;从创建到管理&#xff0c;为高效数据处理奠定基础。 3.1 索引概念与创建 3.1.1 索引、类型与…

PyTorch之nn.Module与nn.functional用法区别

文章目录 1. nn.Module2. nn.functional2.1 基本用法2.2 常用函数 3. nn.Module 与 nn.functional3.1 主要区别3.2 具体样例&#xff1a;nn.ReLU() 与 F.relu() 参考资料 1. nn.Module 在PyTorch中&#xff0c;nn.Module 类扮演着核心角色&#xff0c;它是构建任何自定义神经网…

【Spring Boot 源码学习】初识 ConfigurableEnvironment

《Spring Boot 源码学习系列》 初识 ConfigurableEnvironment 一、引言二、主要内容2.1 Environment2.1.1 配置文件&#xff08;profiles&#xff09;2.1.2 属性&#xff08;properties&#xff09; 2.2 ConfigurablePropertyResolver2.2.1 属性类型转换配置2.2.2 占位符配置2.…

wxss和css有什么区别?

WXSS&#xff08;WeiXin Style Sheets&#xff09;和CSS&#xff08;Cascading Style Sheets&#xff09;在功能和应用上有很多相似之处&#xff0c;但针对微信小程序的特殊需求&#xff0c;WXSS对CSS进行了一些扩展和修改。以下是WXSS和CSS之间的主要区别&#xff1a; 尺寸单…

Mybatis实现流程

一&#xff0c;UserDAO 接口定义 首先&#xff0c;定义 UserDAO接口&#xff0c;包含 getList()方法,定义类型为List<User>&#xff1a; package dao;import model.User; import java.util.List;public interface UserDAO {List<User> getList(); }二&#xff0c…

Python--进程基础

创建进程 os.fork() 该方法只能在linux和mac os中使用&#xff0c;因为其主要基于系统的fork来实现。window中没有这个方法。 通过os.fork()方法会创建一个子进程&#xff0c;子进程的程序集为该语句下方的所有语句。 import os​​print("主进程的PID为:" , os.g…

Python pdfkit wkhtmltopdf html转换pdf 黑体字体乱码

wkhtmltopdf 黑体在html转换pdf时&#xff0c;黑体乱码&#xff0c;分析可能wkhtmltopdf对黑体字体不太兼容&#xff1b; 1.html内容如下 <html> <head> <meta http-equiv"content-type" content"text/html;charsetutf-8"> </head&…