Skip to content

Commit 699a7b0

Browse files
committed
Setup telemetry
1 parent 7380170 commit 699a7b0

File tree

3 files changed

+58
-2
lines changed

3 files changed

+58
-2
lines changed

Dockerfile

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,24 @@
1-
FROM navikt/java:14
1+
# FROM navikt/java:14
2+
FROM eclipse-temurin:17-jre
3+
4+
RUN apt-get update && apt-get install -y \
5+
curl \
6+
dumb-init \
7+
&& rm -rf /var/lib/apt/lists/*
8+
9+
WORKDIR /app
10+
11+
RUN curl -L -O https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
12+
13+
ENV TZ="Europe/Oslo"
14+
15+
ENV MAIN_CLASS=no.nav.pensjon.pen_app.PenApplication
16+
ENV LOGGING_CONFIG=classpath:logback-nais.xml
17+
ENV SECRET_BASEDIR=/
18+
19+
COPY java-opts.sh /app
20+
221
COPY target/navansatt-1-SNAPSHOT-jar-with-dependencies.jar app.jar
22+
23+
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
24+
CMD ["bash", "-c", "source java-opts.sh && exec java ${DEFAULT_JVM_OPTS} ${JAVA_OPTS} -jar app.jar $@"]

java-opts.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/usr/bin/env sh
2+
3+
if [ ! -z "${OTEL_EXPORTER_OTLP_ENDPOINT}" ]; then
4+
JAVA_OPTS="${JAVA_OPTS} -javaagent:/app/opentelemetry-javaagent.jar"
5+
fi
6+
7+
if test -r "${NAV_TRUSTSTORE_PATH}";
8+
then
9+
if ! keytool -list -keystore ${NAV_TRUSTSTORE_PATH} -storepass "${NAV_TRUSTSTORE_PASSWORD}" > /dev/null;
10+
then
11+
echo Truststore is corrupt, or bad password
12+
exit 1
13+
fi
14+
15+
JAVA_OPTS="${JAVA_OPTS} -Djavax.net.ssl.trustStore=${NAV_TRUSTSTORE_PATH}"
16+
JAVA_OPTS="${JAVA_OPTS} -Djavax.net.ssl.trustStorePassword=${NAV_TRUSTSTORE_PASSWORD}"
17+
export JAVA_OPTS
18+
fi
19+
20+
# inject proxy settings set by the nais platform
21+
export JAVA_OPTS="${JAVA_OPTS} ${JAVA_PROXY_OPTIONS}"

nais/nais-dev.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,11 @@ spec:
8181
allowAllUsers: true
8282
webproxy: true
8383
# TODO: Enable observability when it's supported in dev-fss
84+
# For now, this is set up manually.
8485
# observability:
8586
# autoInstrumentation:
8687
# enabled: true
87-
# runtime: java
88+
# runtime: sdk
8889
env:
8990
- name: "LDAP_URL"
9091
value: "ldaps://ldapgw.preprod.local"
@@ -96,6 +97,18 @@ spec:
9697
value: "https://norg2.intern.dev.nav.no/norg2"
9798
- name: "STS_WELL_KNOWN_URL"
9899
value: "https://security-token-service.nais.preprod.local/.well-known/openid-configuration"
100+
101+
# Manual setup of OpenTelemetry because it's not "natively" supported on FSS yet.
102+
- name: "OTEL_EXPORTER_OTLP_ENDPOINT"
103+
value: "https://elastic-apm.adeo.no"
104+
- name: "OTEL_METRICS_EXPORTER"
105+
value: "otlp"
106+
- name: "OTEL_LOGS_EXPORTER"
107+
value: "otlp"
108+
- name: "OTEL_RESOURCE_ATTRIBUTES"
109+
value: "service.name=navansatt-dev,service.version=navansatt-dev,deployment.environment=dev"
110+
- name: "OTEL_TRACES_EXPORTER"
111+
value: "otlp"
99112
vault:
100113
enabled: true
101114
paths:

0 commit comments

Comments
 (0)