Skip to main content
Version: 8.2405.x.x RR

Product analytics

Introduction

The product analytics report contains information about the usage of the nevis components, such as the number of patterns used in the nevisAdmin 4 projects, the used auth states in the running nevisAuth instances or the number of active users in nevisIDM.

The information is based on a group of metrics queried from a connected Prometheus instance.

Prerequisites

The generation of the report requires a Prometheus and an OpenTelemetry instance. For more information about the installation of these components see: Installation of Monitoring setup.

Change the Configuration

Helm

Extend the used values.yaml with the following values:

nevisAdmin4:
otel:
enabled: true
url: "<otelUrl>"
productAnalytics:
enabled: true
prometheus:
url: "<prometheuslUrl>"

RPM

If not using nevisAppliance, download opentelemetry-extensions-all-<version>.jar from the Nevis portal and save it as /opt/agent/opentelemetry-javaagent.jar

Replace the placeholders and place the following otel.properties file in /var/opt/nevisadmin4/conf

otel.service.name = nevisadmin4
otel.resource.attributes = service.version=8.2405,service.instance.id=nevisadmin4-<intance>
otel.exporter.otlp.protocol = http/protobuf
otel.exporter.otlp.traces.protocol = http/protobuf
otel.exporter.otlp.traces.endpoint = <tracesEndpoint>
otel.exporter.otlp.metrics.protocol = http/protobuf
otel.exporter.otlp.metrics.endpoint = <metricsEndpoint>
otel.exporter.otlp.metrics.temporality.preference = cumulative
otel.exporter.otlp.logs.protocol = http/protobuf
otel.exporter.otlp.logs.endpoint = <logsEndpoint>

Then extend the JAVA_OPTS located in /var/opt/nevisadmin4/conf/env.conf with

-javaagent:/opt/agent/opentelemetry-javaagent.jar -Dotel.javaagent.logging=application -Dotel.javaagent.configuration-file=/var/opt/nevisadmin4/conf/otel.properties -Dotel.instrumentation.jdbc.enabled=false

After that, configure the base url where the Prometheus instance is reachable in /var/opt/nevisadmin4/conf/nevisadmin4.yml. Username and password is required in case basic authentication is enabled for the Prometheus instance.

nevisadmin:
product-analytics:
prometheus:
url: https://prometheus.example.dev/
password: <password>
username: <username>

Adjust nevisAdmin 4 inventory

To use the default product analytics configuration, add the otel collector endpoints to the nevisAdmin 4 inventory variables.

An example setup can be seen below:

vars:
__otel:
metricsEndpoint: https://otel-otel-collector.observability:4318/v1/metrics
logsEndpoint: https://otel-otel-collector.observability:4318/v1/logs
tracesEndpoint: https://otel-otel-collector.observability:4318/v1/traces

Usage

About the usage of the product analytics see: Product Analytics.