diff --git a/emissary b/emissary index 660b6cb274..13de150c5e 100755 --- a/emissary +++ b/emissary @@ -24,6 +24,20 @@ if [ "${DEBUG}" == "true" ]; then DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=${DEBUG_PORT}" fi +# Turn on metrics by prepending either of the +# following to the command line before ./emissary: +# METRICS_PORT=someport +# or +# METRICS=true +if [ "${METRICS_PORT}x" != "x" ]; then + METRICS=true +else + METRICS_PORT=9100 +fi +if [ "${METRICS}" == "true" ]; then + export JAVA_TOOL_OPTIONS="-javaagent:src/main/agents/jmx_prometheus_javaagent-1.5.0.jar=${METRICS_PORT}:src/main/agents/jmx_prometheus_javaagent.yaml" +fi + # Turn on picocli argument parsing debugging and an echo of the command line # CMD_DEBUG=true ./emissary # see Emissary.java for where it is used diff --git a/src/assembly/dist.xml b/src/assembly/dist.xml index e578aca205..a77e6d2c41 100644 --- a/src/assembly/dist.xml +++ b/src/assembly/dist.xml @@ -37,5 +37,13 @@ emissary-knight.png + + ${project.basedir} + + + src/main/agents/jmx_prometheus_javaagent.yaml + src/main/agents/jmx_prometheus_javaagent-1.5.0.jar + + diff --git a/src/main/agents/jmx_prometheus_javaagent-1.5.0.jar b/src/main/agents/jmx_prometheus_javaagent-1.5.0.jar new file mode 100644 index 0000000000..02dc00d912 Binary files /dev/null and b/src/main/agents/jmx_prometheus_javaagent-1.5.0.jar differ diff --git a/src/main/agents/jmx_prometheus_javaagent.yaml b/src/main/agents/jmx_prometheus_javaagent.yaml new file mode 100644 index 0000000000..4c178f3afc --- /dev/null +++ b/src/main/agents/jmx_prometheus_javaagent.yaml @@ -0,0 +1,3 @@ +# https://prometheus.github.io/jmx_exporter/1.5.0/java-agent/http-mode/#basic-yaml-configuration +rules: + - pattern: ".*"