温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

OpenTelemetry Java代理的信息有哪些

发布时间:2022-02-28 10:52:54 来源:亿速云 阅读:272 作者:iii 栏目:开发技术

本篇内容主要讲解“OpenTelemetry Java代理的信息有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“OpenTelemetry Java代理的信息有哪些”吧!

什么是OpenTelemetry?

OpenTelemetry 是一组代码 , 一组 API、SDK、工具和集成,它可以帮你生成、发出、收集、处理和导出 Telemetry 数据。

使用 OpenTelemetry 捕获的遥测数据可以让你的系统和应用程序具有可观察性。它还会标准化这个过程。你使用 OpenTelemetry 收集的数据与供应商无关,可以用多种格式导出。

OpenTelemetry 不附带后端分析工具。对于 Telemetry 数据的存储、分析和可视化,你还可以使用像SigNoz这样的全栈可观察性平台。

我们如何使用 OpenTelemetry 生成 Telemetry数据?

Telemetry 数据是使用称为检测的过程生成的。OpenTelemetry 为手动和自动检测提供检测库。这些库特定于它们所使用的语言。设置检测的说明也因编程语言而异。

OpenTelemetry 将检测库定义为支持另一个库的可观察性的库。

OpenTelemetry Java 库

对于 Java 应用程序,OpenTelemetry 提供了三个存储库:

opentelemetry-java这个 repo 是主要的 OpenTelemetry Java SDK 并提供用于手动检测的组件。顶级组件包括 OpenTelemetry API、扩展、SDK、用于 OpenTracing 和 OpenCensus 的桥接层。

opentelemetry-java-instrumentation这是opentelemetry-java的兄弟项目,提供一体化、易于安装的自动检测 Java 代理。OpenTelemetry Java 代理使您能够从许多流行的库和框架中捕获 Telemetry 数据。你需要将其附加到任何 Java 8+ 应用程序。我们将在下面了解有关 Java 代理的更多信息。

opentelemetry-java-contribOpenTelemetry java 提供这个 repo 来涵盖不适合 opentelemetry-java 和 opentelemetry-java-instrumentation 范围的基于 JVM 的应用程序和工作流。

什么是 OpenTelemetry Java 代理?

OpenTelemetry 有一个非常方便的 Java JAR 代理,可以附加到任何 Java 8+ 应用程序以检测 Java 应用程序。Java JAR 代理可以检测许多流行的库和框架,并开箱即用地对其进行检测以生成遥测数据。

OpenTelemetry 收集器捕获生成的 Telemetry 数据,然后可以将其导出为所需的格式。如果你用的是 SigNoz,那么就可以使用默认的 OTLP 导出器。Java 代理和导出器可以通过命令行配置一些环境变量。你无需对代码进行任何更改,这就是为什么开始使用 OpenTelemetry Java 代理如此方便的原因。

如何使用 OpenTelemetry Java 代理?

需要为要监视的每个主机下载和分发 Java 代理。

使用 OpenTelemetry Java 代理的步骤:

  • 下载最新的 Java JAR 代理并将其分发到每个受监控的主机和服务。

  • 准备环境变量,例如受监控服务的服务名称和将导出数据的端点

  • 运行时将代理附加到应用程序的 jar 中

如果你想要将数据导出到SigNoz等可观察性工具,则必须指定托管 SigNoz 的主机的 IP 地址。SigNoz 在端口号 4317 侦听传入数据。因此请记住允许传入请求到 SigNoz 所在的端口号 4317。

要处理的一些环境变量的示例:

OTEL_TRACES_EXPORTER=otlp
OTEL_METRICS_EXPORTER=none
OTEL_EXPORTER_OTLP_ENDPOINT=<IP of SigNoz Backend>:4317
OTEL_RESOURCE_ATTRIBUTES="service.name=SERVICE_NAME"

让我们看看当你想要运行附加到应用程序的 Java 代理时命令的样子:

OTEL_METRICS_EXPORTER=none
OTEL_EXPORTER_OTLP_ENDPOINT="http://<IP of SigNoz>:4317"
OTEL_RESOURCE_ATTRIBUTES=service.name=javaApp
java -javaagent:/path/to/opentelemetry-javaagent-all.jar -jar target/*.jar

Java 代理 JAR 文件的路径需要替换为下载文件的位置。例如,对于我的本地,命令如下所示:

OTEL_METRICS_EXPORTER=none
OTEL_EXPORTER_OTLP_ENDPOINT="http://<IP of SigNoz>:4317"
OTEL_RESOURCE_ATTRIBUTES=service.name=javaApp
java -javaagent:/Users/Downloads/to/opentelemetry-javaagent-all.jar -jar target/*.jar

有了这个,OpenTelemetry Java 代理将动态注入字节码以从许多流行的库和框架中捕获遥测数据。让我们看看列表中包含的一些库和框架是什么。

OpenTelemetry Java 代理支持的库和框架列表

OpenTelemetry Java 代理支持的用于自动检测的库和框架包括:

  • Akka HTTP 10.0+

  • Apache HttpClient 2.0+

  • AWS Lambda 1.0+

  • AWS 开发工具包 1.11.x 和 2.2.0+

  • Cassandra 驱动程序 3.0+

  • 弹性搜索 API 5.0+

  • Elasticsearch REST 客户端 5.0+

  • gRPC 1.6+

  • JDBC Java 8+

  • 绝地武士 1.4+

  • 卡夫卡 0.11+

  • Kubernetes 客户端 7.0+

  • MongoDB 驱动程序 3.1+

  • OkHttp 3.0+

  • RabbitMQ 客户端 2.7+

  • Spark Web 框架 2.3+

  • Spring Web 服务 2.0+

  • Vert.x 3.0+

Java 代理支持的一些流行应用服务器包括 Glassfish、JBoss EAP、Jetty、Payara、Tomcat、TomEE、Weblogic 和 Wildfly。

你可以在opentelemetry-java-instrumentation GitHub存储库中找到 OpenTelemetry Java 代理支持的受支持库和框架的完整列表。

到此,相信大家对“OpenTelemetry Java代理的信息有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI