付费阅读网站建设专业微网站建设公司首选公司

张小明 2025/12/31 6:17:44
付费阅读网站建设,专业微网站建设公司首选公司,中国互联网协会成立于哪一年,做图文网站要什么配置的服务器MX 是什么#xff1f;JMX 是 “Java Management Extensions” 的缩写#xff0c;中文通常称为 “Java 管理扩展”。它是 Java 平台提供的一套标准框架#xff0c;用于对 Java 应用程序、设备、系统资源进行监控和管理。JMX 的核心作用包括#xff1a;监控 Java 程序运行状态…MX 是什么JMX 是 “Java Management Extensions” 的缩写中文通常称为 “Java 管理扩展”。它是 Java 平台提供的一套标准框架用于对 Java 应用程序、设备、系统资源进行监控和管理。JMX 的核心作用包括监控 Java 程序运行状态如内存使用、线程数、类加载情况等动态修改配置参数无需重启应用远程管理 Java 应用通过 JConsole、VisualVM 等工具集成到监控系统中实现对 JVM 的集中监控。很多 Java 应用如 Kafka、Hadoop、Tomcat 等都通过 JMX 暴露运行时指标方便运维人员进行监控和故障排查。在监控领域你就可以简单的理解 JMX 是一种 Java 应用暴露指标的标准方式。很多新的开源项目直接暴露 Prometheus 协议的监控数据确实更方便但很多老的 Java 应用仍然通过 JMX 暴露指标数据所以掌握 JMX 监控方式等于掌握了一批 Java 应用的监控方式。OpenTelemetry 的标准已经被业界普遍使用JMX 也可以和 OpenTelemetry 集成。用于 JMX 的 OpenTelemetry 集成利用 YAML 中指定的配置文件来描述应用程序的指标应如何转换为 OpenTelemetry 指标。这些规则会提供给与 JMX API 交互的 JMX 指标抓取工具。许多现有的 Java 应用程序可配置为通过 JMX 发出指标。以下应用程序具有社区支持的预定义规则文件ActivemqCassandraHbaseHadoopJettyJvmKafkaSolrTomcatWildfly这意味着在使用 JMX 抓取工具时可以将目标应用程序识别为上述选项之一无需任何额外配置即可自动抓取指标。使用 OpenTelemetry 的 JMX 集成从应用程序中提取数据有多种方法运行 JMX 指标收集器 JAR 并将其指向您的应用程序将 OpenTelemetry Java 代理与应用程序一起运行运行 OpenTelemetry Collector 并配置 JMX 接收器以通过 JMX 获取指标JMX 指标收集器是一种简单便捷的方法可用于测试从 Java 应用程序导出指标且所需的额外依赖最少。OpenTelemetry Java 代理是一种更成熟且经过验证的机制但由于它引入了额外的 instrumentation可能也会带来一些开销。如果在你的环境中运行单独的进程或工作负载是可接受的那么 OpenTelemetry 收集器是一个可靠的替代方案。本文将探讨这三种选择。配置在深入了解 OpenTelemetry 集成之前有必要确保将要测试的应用程序正确暴露 JMX 端点。以下命令在 Docker 容器中启动 Tomcat 服务器以减少本地系统所需的依赖项数量。它使用 JAVA_OPTS 环境变量启用 JMX并使其在 9999 端口上可用。$ docker run -it --rm -p 9999:9999 -p 8888:8080 -e JAVA_OPTS-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.onlyfalse -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.port9999 -Dcom.sun.management.jmxremote.rmi.port9999 -Djava.rmi.server.hostname0.0.0.0 -Dcom.sun.management.jmxremote.sslfalse tomcat:9.0有许多工具可以验证 JMX 端口是否可访问以及是否在生成指标。以下使用 JConsole 并连接到已打开的端口$ jconsole localhost:9999这将弹出一个应用程序它可能会提示您连接不安全。在本地开发时此警告可以安全地忽略。image这些数据可通过远程 JMX 端口访问我们已准备好与 OpenTelemetry 集成。直接使用 JMX scraper如前所述JMX 抓取工具是最简便的入门方式。以下命令将从 Maven 下载 JMX 抓取工具的最新发布版本运行 JMX 抓取工具将其配置为从 Tomcat 收集遥测数据并通过 JMX 收集指标然后将这些指标输出到本地控制台。$ wget https://repo1.maven.org/maven2/io/opentelemetry/contrib/opentelemetry-jmx-scraper/1.49.0-alpha/opentelemetry-jmx-scraper-1.49.0-alpha.jar$ OTEL_METRICS_EXPORTERconsole java -jar opentelemetry-jmx-scraper-1.49.0-alpha.jar -config - EOFotel.jmx.service.urlservice:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmiotel.jmx.target.systemtomcatEOF该命令的输出让我们知道连接已建立并且一些度量工具已创建WARNING: A terminally deprecated method in sun.misc.Unsafe has been calledWARNING: sun.misc.Unsafe::objectFieldOffset has been called by io.opentelemetry.internal.shaded.jctools.util.UnsafeAccess (file:/Users/alex/Downloads/opentelemetry-jmx-scraper-1.49.0-alpha.jar)WARNING: Please consider reporting this to the maintainers of class io.opentelemetry.internal.shaded.jctools.util.UnsafeAccessWARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release2025-08-27 10:28:48 INFO metrics export interval (seconds) 602025-08-27 10:28:48 WARNING SASL unsupported in current environment: class io.opentelemetry.contrib.jmxscraper.JmxConnectorBuilder cannot access class com.sun.security.sasl.Provider (in module java.security.sasl) because module java.security.sasl does not export com.sun.security.sasl to unnamed module 24313fcc2025-08-27 10:28:48 INFO Connecting to service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi2025-08-27 10:28:48 INFO tomcat: found 3 metric rules2025-08-27 10:28:48 INFO JMX scraping started2025-08-27 10:28:49 INFO Created Counter for tomcat.error.count2025-08-27 10:28:49 INFO Created Counter for tomcat.request.count2025-08-27 10:28:49 INFO Created Gauge for tomcat.request.duration.max2025-08-27 10:28:49 INFO Created Counter for tomcat.request.duration.sum2025-08-27 10:28:49 INFO Created Counter for tomcat.network.io2025-08-27 10:28:49 INFO Created Counter for tomcat.network.io2025-08-27 10:28:49 INFO Created UpDownCounter for tomcat.thread.count2025-08-27 10:28:49 INFO Created UpDownCounter for tomcat.thread.limit2025-08-27 10:28:49 INFO Created UpDownCounter for tomcat.thread.busy.count使用JMX抓取工具是个不错的入门方法但它确实需要一个额外的 JAR 包如果我们已经在使用 Java 代理可能就不希望这样了。使用 OpenTelemetry Java 代理除了提供 JMX 集成外Java 代理还提供了自动检测应用程序的功能。出于这个原因它比 JMX 抓取工具更常用。以下命令下载最新发布版本的 OpenTelemetry Java agent jar通过将本地目录挂载到容器中将 jar 包归档文件添加到 Docker 环境中使用一些额外的环境变量运行与之前相同的 Tomcat 应用程序以加载 agent jar 包$ wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v2.19.0/opentelemetry-javaagent.jar$ docker run -it -v pwd:/tmp --rm \-e OTEL_LOGS_EXPORTERconsole \-e OTEL_TRACES_EXPORTERconsole \-e OTEL_METRICS_EXPORTERconsole \-e CATALINA_OPTS$CATALINA_OPTS -javaagent:/tmp/opentelemetry-javaagent.jar \-e JAVA_OPTS-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.onlyfalse -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.port9999 -Dcom.sun.management.jmxremote.rmi.port9999 -Djava.rmi.server.hostname0.0.0.0 -Dcom.sun.management.jmxremote.sslfalse -Dotel.jmx.target.systemtomcat \tomcat:9.0该命令的输出将与运行 JMX scraper 的输出非常相似04-Sep-2025 21:43:40.251 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [48] milliseconds[otel.javaagent 2025-09-04 21:43:40:787 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created Counter for tomcat.error.count[otel.javaagent 2025-09-04 21:43:40:787 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created Counter for tomcat.request.count[otel.javaagent 2025-09-04 21:43:40:789 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created Gauge for tomcat.request.duration.max[otel.javaagent 2025-09-04 21:43:40:789 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created Counter for tomcat.request.duration.sum[otel.javaagent 2025-09-04 21:43:40:789 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created Counter for tomcat.network.io[otel.javaagent 2025-09-04 21:43:40:789 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created Counter for tomcat.network.io[otel.javaagent 2025-09-04 21:43:40:790 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created UpDownCounter for tomcat.thread.count[otel.javaagent 2025-09-04 21:43:40:790 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created UpDownCounter for tomcat.thread.limit[otel.javaagent 2025-09-04 21:43:40:791 0000] [jmx_bean_finder] INFO io.opentelemetry.javaagent.shaded.instrumentation.jmx.engine.MetricRegistrar - Created UpDownCounter for tomcat.thread.busy.count如果我们的部署已经在使用 OpenTelemetry Java 代理现在我们就有了一种无需引入额外工具即可收集 JMX 指标的方法。但如果我们更倾向于使用外部工具那该怎么办呢别担心OpenTelemetry 这把“瑞士军刀”已经为你准备好了使用 OpenTelemetry Collector 和 JMX receiver我们将要探讨的最后一种将JMX指标转换为 OpenTelemetry 的方法是使用 OpenTelemetry Collector。Collector 提供了许多集成功能通常作为遥测管道的一部分部署在基础设施内部。Collector 由许多组件构成其中之一是 JMX receiver它在底层使用 JMX scraper 与 Java 应用程序进行交互。在本示例中我们将继续使用之前一直在用的 tomcat 应用程序并使用由社区发布和维护的 OpenTelemetry Collector Contrib 发行版。运行带有调试导出器的 Collector 需要以下配置文件该调试导出器会将指标输出到控制台。由于 Collector 便于配置多个导出器我们还添加了一个 OpenTelemetry 协议OTLP导出器用于将数据发送到 Honeycomb译者注一个可观测性云厂商receivers:jmx/tomcat:jar_path: /tmp/opentelemetry-jmx-scraper-1.48.0-alpha.jarendpoint: localhost:9999target_system: tomcatcollection_interval: 10sexporters:otlphttp:endpoint: https://api.honeycomb.io:443headers:x-honeycomb-team: ${env:HONEYCOMB_API_KEY}x-honeycomb-dataset: jmx-testdebug:verbosity: detailedservice:telemetry:logs:level: debugpipelines:metrics:receivers: [jmx/tomcat]exporters: [debug, otlphttp]请注意要使此配置生效我们需要指定 JMX 抓取器 JAR 的位置因为接收器本身并不包含该 JAR。有了这份配置以下命令将下载最新发布的 Collector Contrib 发行版并运行它$ wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.133.0/otelcol-contrib_0.133.0_darwin_arm64.tar.gz -O - | tar -xz​​$ ./otelcol-contrib --config configuration.yaml收集器的输出将包含来自JMX抓取器的详细信息以及来自调试导出器的日志以验证数据是否按照配置进行导出。使用 Collector 使我们能够收集指标而无需修改应用程序或应用程序运行的环境只要该应用程序远程暴露 JMX 端口即可。 Collector 还增加了一些灵活性可以根据需要对数据进行转换或丰富。自定义应用的监控采集OpenTelemetry 社区支持的应用程序列表不足以处理所有现有的Java应用程序。幸运的是可以定义自定义规则配置文件来支持自定义应用程序。该项目的官方文档更详细地描述了编写自定义配置的语法。在下面的示例中我们创建的规则为Resin服务器暴露的指标提供了映射。此配置将resin命名空间中ThreadPool托管BeanMBean的JMX属性ThreadActiveCount映射到OpenTelemetry中名为resin.threadpool.active.count的 gauge量规rules:- bean: resin:typeThreadPooltype: gaugeunit: {thread}mapping:ThreadActiveCount:metric: resin.threadpool.active.countdesc: Current number of active threads in the pool将OpenTelemetry与JMX集成的每种方法都支持自定义配置文件。JMX抓取器通过otel.jmx.config属性来支持这一点。收集器中的JMX接收器可以使用jmx_configs而非target_system进行配置。允许收集器使用此自定义文件的配置如下receivers:jmx/resin:jar_path: /Users/alex/Downloads/opentelemetry-jmx-scraper-1.48.0-alpha.jarendpoint: localhost:9999jmx_configs: /tmp/resin.rules.yamlcollection_interval: 10s总结有了这些我们现在就具备了将生成JMX遥测数据的应用程序集成到任何支持 OpenTelemetry 的遥测管道中的工具。可以灵活选择使用JMX抓取器、Java代理或收集器这确保我们能够选用适合自身环境的工具同时对现有工作流程的影响降至最低。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

