jmxmetricextension

package module
v0.0.0-...-d049529 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

README

JMX Metric Extension

Overview

The JMX Metric Extension will work in conjunction with the OpenTelemetry JMX Metric Gatherer to report metrics from a target MBean server using a built-in or your custom otel helper-utilizing Groovy script.

Status: alpha

Details

This extension will launch a child JRE process running the JMX Metric Gatherer configured with your specified JMX connection information and target Groovy script. It can report metrics to an existing otlp or prometheus metric receiver in your pipeline. In order to use you will need to download the most recent release of the JMX Metric Gatherer JAR and configure the extension with its path. It is assumed that the JRE is available on your system.

Configuration

Note: this extension is in alpha and functionality and configuration fields are subject to change.

Example configuration:

extensions:
  jmx_metrics:
    jar_path: /opt/opentelemetry-java-contrib-jmx-metrics.jar
    service_url: service:jmx:rmi:///jndi/rmi://<my-jmx-host>:<my-jmx-port>/jmxrmi
    groovy_script: /opt/my/groovy.script
    interval: 10s
    exporter: otlp
    otlp_endpoint: mycollectorotlpreceiver:55680
    username: my_jmx_username
    # determined by the environment variable value
    password: $MY_JMX_PASSWORD
jar_path (default: /opt/opentelemetry-java-contrib-jmx-metrics.jar)

The path for the JMX Metric Gatherer uber JAR to run.

service_url

The JMX Service URL the Metric Gatherer's JMX client should use.

Corresponds to the otel.jmx.service.url property.

Required.

target_system

The built-in target system metric gatherer script to run.

Corresponds to the otel.jmx.target.system property.

One of groovy_script or target_system is required. Both cannot be specified at the same time.

groovy_script

The path of the Groovy script the Metric Gatherer should run.

Corresponds to the otel.jmx.groovy.script property.

One of groovy_script or target_system is required. Both cannot be specified at the same time.

interval (default: 10s)

The interval time for the Groovy script to be run and metrics to be exported by the JMX Metric Gatherer within the persistent JRE process.

Corresponds to the otel.jmx.interval.milliseconds property.

username

The username to use for JMX authentication.

Corresponds to the otel.jmx.username property.

password

The password to use for JMX authentication.

Corresponds to the otel.jmx.password property.

exporter (default: otlp)

The metric exporter to use, which matches a desired existing otlp or prometheus receiver type.

Corresponds to the otel.exporter property.

otlp_endpoint (default: localhost:55680)

The otlp exporter endpoint to submit metrics. Must coincide with an existing otlp receiver endpoint.

Corresponds to the otel.otlp.endpoint property.

otlp_timeout (default: 5s)

The otlp exporter request timeout.

Corresponds to the otel.otlp.metric.timeout property.

otlp_headers

The headers to include in otlp metric submission requests.

Corresponds to the otel.otlp.metadata property.

prometheus_host (default: localhost)

The JMX Metric Gatherer prometheus server host interface to listen to.

Corresponds to the otel.prometheus.host property.

prometheus_port (default: 9090)

The JMX Metric Gatherer prometheus server port to listen to.

Corresponds to the otel.prometheus.port property.

keystore_path

The keystore path is required if SSL is enabled on the target JVM.

Corresponds to the javax.net.ssl.keyStore property.

keystore_password

The keystore file password if required by SSL.

Corresponds to the javax.net.ssl.keyStorePassword property.

keystore_type

The keystore type if required by SSL.

Corresponds to the javax.net.ssl.keyStoreType property.

truststore_path

The truststore path if the SSL profile is required.

Corresponds to the javax.net.ssl.trustStore property.

truststore_password

The truststore file password if required by SSL.

Corresponds to the javax.net.ssl.trustStorePassword property.

remote_profile

Supported JMX remote profiles are TLS in combination with SASL profiles: SASL/PLAIN, SASL/DIGEST-MD5 and SASL/CRAM-MD5. Should be one of: "SASL/PLAIN", "SASL/DIGEST-MD5", "SASL/CRAM-MD5", "TLS SASL/PLAIN", "TLS SASL/DIGEST-MD5", or "TLS SASL/CRAM-MD5", though no enforcement is applied.

Corresponds to the otel.jmx.remote.profile property.

realm

The realm, as required by remote profile SASL/DIGEST-MD5.

Corresponds to the otel.jmx.realm property.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() component.ExtensionFactory

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL