当前位置: 首页 > news >正文

个人网站布局展厅设计多少钱一平米

个人网站布局,展厅设计多少钱一平米,建站公司用的服务器,什么是网站后台可信数据空间-连接器状态监控-Java代码集成一、 核心概念1. Micrometer2. Micrometer Registry Prometheus3.Prometheus二、 依赖配置 (Maven)三、 集成步骤与代码示例场景一:在 Spring Boot 应用中集成(最简单)1. 添加依赖(如上所…

可信数据空间-连接器状态监控-Java代码集成

  • 一、 核心概念
    • 1. Micrometer
    • 2. Micrometer Registry Prometheus
    • 3.Prometheus
  • 二、 依赖配置 (Maven)
  • 三、 集成步骤与代码示例
    • 场景一:在 Spring Boot 应用中集成(最简单)
      • 1. 添加依赖(如上所示)。
      • 2. 配置 application.yml/application.properties:
      • 3. 注入 MeterRegistry 并记录指标:
      • 4. 访问指标端点:
    • 场景二:在普通 Java Web 应用中手动集成
      • 1. 添加依赖(同上,无需Spring Boot Actuator)。
      • 2. 创建并配置 Prometheus Registry:
      • 3. 创建 /metrics 端点:
      • 4. 在代码中使用:
  • 四、 常用指标类型及用法
  • 五、 最佳实践

一、 核心概念

1. Micrometer

一个类似于 SLF4J 的应用程序指标门面库。它提供了一套通用的API,让你的代码可以与各种监控系统(Prometheus, Datadog, New Relic等)对接,而无需修改代码。你只需要依赖Micrometer的接口。

2. Micrometer Registry Prometheus

一个具体的实现,负责将Micrometer收集的指标转换为Prometheus能够拉取的格式(即暴露一个 /metrics 端点)。

3.Prometheus

监控系统,它会定期来拉取(scrape)你的应用暴露的 /metrics 端点。

二、 依赖配置 (Maven)

在你的 pom.xml 中添加以下依赖:

<!-- Micrometer 核心门面 -->
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-core</artifactId><version>1.10.6</version> <!-- 请使用最新版本 -->
</dependency><!-- Micrometer 对 Prometheus 的实现 -->
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><version>1.10.6</version>
</dependency><!-- 如果你使用 Spring Boot Actuator -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

说明:

  • 如果你用的是 Spring Boot,它已经内置了对Micrometer的完美支持,你只需要添加 micrometer-registry-prometheus 依赖即可。Actuator会自动配置好一切。
  • 如果你用的是普通Java项目(如Spark-Java, Quarkus等)或Spring MVC,你需要手动配置。

三、 集成步骤与代码示例

场景一:在 Spring Boot 应用中集成(最简单)

Spring Boot的Actuator模块自动化了绝大部分工作。

1. 添加依赖(如上所示)。

配置 application.yml/application.properties:

2. 配置 application.yml/application.properties:

management:endpoints:web:exposure:include: health, info, metrics, prometheus # 暴露 prometheus 端点metrics:tags:application: my-connector-service # 为所有指标添加一个公共标签

3. 注入 MeterRegistry 并记录指标:

现在你可以在任何Spring管理的Bean(如@Service, @RestController)中注入 MeterRegistry 来创建和记录自定义指标。

import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Timer;
import org.springframework.stereotype.Service;
import java.util.concurrent.TimeUnit;@Service
public class DataService {// 计数器:用于记录发生次数的事件,如错误、请求数private final Counter dataRequestCounter;// 计时器:用于记录耗时操作的持续时间private final Timer dataRequestTimer;// 通过构造函数注入 MeterRegistrypublic DataService(MeterRegistry registry) {// 创建并注册一个计数器dataRequestCounter = Counter.builder("connector.data.requests").description("Total number of data requests received").tag("type", "sql") // 添加自定义标签,用于细分指标.register(registry);// 创建并注册一个计时器dataRequestTimer = Timer.builder("connector.data.processing.time").description("Time taken to process a data request").register(registry);}public String fetchData(String query) {// 方法一开始就启动计时器采样Timer.Sample sample = Timer.start();dataRequestCounter.increment(); // 计数器+1String result;try {// 模拟业务逻辑result = executeQuery(query);} finally {// 无论成功失败,都记录耗时// stop() 方法将耗时记录到计时器sample.stop(dataRequestTimer);}return result;}private String executeQuery(String query) {// 模拟一个耗时操作try {Thread.sleep((long) (Math.random() * 1000));} catch (InterruptedException e) {Thread.currentThread().interrupt();}return "Result for: " + query;}
}

4. 访问指标端点:

启动应用后,访问:http://localhost:8080/actuator/prometheus
你会看到Prometheus格式的指标数据:

# HELP connector_data_requests_total Total number of data requests received
# TYPE connector_data_requests_total counter
connector_data_requests_total{application="my-connector-service", type="sql",} 12.0# HELP connector_data_processing_time_seconds Time taken to process a data request
# TYPE connector_data_processing_time_seconds summary
connector_data_processing_time_seconds_count{application="my-connector-service",} 12.0
connector_data_processing_time_seconds_sum{application="my-connector-service",} 6.234

场景二:在普通 Java Web 应用中手动集成

以使用 Spark-Java 框架为例。

1. 添加依赖(同上,无需Spring Boot Actuator)。

2. 创建并配置 Prometheus Registry:

import io.micrometer.prometheus.PrometheusConfig;
import io.micrometer.prometheus.PrometheusMeterRegistry;public class MonitoringRegistry {private static final PrometheusMeterRegistry registry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);public static PrometheusMeterRegistry getRegistry() {return registry;}
}

