|Index|Monitoring SUSE AI with OpenTelemetry and SUSE Observability|Monitoring OpenSearch
Applies to SUSE AI 1.0

5 Monitoring OpenSearch

OpenSearch is monitored using the OpenTelemetry Collector’s elasticsearch receiver. This configuration allows you to collect metrics such as disk usage, cluster health, and node performance.

5.1 Configuring the OpenTelemetry Collector

To enable OpenSearch monitoring, update the otel-values.yaml file with the following configurations.

  1. Update the collector image to use the contrib version, which includes the elasticsearch receiver.

    image:
      registry: docker.io
      repository: otel/opentelemetry-collector-contrib
      tag: 0.140.0
      pullPolicy: Always
  2. Add the elasticsearch receiver to the config.receivers section.

    config:
      receivers:
        elasticsearch:
          endpoint: "http://opensearch-cluster-master-headless.<OPENSEARCH_NAMESPACE>.svc.cluster.local:9200" 1
          # If you have basic auth enabled:
          username: "<USERNAME>"
          password: "<PASSWORD>"
          # If using self-signed certs or internal CAs:
          tls:
            insecure_skip_verify: true
          collection_interval: 10s
          # Optional: Enable detailed node metrics
          metrics:
            elasticsearch.node.fs.disk.total:
              enabled: true
            elasticsearch.node.fs.disk.available:
              enabled: true

    1

    Replace <OPENSEARCH_NAMESPACE> with the namespace where OpenSearch is installed.

  3. Add elasticsearch to the receivers list in the service.pipelines.metrics section.

    service:
      pipelines:
        metrics:
          receivers: [otlp, spanmetrics, prometheus, elasticsearch]
          processors: [memory_limiter, resource, batch]
          exporters: [debug, otlp]

5.2 Applying the configuration

After updating the otel-values.yaml file, apply the changes by running the Helm upgrade command.

> helm upgrade --install opentelemetry-collector \
  oci://dp.apps.rancher.io/charts/opentelemetry-collector \
  -n observability -f otel-values.yaml