# Opensearch Dashboard - Trace Analytics

**URL:** <https://forum.opensearch.org/t/opensearch-dashboard-trace-analytics/20810>\
**Category:** OpenSearch Dashboards\
**Created:** [August 13, 2024, 7:14pm UTC](https://forum.opensearch.org/t/opensearch-dashboard-trace-analytics/20810 "2024-08-13T19:14:45Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jaianand\_m](https://avatars.discourse-cdn.com/v4/letter/j/a5b964/32.png) [@jaianand\_m](https://forum.opensearch.org/u/jaianand_m)\
**Post date:** [August 13, 2024, 7:14pm UTC](https://forum.opensearch.org/t/opensearch-dashboard-trace-analytics/20810/1 "2024-08-13T19:14:45Z")

</div>

I have established a stack using Open Telemetry, Data Prepper, Opensearch, and Opensearch Dashboard. The application has been automatically instrumented to send traces to the Open Telemetry collector, and the data is then ingested into DataPrepper. From DataPrepper, the trace data is sent to the Opensearch index. I have created pipelines for Raw Traces and Service Map in Data Prepper. Although the indexes are created successfully, no traces are displayed on the Opensearch dashboard, and I am receiving the error “No data matches the selected filter. Clear the filter and/or increase the time range to see more results.”

Data prepper Pipe Line configuration

```
entry-pipeline:

```

delay: “100”  
source:  
otel\_trace\_source:  
port: 21890  
ssl: false  
buffer:  
bounded\_blocking:  
buffer\_size: 10240  
batch\_size: 160  
sink:  
- pipeline:  
name: “raw-trace-pipeline”  
- pipeline:  
name: “service-map-pipeline”

raw-trace-pipeline:  
source:  
pipeline:  
name: “entry-pipeline”  
buffer:  
bounded\_blocking:  
buffer\_size: 10240  
batch\_size: 160  
processor:  
- otel\_traces:  
- otel\_trace\_group:  
hosts: [“https://:9200”]  
insecure: true  
username: “admin”  
password: “XXXXXX”  
sink:  
- opensearch:  
hosts: [“https://:9200”]  
insecure: true  
username: “admin”  
password: “XXXXXX”  
index: “otel-v1-apm-span-%{yyyy.MM.dd}”  
- file:  
path: /tmp/otel\_trace\_data.log

service-map-pipeline:  
delay: “100”  
source:  
pipeline:  
name: “entry-pipeline”  
buffer:  
bounded\_blocking:  
buffer\_size: 10240  
batch\_size: 160  
processor:  
- service\_map:  
sink:  
- opensearch:  
hosts: [“https://:9200”]  
insecure: true  
username: “admin”  
password: “XXXXXX”  
index: “otel-v1-apm-service-map-%{yyyy.MM.dd}”  
- file:  
path: /tmp/otel\_map\_data.log

I have upload the trace data that is written to a file.  
Service Map data written to a file is below

{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“profile”,“hashId”:“MN5V7aCeGRSmGYDW6mDnbA==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“login”,“hashId”:“0/0toqDtUgKPOqBEHSGqCA==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“index”,“hashId”:“d/jKCuu8DdAlr8qNesohYg==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“logout”,“hashId”:“xKlDNdgmej6q8JgBlod0sA==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“rregister”,“hashId”:“MuPW8vaDgZYN0qkcj7MzmA==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“register”,“hashId”:“7O5gfql75GR+uNr8+ZKeaw==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“mmenu”,“hashId”:“FnU2niTmnZejA6Pp7W5NTQ==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“ccreate”,“hashId”:“FCDKpI4YBUFZ41rFagpL5Q==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“restuarant”,“hashId”:“KKPR7BELgmG3zl389+dPCw==”}  
{“serviceName”:“foodapp-nocode-instru”,“kind”:null,“destination”:null,“target”:null,“traceGroupName”:“rlogin”,“hashId”:“KaNpPe83IPpKCEAWJwzvpg==”}

 ![opensearch_dashboard_trace](https://us1.discourse-cdn.com/flex019/uploads/mauve_hedgehog/original/2X/7/7d292e65883a40b6d9584ff3792ce11768efff97.png)

---

<div class="post-metadata">

**Author:** ![gaobinlong](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/gaobinlong/32/5242_2.png) [@gaobinlong](https://forum.opensearch.org/u/gaobinlong)\
**Post date:** [August 14, 2024, 2:23am UTC](https://forum.opensearch.org/t/opensearch-dashboard-trace-analytics/20810/2 "2024-08-14T02:23:48Z")

</div>

You can check the index `otel-v1-apm-service-map-%{yyyy.MM.dd}` in the OpenSearch cluster, run the following query to see if there’re valid data in that index:

```auto
GET otel-v1-apm-service-map*/_search
{
  "size": 0, 
  "aggs": {
    "service_name": {
      "terms": {
        "field": "serviceName",
        "size": 500
      },
      "aggs": {
        "trace_group": {
          "terms": {
            "field": "traceGroupName",
            "size": 1000
          },
          "aggs": {
            "target_resource": {
              "terms": {
                "field": "target.resource",
                "size": 1000
              }
            }
          }
        }
      }
    }
  }
}

```

---

<div class="post-metadata">

**Author:** ![jaianand\_m](https://avatars.discourse-cdn.com/v4/letter/j/a5b964/32.png) [@jaianand\_m](https://forum.opensearch.org/u/jaianand_m)\
**Post date:** [August 14, 2024, 9:25am UTC](https://forum.opensearch.org/t/opensearch-dashboard-trace-analytics/20810/3 "2024-08-14T09:25:48Z")

</div>

> [@gaobinlong](#):
>
> ```auto
> GET otel-v1-apm-service-map*/_search
> {
> "size": 0, 
> "aggs": {
> "service_name": {
> "terms": {
> "field": "serviceName",
> "size": 500
> },
> "aggs": {
> "trace_group": {
> "terms": {
> "field": "traceGroupName",
> "size": 1000
> },
> "aggs": {
> "target_resource": {
> "terms": {
> "field": "target.resource",
> "size": 1000
> }
> }
> }
> }
> }
> }
> }
> }
> 
> ```

Output of the query

{“took”:3,“timed\_out”:false,“\_shards”:{“total”:2,“successful”:2,“skipped”:0,“failed”:0},“hits”:{“total”:{“value”:15,“relation”:“eq”},“max\_score”:null,“hits”:},“aggregations”:{“service\_name”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:[{“key”:“foodapp-nocode-instru”,“doc\_count”:13,“trace\_group”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:

[{“key”:“HTTP GET”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“ccreate”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“cupdate”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“index”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“login”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“logout”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“mmenu”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“profile”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“register”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“restuarant”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“rlogin”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“rprofile”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}},{“key”:“rregister”,“doc\_count”:1,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}}]}},{“key”:“dice-server”,“doc\_count”:2,“trace\_group”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:[{“key”:“roll”,“doc\_count”:2,“target\_resource”:{“doc\_count\_error\_upper\_bound”:0,“sum\_other\_doc\_count”:0,“buckets”:}}

---

<div class="post-metadata">

**Author:** ![gaobinlong](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/gaobinlong/32/5242_2.png) [@gaobinlong](https://forum.opensearch.org/u/gaobinlong)\
**Post date:** [August 15, 2024, 2:17am UTC](https://forum.opensearch.org/t/opensearch-dashboard-trace-analytics/20810/4 "2024-08-15T02:17:47Z")

</div>

The query results seem good, could you open the console of your browser to check the query results?

 ![image](https://us1.discourse-cdn.com/flex019/uploads/mauve_hedgehog/original/2X/d/dea2db09bda313221a7300abc18407c032563236.png)

---

<div class="post-metadata">

**Author:** ![jaianand\_m](https://avatars.discourse-cdn.com/v4/letter/j/a5b964/32.png) [@jaianand\_m](https://forum.opensearch.org/u/jaianand_m)\
**Post date:** [August 20, 2024, 5:35pm UTC](https://forum.opensearch.org/t/opensearch-dashboard-trace-analytics/20810/5 "2024-08-20T17:35:22Z")

</div>

The issue is fixed after updating the pipeline in the Dataprepper