3. 创建 /metrics 端点:

import static spark.Spark.get;public class Main {public static void main(String[] args) {// 设置一个HTTP端点来暴露指标get("/metrics", (req, res) -> {res.type("text/plain; version=0.0.4");return MonitoringRegistry.getRegistry().scrape(); // 返回Prometheus格式的数据});// 你的其他路由...get("/data", (req, res) -> {// 使用全局的registry创建计数器Counter.builder("my_custom_requests").register(MonitoringRegistry.getRegistry()).increment();return "Hello World";});}
}

4. 在代码中使用:

和你可以在任何地方通过 MonitoringRegistry.getRegistry() 获取注册表,然后使用Micrometer API创建指标,如场景一所示。

四、 常用指标类型及用法

类型Micrometer类用途示例
计数器Counter记录只增不减的值,如请求数、错误数。.increment()
计时器Timer记录短时操作的耗时和频率。timer.record(() -> {…}) 或 Timer.Sample
计量仪Gauge记录一个瞬时值,如当前内存使用、队列大小。Gauge.builder(“queue.size”, queue, Collection::size).register(registry)
摘要DistributionSummary记录事件的分布情况,如响应体大小。summary.record(responseBytes)

五、 最佳实践

  1. 标签(Tags)是关键: 使用标签来维度化指标(如 method=“GET”, status=“200”, uri=“/api/data”)。避免将变量值作为指标名称(如 my_metric_/api/data)。
  2. 指标命名: 使用 . 分隔单词,如 http.server.requests。保持命名一致性。
  3. 不要过度测量: 监控核心业务逻辑和关键性能路径,避免产生太多无用的指标,增加存储和查询负担。
  4. 利用自动配置: 在Spring Boot中,无需手动配置HTTP请求的计时器,spring-boot-starter-actuator 已经为你做好了。你只需要暴露端点即可。

通过以上步骤,你就可以轻松地在Java连接器代码中集成强大的监控能力,为后续的Prometheus抓取和Grafana可视化打下坚实的基础。

http://www.dtcms.com/a/396746.html

相关文章:

  • 做写字楼的网站有哪些资料免费网站建设程序下载
  • 河北省建设网站锁安装什么驱动网站建设项目延期验收申请
  • wordpress免费网站模板下载深圳软件开发定制
  • 重庆手机网站开发环江住房和城乡建设部网站
  • 钓鱼网站制作教程视频安卓网页制作软件
  • 快速生成网站开发公司总经理竞聘报告
  • h5平台网站开发青海建设兵团青岛战友网站
  • 网页制作与网站开发从入门到精通 豆瓣相册 wordpress
  • 哪里有做网站优化的公司如何推广网址
  • mixkitcom素材网站wordpress 微信 插件
  • 牛商网网站后台自己如何做网站推广
  • 网站优化方案怎么写中企动力简介
  • 社区子网站群建设鞍山做网站优化
  • 网站哪里有wordpress建站云平台
  • 国内外知名建设设计网站注册域名要多少钱
  • 做毕业设计免费网站建设正规网站建设排行
  • 曹县住房和城乡建设局网站网络营销的特点中任何时间任何地点体现的是
  • 中山网站软件学网站开发哪里好
  • pc网站建设意见昆明模板建站定制网站
  • elementor做视频网站wordpress主题付费
  • 电商网站seo怎么做橙 建网站
  • 网站开发老是弹广告邢台建设局官方网站
  • 《语文建设》网站注册公司名称查询系统官网
  • 织梦做网站也是模板吗丰台做网站公司
  • 注册域名建设网站dnf怎么做盗号网站
  • 南昌网站建设模板下载网址深圳app制作公司
  • 做网站一定要域名吗效果图外包
  • 网站专题设计欣赏建设中网站
  • 龙岩网站设计价格营销网络是什么意思
  • 做网站的 视频做网站需要什么学历