湛江专业建站推荐心理学门户网站开发与实现

第一章:政务 Agent 的权限控制在构建面向政务服务的人工智能系统时,Agent 的权限控制是保障数据安全与业务合规的核心机制。政务场景涉及大量敏感信息,如公民身份、社保记录和行政审批流程,必须通过精细化的权限模型实现最小化授权…

张小明 2025/12/30 18:52:37 网站建设

电子产品商务网站模板保定seo关键词优化外包

一、问题背景与抽象建模 在通信网络、任务调度、依赖编排等工程场景中,经常会遇到如下问题: 网络由若干节点构成 节点之间存在单向依赖关系 边权表示传输延时或执行成本 网络整体不存在环路 本题正是这一类问题的典型抽象,其数学模型为:加权有向无环图(Directed Acyclic …

张小明 2025/12/23 5:03:29 网站建设

可以做打赏视频的网站中国建设银行北海招聘信息网站

基于模型预测MPC实现的车速控制,控制目标为燃油汽车,采用上下层控制器控制,上层mpc产生期望的加速度,下层采用自抗扰ADRC控制产生期望的节气门开度和制动压力,同时该算法可直接用于代码生成(可做实车试验实…

张小明 2025/12/23 5:01:26 网站建设

国外教做美食网站wordpress蜜蜂

在全球化人才流动加速、大学生就业需求升级的背景下,高校人才高质量就业协同服务议题引发政企校及各界广泛关注。作为北京市朝阳区认证的 “留学人才实训基地”、区职促会核心会员单位,职点迷津深耕高校人才职业规划赛道并广泛开展各类相关活动。12月17日…

张小明 2025/12/23 5:00:24 网站建设

装修网站建设方案书成都郫县网站建设

Node.js电商系统终极方案:NideShop开源商城完整指南 【免费下载链接】nideshop tumobi/nideshop: 这是一个基于Node.js和React的电商解决方案。适合用于需要搭建一个在线商城的场景。特点:易于使用,具有完整的电商功能,支持多种支…

张小明 2025/12/26 10:30:46 网站建设

免费建网站模板做公众号首图网站

在数字经济蓬勃发展的2025年,软件测试作为产品质量的守护者,其人才市场需求持续升温。对于从业者而言,求职渠道的选择直接影响着岗位匹配效率、职业发展路径乃至薪资谈判空间。当前主流的招聘平台与内推机制构成求职市场的“双轨制”&#xf…

张小明 2025/12/23 4:58:22 网站建设