
Cập nhật lần cuối: 23/01/2026 17:00
Tích hợp Zero-code là tích hợp mà không cần viết thêm một dòng mã nào trong ứng dụng, dễ dàng tích hợp với cả các ứng dụng được triển khai trên máy chủ hoặc Containers
Các ngôn ngữ hiện đang được hỗ trợ:
https://metrics-xxx.obs.vnptplatform.vn/api/v1/push -> https://metrics-xxx.obs.vnptplatform.vn/otlp/v1/metrics
https://logs-xxx.obs.vnptplatform.vn/loki/api/v1/push -> https://logs-xxx.obs.vnptplatform.vn/otlp/v1/logsBước 1: Tải file agent tại đây
Bước 2: Cấu hình agent
Sử dụng câu lệnh trực tiếp:
java -javaagent:PATH_AGENT/apm-javaagent.jar \
-Dotel.service.name=<app_name> \
-Dotel.exporter.otlp.traces.endpoint=<traces_endpoint> \
-Dotel.exporter.otlp.logs.endpoint=<logs_endpoint> \
-Dotel.exporter.otlp.metrics.endpoint=<metrics_endpoint> \
-Dotel.traces.exporter=otlp \
-Dotel.logs.exporter=otlp \
-Dotel.metrics.exporter=otlp \
-Dotel.exporter.otlp.traces.headers="Authorization=<traces_token>" \
-Dotel.exporter.otlp.metrics.headers="Authorization=<metrics_token>" \
-Dotel.exporter.otlp.logs.headers="Authorization=<logs_token>" \
-jar ./app_name.jar
Hoặc có thể sử dụng file cấu hình config.properties
otel.javaagent.enabled=true
otel.service.name=<app_name>
otel.exporter.otlp.traces.endpoint=<traces_endpoint>
otel.exporter.otlp.traces.headers="Authorization=<traces_token>"
otel.exporter.otlp.metrics.endpoint=<metrics_endpoint>
otel.exporter.otlp.metrics.headers="Authorization=<metrics_token>"
otel.exporter.otlp.logs.endpoint=<logs_endpoint>
otel.exporter.otlp.logs.headers="Authorization=<logs_token>"
otel.traces.exporter=otlp
otel.logs.exporter=otlp
otel.metrics.exporter=otlp
Sau đó chạy lệnh:
java -javaagent:.PATH_AGENT/apm-javaagent.jar \
-Dotel.javaagent.configuration-file=.PATH_CONFIG_FILE/config.properties \
-jar ./app_name.jar
Bước 1: Tải về máy chủ file agent tại đây
Bước 2: Cập nhật Dockerfile ứng dụng
COPY opentelemetry-javaagent.jar /app/apm-javaagent.jar
Bước 2: Thêm các biến môi trường
OTEL_SERVICE_NAME: <app_name>
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT: <logs_endpoint>
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: <traces_endpoint>
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: <metrics_endpoint>
OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
OTEL_LOGS_EXPORTER: "otlp"
OTEL_METRICS_EXPORTER: "otlp"
OTEL_TRACES_EXPORTER: "otlp"
OTEL_EXPORTER_OTLP_METRICS_HEADERS: "Authorization=<metrics_token>"
OTEL_EXPORTER_OTLP_TRACES_HEADERS: "Authorization=<traces_token>"
OTEL_EXPORTER_OTLP_LOGS_HEADERS: "Authorization=<logs_token>"
JAVA_TOOL_OPTIONS: "-javaagent:./apm-javaagent.jar"
Bước 1: Tải file agent tại đây
Bước 2: Tích hợp app server JBoss EAP / WildFly
JAVA_OPTS="$JAVA_OPTS -javaagent:PATH_AGENT/apm-javaagent.jar"
JAVA_OPTS="$JAVA_OPTS -Dotel.service.name=<app_name>"
JAVA_OPTS="$JAVA_OPTS -Dotel.traces.exporter=otlp"
JAVA_OPTS="$JAVA_OPTS -Dotel.metrics.exporter=otlp"
JAVA_OPTS="$JAVA_OPTS -Dotel.logs.exporter=otlp"
JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.protocol=http/protobuf"
JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.traces.endpoint=<traces_endpoint>"
JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.traces.headers=Authorization=<traces_token>"
JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.metrics.endpoint=<metrics_endpoint>"
JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.metrics.headers=Authorization=<metrics_token>"
JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.logs.endpoint=<logs_endpoint>"
JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.logs.headers=Authorization=<logs_token>"
set "JAVA_OPTS=%JAVA_OPTS% -javaagent:PATH_AGENT\apm-javaagent.jar"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.service.name=<app_name>"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.traces.exporter=otlp"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.metrics.exporter=otlp"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.logs.exporter=otlp"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.exporter.otlp.protocol=http/protobuf"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.exporter.otlp.traces.endpoint=<traces_endpoint>"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.exporter.otlp.traces.headers=Authorization=<traces_token>"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.exporter.otlp.metrics.endpoint=<metrics_endpoint>"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.exporter.otlp.metrics.headers=Authorization=<metrics_token>"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.exporter.otlp.logs.endpoint=<logs_endpoint>"
set "JAVA_OPTS=%JAVA_OPTS% -Dotel.exporter.otlp.logs.headers=Authorization=<logs_token>"
Để loại bỏ một tín hiệu không cần thiết từ các thư viện như redis, okHttp... Có thể cấu hình như sau
OTEL_INSTRUMENTATION_OKHTTP_ENABLED=falseCác cấu hình khác:
| Library/Framework | Instrumentation name |
| Additional methods tracing | methods |
| Additional tracing annotations | external-annotations |
| Akka Actor | akka-actor |
| Akka HTTP | akka-http |
| Apache Axis2 | axis2 |
| Apache Camel | camel |
| Apache Cassandra | cassandra |
| Apache CXF | cxf |
| Apache DBCP | apache-dbcp |
| Apache Dubbo | apache-dubbo |
| Apache Geode | geode |
| Apache HttpAsyncClient | apache-httpasyncclient |
| Apache HttpClient | apache-httpclient |
| Apache Kafka | kafka |
| Apache MyFaces | jsf-myfaces |
| Apache Pekko Actor | pekko-actor |
| Apache Pekko HTTP | pekko-http |
| Apache Pulsar | pulsar |
| Apache RocketMQ | rocketmq-client |
| Apache Shenyu | apache-shenyu |
| Apache Struts 2 | struts |
| Apache Tapestry | tapestry |
| Apache Tomcat | tomcat |
| Apache Wicket | wicket |
| Armeria | armeria |
| AsyncHttpClient (AHC) | async-http-client |
| AWS Lambda | aws-lambda |
| AWS SDK | aws-sdk |
| Azure SDK | azure-core |
| Clickhouse Client | clickhouse |
| Couchbase | couchbase |
| C3P0 | c3p0 |
| Dropwizard Views | dropwizard-views |
| Dropwizard Metrics | dropwizard-metrics |
| Eclipse Grizzly | grizzly |
| Eclipse Jersey | jersey |
| Eclipse Jetty | jetty |
| Eclipse Jetty HTTP Client | jetty-httpclient |
| Eclipse Metro | metro |
| Eclipse Mojarra | jsf-mojarra |
| Eclipse Vert.x HttpClient | vertx-http-client |
| Eclipse Vert.x Kafka Client | vertx-kafka-client |
| Eclipse Vert.x Redis Client | vertx-redis-client |
| Eclipse Vert.x RxJava | vertx-rx-java |
| Eclipse Vert.x SQL Client | vertx-sql-client |
| Eclipse Vert.x Web | vertx-web |
| Elasticsearch client | elasticsearch-transport |
| Elasticsearch REST client | elasticsearch-rest |
| Finagle | finagle-http |
| Google Guava | guava |
| Google HTTP client | google-http-client |
| Google Web Toolkit | gwt |
| Grails | grails |
| GraphQL Java | graphql-java |
| GRPC | grpc |
| Hibernate | hibernate |
| Hibernate Reactive | hibernate-reactive |
| HikariCP | hikaricp |
| InfluxDB | influxdb |
| Java HTTP Client | java-http-client |
| Java HttpURLConnection | http-url-connection |
| Java JDBC | jdbc |
| Java JDBC DataSource | jdbc-datasource |
| Java RMI | rmi |
| Java Runtime | runtime-telemetry |
| Java Servlet | servlet |
| java.util.concurrent | executors |
| java.util.logging | java-util-logging |
| Javalin | javalin |
| JAX-RS (Client) | jaxrs-client |
| JAX-RS (Server) | jaxrs |
| JAX-WS | jaxws |
| JBoss Logging Appender | jboss-logmanager-appender |
| JBoss Logging MDC | jboss-logmanager-mdc |
| JMS | jms |
| Jodd HTTP | jodd-http |
| JSP | jsp |
| K8s Client | kubernetes-client |
| Ktor | ktor |
| kotlinx.coroutines | kotlinx-coroutines |
| Log4j Appender | log4j-appender |
| Log4j MDC (1.x) | log4j-mdc |
| Log4j Context Data (2.x) | log4j-context-data |
| Logback Appender | logback-appender |
| Logback MDC | logback-mdc |
| Micrometer | micrometer |
| MongoDB | mongo |
| MyBatis | mybatis |
| Netflix Hystrix | hystrix |
| Netty | netty |
| OkHttp | okhttp |
| OpenLiberty | liberty |
| OpenTelemetry Extension Annotations | opentelemetry-extension-annotations |
| OpenTelemetry Instrumentation Annotations | opentelemetry-instrumentation-annotations |
| OpenTelemetry API | opentelemetry-api |
| Oracle UCP | oracle-ucp |
| OSHI (Operating System and Hardware Information) | oshi |
| Play Framework | play |
| Play WS HTTP Client | play-ws |
| Quarkus | quarkus |
| Quartz | quartz |
| R2DBC | r2dbc |
| RabbitMQ Client | rabbitmq |
| Ratpack | ratpack |
| ReactiveX RxJava | rxjava |
| Reactor | reactor |
| Reactor Kafka | reactor-kafka |
| Reactor Netty | reactor-netty |
| Redis Jedis | jedis |
| Redis Lettuce | lettuce |
| Rediscala | rediscala |
| Redisson | redisson |
| Restlet | restlet |
| Scala ForkJoinPool | scala-fork-join |
| Spark Web Framework | spark |
| Spring Batch | spring-batch |
| Spring Core | spring-core |
| Spring Data | spring-data |
| Spring JMS | spring-jms |
| Spring Integration | spring-integration |
| Spring Kafka | spring-kafka |
| Spring RabbitMQ | spring-rabbit |
| Spring RMI | spring-rmi |
| Spring Scheduling | spring-scheduling |
| Spring Web | spring-web |
| Spring WebFlux | spring-webflux |
| Spring Web MVC | spring-webmvc |
| Spring Web Services | spring-ws |
| Spymemcached | spymemcached |
| Tomcat JDBC | tomcat-jdbc |
| Twilio SDK | twilio |
| Twitter Finatra | finatra |
| Undertow | undertow |
| Vaadin | vaadin |
| Vibur DBCP | vibur-dbcp |
| XXL-JOB | xxl-job |
| ZIO | zio |