Visualize and explore your logs, traces and metrics data in OpenSearch Dashboards https://opensearch.org/docs/latest/observability-plugin/index/
  • TypeScript 95.5%
  • JavaScript 3.7%
  • SCSS 0.5%
  • ANTLR 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ashish Agrawal 1626a39fa1
[SLO] Skip per-range latency drafts with more bucket bounds than an SLI can carry (#2954)
* fix(slo): skip per-range drafts with more buckets than an SLI can carry

The SLO route caps bucketBounds at 64, but Suggest copied a per-range
histogram's full bound list into the draft, and the validator didn't check
the length either. A histogram with more than 64 finite buckets got a draft
that showed as creatable and was then rejected on create.

- One shared MAX_BUCKET_BOUNDS (64) used by the route schema, the
  validator and Suggest.
- Suggest skips such per-range drafts and lists them with a reason, the
  same way it handles thresholds the buckets can't measure.
- The validator rejects more bounds than the limit, so the wizard reports
  it before the request.
- slo_state.test.ts: the expected color/label maps now include
  source_idle and sli_uncomputable (they're Record<SloHealthState, ...>).

Signed-off-by: Ashish Agrawal <ashisagr@amazon.com>

* fix(slo): say "bucket bounds" in the Suggest skip reason

shape.bounds holds only the finite le bounds, so 65 bounds is 66 buckets
(+Inf is one more). Count them as bounds, like the validator's message for
the same limit, and rename the i18n key to tooManyBucketBounds to match.

Signed-off-by: Ashish Agrawal <ashisagr@amazon.com>

---------

Signed-off-by: Ashish Agrawal <ashisagr@amazon.com>
2026-11-05 10:52:26 -08:00
.cypress feat(alerting): copy Explore query into metrics rule flyout + real preview (#2862) 2026-09-04 11:54:38 -07:00
.github Fix code-coverage action (#2888) 2026-09-14 11:19:27 -07:00
.husky Adding husky .only check hook to test files (#2400) 2025-04-08 09:39:34 -07:00
common [SLO] Skip per-range latency drafts with more bucket bounds than an SLI can carry (#2954) 2026-11-05 10:52:26 -08:00
docs/integrations docs: fix broken doc links after opensearch.org → docs.opensearch.org migration (#2886) 2026-09-16 12:52:34 -07:00
public [SLO] Skip per-range latency drafts with more bucket bounds than an SLI can carry (#2954) 2026-11-05 10:52:26 -08:00
release-notes [AUTO] Add release notes for 3.9.0 (#2896) 2026-09-16 11:01:41 -07:00
server [SLO] Skip per-range latency drafts with more bucket bounds than an SLI can carry (#2954) 2026-11-05 10:52:26 -08:00
test Migrate Jest test suite to Jest 30 + jsdom 26 (#2788) 2026-07-17 16:48:51 -07:00
.env aws WAF integration (#788) 2023-08-04 10:49:14 -07:00
.gitignore [Refactoring] Use JDBC response format for visualizations (#324) 2023-03-15 09:37:54 -07:00
.lycheeignore feat(alerting): redesign Prometheus rule creation with Builder/Code toggle (#2796) 2026-08-04 14:19:07 -07:00
.whitesource Enable Mend remediate (#2713) 2026-06-04 13:47:23 -07:00
ADMINS.md Clear ADMINS.md. (#2363) 2025-03-05 09:42:46 -08:00
babel.config.js fix babel big int (#2802) 2026-08-04 12:44:59 -07:00
CODE_OF_CONDUCT.md change github actions file and add necessary files 2022-12-22 09:52:47 -05:00
codecov.yml Add a codecov directory fix to the config (#1280) 2023-12-04 10:55:19 -08:00
CONTRIBUTING.md change github actions file and add necessary files 2022-12-22 09:52:47 -05:00
cypress.config.js APM Cypress Testing + Prometheus (#2629) 2026-04-07 10:34:11 -07:00
DEVELOPER_GUIDE.md add docker-compose support (#575) 2023-06-28 12:23:32 -07:00
docker-compose.yml fix docker-compose.yml dashboard issue with OPENSEARCH_HOSTS (#783) 2023-07-31 16:53:50 -07:00
Dockerfile add docker-compose support (#575) 2023-06-28 12:23:32 -07:00
eslint.config.js update ling to match OSD (#2785) 2026-07-15 11:52:02 -07:00
LICENSE change github actions file and add necessary files 2022-12-22 09:52:47 -05:00
MAINTAINERS.md Add Riya Saxena (riysaxen-amzn) as a maintainer (#2857) 2026-09-02 12:15:56 -07:00
NOTICE change github actions file and add necessary files 2022-12-22 09:52:47 -05:00
opensearch-dashboards-plugin-helpers.dev.json Move observability frontend to a sub directory (#142) 2021-10-19 13:01:39 -07:00
opensearch_dashboards.json Increment version to 3.10.0.0 (#2917) 2026-10-15 13:21:10 -07:00
package.json Increment version to 3.10.0.0 (#2917) 2026-10-15 13:21:10 -07:00
README.md docs: fix broken doc links after opensearch.org → docs.opensearch.org migration (#2886) 2026-09-16 12:52:34 -07:00
RELEASING.md change github actions file and add necessary files 2022-12-22 09:52:47 -05:00
SECURITY.md Updating security reachout email (#1831) 2024-05-29 10:27:53 -04:00
tsconfig.json fix: Migrate plugin to TypeScript 6.0.2 compatibility (#2652) 2026-04-24 15:35:21 -07:00
Using-Docker.md docs: fix broken doc links after opensearch.org → docs.opensearch.org migration (#2886) 2026-09-16 12:52:34 -07:00
yarn.lock [CVE] Bump dompurify to 3.4.17 (#2938) 2026-11-04 11:14:55 -08:00

Observability

Observability is collection of plugins and applications that let you visualize data-driven events by using Piped Processing Language to explore, discover, and query data stored in OpenSearch.

Code Summary

Dashboards-Observability

Test and build Observability Dashboards CI
Link Checker Link Checker
Code coverage codecov
Distribution build tests cypress tests cypress code

Issues

good first issues open
features open
enhancements open
bugs open
untriaged open
nolabel open

Plugin Components

Trace Analytics

Trace Analytics page provides instant on dashboards in OpenSearch Dashboards for users to quickly analyze their logs. The plugin uses aggregated results from two indices, otel-v1-apm-span-* and otel-v1-apm-service-map* created by the otel-trace-raw-processor and service-map-processor, and renders three main views:

  1. Dashboard: an overview of the trace groups and three charts: error rate, throughput, service map.

  2. Traces: a table of top-level traces with unique trace id's, where users can click on any trace to see its end-to-end performance metrics, service performance metrics, and a span latency metrics in a Gantt chart.

  3. Services: a table of the services, where users can click on a service to see its performance metrics and related services.

Additionally the fields can be sorted and filtered.

Event Analytics

Event Analytics allows user to monitor, correlate, analyze and visualize machine generated data through Piped Processing Language. It also enables the user to turn data-driven events into visualizations and save frequently used ones for quick access.

Metrics Analytics

Metrics Analytics allows ingesting and visualize metric data from log data aggregated within OpenSearch, allowing you to analyze and correlate data across logs, traces, and metrics. Previously, you could ingest and visualize only logs and traces from your monitored environments. Using Metrics Analytics one can observe your digital assets with more granularity, gain deeper insight into the health of your infrastructure, and better inform your root cause analysis.

Operational Panels

Operational panels provides the users to create and view different visualizations on ingested observability data, using Piped Processing Language queries. Use PPL 'where clauses' and datetime timespans to filter all visualizations in the panel.

Notebooks

Dashboards offer a solution for a few selected use cases, and are great tools if you’re focused on monitoring a known set of metrics over time. Notebooks enables contextual use of data with detailed explanations by allowing a user to combine saved visualizations, text, graphs and decorate data with other reference data sources.

Integrations

Integration is a new type of logical component that allows high level composition of multiple Dashboards / Applications / Queries and more. Integrations can be used to bring together all the metrics and logs from the infrastructure and gain insight into the unified system as a whole.


Integration usually consist of the following assets:

  • dashboards & visualization
  • schema configuration (mapping & templates)
  • data on-boarding (sample data)

See Integration Documentation

See Integration Tutorial

Please See additional information documentation

Integration Spec RFC

Observability Correlation

In order to be able to correlate information across different signal (represented in different indices) we introduced the notion of correlation into the schema. This information is represented explicitly in both the declarative schema file and the physical mapping file. Using this metadata information will enable the knowledge to be projected and allow for analytic engine to produce a join query that will take advantage of these relationships.

The Observability dashboard vision of telemetry Data Correlation


WIKI Home

Please see our WIKI page for additional information WIKI to learn more about our features.

Documentation

Please see our technical documentation to learn more about its features.

Contributing

Getting Help

If you find a bug, or have a feature request, please don't hesitate to open an issue in this repository.

For more information, see project website and documentation. If you need help and are unsure where to open an issue, try the Forum.

Code of Conduct

This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ, or contact opensource-codeofconduct@amazon.com with any additional questions or comments.

Security

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our vulnerability reporting page. Please do not create a public GitHub issue.

License

This project is licensed under the Apache v2.0 License.

Copyright OpenSearch Contributors. See NOTICE for details.

Screenshots