Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the integration page to reflect new integration catalog features #7324

Merged
merged 124 commits into from
Jun 19, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
93516cf
update the integration page to reflect the integration catalog and ad…
YANG-DB Jun 6, 2024
2615a67
update the integration documentation
YANG-DB Jun 7, 2024
49c42c0
Update schema section
Swiddis Jun 10, 2024
f311e7d
Merge pull request #1 from Swiddis/schema-rewrite
YANG-DB Jun 10, 2024
cfcec50
Merge pull request #2 from opensearch-project/main
YANG-DB Jun 10, 2024
1cfd6ff
Merge branch 'main' into integration-catalog-update
YANG-DB Jun 11, 2024
272d5ee
Merge branch 'main' into integration-catalog-update
YANG-DB Jun 11, 2024
c78a878
update the metrics analytics documentation
YANG-DB Jun 11, 2024
569da98
Merge remote-tracking branch 'origin/integration-catalog-update' into…
YANG-DB Jun 11, 2024
8879cd1
update the trace analytics documentation
YANG-DB Jun 11, 2024
6ad6c33
Merge branch 'main' into integration-catalog-update
YANG-DB Jun 11, 2024
569fc94
Merge branch 'main' into integration-catalog-update
vagimeli Jun 17, 2024
785ad27
Update _integrations/index.md
vagimeli Jun 17, 2024
b14f430
Update _integrations/index.md
vagimeli Jun 17, 2024
0f1edd9
Update _integrations/index.md
vagimeli Jun 17, 2024
fe96327
Update _integrations/index.md
vagimeli Jun 17, 2024
454eaf6
Update _integrations/index.md
vagimeli Jun 17, 2024
d6b7578
Update _integrations/index.md
vagimeli Jun 17, 2024
063300e
Update _integrations/index.md
vagimeli Jun 17, 2024
da691ae
Update _integrations/index.md
vagimeli Jun 17, 2024
ad584de
Update _integrations/index.md
vagimeli Jun 17, 2024
546df12
Update _integrations/index.md
vagimeli Jun 17, 2024
08a6f65
Update _integrations/index.md
vagimeli Jun 17, 2024
52d44a5
Update _integrations/index.md
vagimeli Jun 17, 2024
a02b9ce
Update _integrations/index.md
vagimeli Jun 17, 2024
299e34e
Update _integrations/index.md
vagimeli Jun 17, 2024
217d3a9
Update _integrations/index.md
vagimeli Jun 17, 2024
8857415
Update _integrations/index.md
vagimeli Jun 17, 2024
7f867d5
Update _integrations/index.md
vagimeli Jun 17, 2024
ad8da8c
Update _integrations/index.md
vagimeli Jun 17, 2024
7ac1d84
Update _integrations/index.md
vagimeli Jun 17, 2024
fb62391
Update _integrations/index.md
vagimeli Jun 17, 2024
da4a7ba
Update _integrations/index.md
vagimeli Jun 17, 2024
dd09883
Update _integrations/index.md
vagimeli Jun 17, 2024
3487063
Update _integrations/index.md
vagimeli Jun 17, 2024
00963f3
Update _integrations/index.md
vagimeli Jun 17, 2024
6be61b4
Update _integrations/index.md
vagimeli Jun 17, 2024
bc51f08
Update _integrations/index.md
vagimeli Jun 17, 2024
0a84371
Update _integrations/index.md
vagimeli Jun 17, 2024
0968065
Update _integrations/index.md
vagimeli Jun 17, 2024
aec912b
Update _integrations/index.md
vagimeli Jun 17, 2024
7e15223
Update _integrations/index.md
vagimeli Jun 17, 2024
91d7322
Update _integrations/index.md
vagimeli Jun 17, 2024
2ccbb68
Update _integrations/index.md
vagimeli Jun 17, 2024
04f416b
Update _integrations/index.md
vagimeli Jun 17, 2024
2d5340e
Update _integrations/index.md
vagimeli Jun 17, 2024
bfcd535
Update _integrations/index.md
vagimeli Jun 17, 2024
fa3239f
Update _integrations/index.md
vagimeli Jun 17, 2024
b3d2e4f
Update _integrations/index.md
vagimeli Jun 17, 2024
d040f9e
Update _integrations/index.md
vagimeli Jun 17, 2024
d90a7c7
Update _integrations/index.md
vagimeli Jun 17, 2024
00638a6
Update _integrations/index.md
vagimeli Jun 17, 2024
11de5f6
Update _integrations/index.md
vagimeli Jun 17, 2024
d8dab6b
Update _integrations/index.md
vagimeli Jun 17, 2024
7852e3a
Update _integrations/index.md
vagimeli Jun 17, 2024
1d89a46
Update _integrations/index.md
vagimeli Jun 17, 2024
65e60c0
Update _integrations/index.md
vagimeli Jun 17, 2024
846eac9
Update _integrations/index.md
vagimeli Jun 17, 2024
aa6b6a3
Update _integrations/index.md
vagimeli Jun 17, 2024
22dac2b
Update _integrations/index.md
vagimeli Jun 17, 2024
e69848c
Update _integrations/index.md
vagimeli Jun 17, 2024
ad9e2dd
Update _integrations/index.md
vagimeli Jun 17, 2024
adb1d47
Update _integrations/index.md
vagimeli Jun 17, 2024
d96441c
Update _integrations/index.md
vagimeli Jun 17, 2024
37a6034
Update _integrations/index.md
vagimeli Jun 17, 2024
47e652f
Update _integrations/index.md
vagimeli Jun 17, 2024
c813e75
Update _integrations/index.md
vagimeli Jun 17, 2024
29d5d37
Update _integrations/index.md
vagimeli Jun 17, 2024
f765189
Update _integrations/index.md
vagimeli Jun 17, 2024
e29380e
Update _integrations/index.md
vagimeli Jun 17, 2024
5fb500e
Update _integrations/index.md
vagimeli Jun 17, 2024
4ad8159
Update _integrations/index.md
vagimeli Jun 17, 2024
48ea732
Update index.md
vagimeli Jun 18, 2024
1645420
Merge branch 'main' into integration-catalog-update
vagimeli Jun 18, 2024
6b11b59
Update _integrations/index.md
vagimeli Jun 18, 2024
fda846d
Update _integrations/index.md
vagimeli Jun 18, 2024
4fae073
Update _integrations/index.md
vagimeli Jun 18, 2024
784b476
Update _integrations/index.md
vagimeli Jun 18, 2024
91b4106
Update _integrations/index.md
vagimeli Jun 18, 2024
9a7bed6
Update _integrations/index.md
vagimeli Jun 18, 2024
e496e9d
Update _integrations/index.md
vagimeli Jun 18, 2024
f602b5b
Update _integrations/index.md
vagimeli Jun 18, 2024
9871ac7
Update _integrations/index.md
vagimeli Jun 18, 2024
5989e6f
Update _integrations/index.md
vagimeli Jun 18, 2024
0d67707
Update _integrations/index.md
vagimeli Jun 18, 2024
39c6a4b
Update _integrations/index.md
vagimeli Jun 18, 2024
d10a9c2
Update _integrations/index.md
vagimeli Jun 18, 2024
c321bf3
Update _integrations/index.md
vagimeli Jun 18, 2024
4116cc5
Update _integrations/index.md
vagimeli Jun 18, 2024
92bea17
Update _integrations/index.md
vagimeli Jun 18, 2024
1869cb2
Update _integrations/index.md
vagimeli Jun 18, 2024
0d4ae92
Update _integrations/index.md
vagimeli Jun 18, 2024
ab91f66
Update _integrations/index.md
vagimeli Jun 18, 2024
8bbabbe
Update _integrations/index.md
vagimeli Jun 18, 2024
f745177
Update _integrations/index.md
vagimeli Jun 18, 2024
a2f4963
Update _integrations/index.md
vagimeli Jun 18, 2024
0ec77b8
Update _integrations/index.md
vagimeli Jun 18, 2024
cd6ae7a
Update _integrations/index.md
vagimeli Jun 18, 2024
9882b16
Update _integrations/index.md
vagimeli Jun 18, 2024
6559ff0
Update _integrations/index.md
vagimeli Jun 18, 2024
e36429a
Merge branch 'main' into integration-catalog-update
vagimeli Jun 18, 2024
e428009
Update index.md
vagimeli Jun 18, 2024
d013595
Update _integrations/index.md
vagimeli Jun 18, 2024
9808726
Update index.md
vagimeli Jun 18, 2024
f96293e
Update index.md
vagimeli Jun 18, 2024
b06545a
Update index.md
vagimeli Jun 18, 2024
210c2df
Update _integrations/index.md
vagimeli Jun 18, 2024
83f04fc
Update _integrations/index.md
vagimeli Jun 18, 2024
be2b6cb
Update _integrations/index.md
vagimeli Jun 18, 2024
64cb7ac
Update _integrations/index.md
vagimeli Jun 19, 2024
58eee30
Update _integrations/index.md
vagimeli Jun 19, 2024
86879ef
Update index.md
vagimeli Jun 19, 2024
7f84cc0
Update index.md
vagimeli Jun 19, 2024
594ddd2
Rewrite tutorials and update or delete graphics
vagimeli Jun 19, 2024
d82658c
Merge branch 'main' into integration-catalog-update
vagimeli Jun 19, 2024
523074b
Update _integrations/index.md
YANG-DB Jun 19, 2024
e7e7af8
Update _integrations/index.md
YANG-DB Jun 19, 2024
e457b27
Update _integrations/index.md
vagimeli Jun 19, 2024
eff1acd
Update _integrations/index.md
vagimeli Jun 19, 2024
736143c
Update _integrations/index.md
vagimeli Jun 19, 2024
1d08fa5
Update _integrations/index.md
vagimeli Jun 19, 2024
723a285
Update _integrations/index.md
vagimeli Jun 19, 2024
7d8c583
Update _integrations/index.md
vagimeli Jun 19, 2024
55ffab8
Merge branch 'main' into integration-catalog-update
vagimeli Jun 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 94 additions & 29 deletions _integrations/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,61 +8,126 @@
redirect_from:
- /integrations/index/
---

# OpenSearch Integrations
Introduced 2.9
{: .label .label-purple }

OpenSearch Integrations is a straightforward starting point that OpenSearch and OpenSearch Dashboards users can use to visualize and understand log and metric data for a particular resource, such as NGINX. An _integration_ contains a bundle of metadata, data mappings, and visualizations that make it simple to monitor data from the Integrations resource.
OpenSearch Integrations is a straightforward starting point that OpenSearch and OpenSearch Dashboards users can use to visualize and understand log and metric data for a particular resource, such as NGINX or Amazon VPC flow logs. An _integration_ contains a bundle of metadata, data mappings, and visualizations that make it simple to monitor data from the Integrations resource.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naming this "OpenSearch Integrations", and especially using "Integrations" on its own, is ambiguous and will create capitalization and reference (are we referring to the feature or to the generic concept of integrations?) issues in this and future documentation.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@natebower Integrations is the proper name. Do you have suggestions on how I use the proper name? I'm thinking I should bold the instances where we're referring to the application. Generic usage should be lowercase, unless of course it starts a sentence. I'll revise this doc.
Screenshot 2024-06-18 at 4 28 51 PM


The OpenSearch Project seeks your feedback on this feature. Let us know on the [OpenSearch forum](https://forum.opensearch.org/) how OpenSearch Integrations works for you or how it can be improved.
The OpenSearch Project seeks your feedback on this feature. Let us know on the [OpenSearch forum](https://forum.opensearch.org/) how OpenSearch Integrations works for you or how it can be improved.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
{: .label-yellow}

## Setting up OpenSearch Integrations
## The Concept

Check failure on line 20 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.HeadingCapitalization] 'The Concept' is a heading and should be in sentence case. Raw Output: {"message": "[OpenSearch.HeadingCapitalization] 'The Concept' is a heading and should be in sentence case.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 20, "column": 4}}}, "severity": "ERROR"}
The integration initiative was envisioned as a simple, elegant and powerful way to allow users to view, query and project their data.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
Prior to Introduction of integrations the process of which users could configure their dashboards, was to undergo the following process every time:
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

For the latest developer information, including sample code, articles, tutorials, and an API reference, see the following resources:
* Explore their index content and extract the structure - mapping file
* Assemble the index pattern based on this mapping
* Create visualization for different parts of the mapping fields
* Compose the entire dashboard from these visualizations
* Save the dashboard and allow export for other users to utilize (expecting the mapping to be the same)
Copy link
Contributor

@Swiddis Swiddis Jun 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure these steps make sense as written -- ingestion is left out, and many users create visualizations within the dashboard directly instead of doing it separately. We still expect a matching mapping in the new system. In practice I think it's closer to

  1. Create a mapping on an index pattern (or rely on auto-mapping)
  2. Ingest data
  3. Create dashboards on that data
  4. Optionally share dashboards (expecting a consistent format based on whatever version of whatever input pipeline is being used)


This repeated bootstrap required for every single data-type is manual (error-prone) and consuming process, it also requires a degree of knowledge both of the data and of using OpenSearch API.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

The **Integration framework** aims for solving these manual steps simplifying and automating the process while reducing the domain learning curve to the minimal
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we bold Integration framework throughout the doc? I'm not sure we're using it as a technical term, I would replace almost all occurrences of "The Integration framework" with "[OpenSearch] Integrations".

Integrations aims to simplify this process, automating several of these steps and enriching the result with domain expertise.


### What Do We support

Check failure on line 34 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.HeadingCapitalization] 'What Do We support' is a heading and should be in sentence case. Raw Output: {"message": "[OpenSearch.HeadingCapitalization] 'What Do We support' is a heading and should be in sentence case.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 34, "column": 5}}}, "severity": "ERROR"}
At OpenSearch we are supporting many different type of use cases for a large variety of users:
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
- Search related domain use cases - E-commerce products search for example
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
- Observability monitoring and provisioning - Trace / Metrics analytics

Check failure on line 37 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.SpacingSlash] When using '/' between words, do not insert space on either side of it. Raw Output: {"message": "[OpenSearch.SpacingSlash] When using '/' between words, do not insert space on either side of it.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 37, "column": 47}}}, "severity": "ERROR"}
- Security Monitoring and Threats Analysis
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

All these use cases are accompanied by a very strong and matured community that has contributed many resources and Knowledge to these domain. The **Integration framework** is strongly aligned with these schemas and allows out of the box data mapping that corresponds to these domains.
Copy link
Contributor

@Swiddis Swiddis Jun 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Out of the box" we have observability today (and security WIP), the other domains are still open for community extension

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OCSF schema support is only a few days away...

vagimeli marked this conversation as resolved.
Show resolved Hide resolved

- [Integrations repository](https://github.com/opensearch-project/observability/tree/e18cf354fd7720a6d5df6a6de5d53e51a9d43127/integrations) on GitHub
- [Integration Creation Guide](https://github.com/opensearch-project/dashboards-observability/wiki/Integration-Creation-Guide)
- [Integration Documentation Reference](https://github.com/opensearch-project/dashboards-observability/wiki/Integration-Documentation-Reference)
- [Observability plugin for OpenSearch Dashboards](https://github.com/opensearch-project/dashboards-observability/wiki)

## Integrations schema
## The Schema

Check failure on line 42 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.HeadingCapitalization] 'The Schema' is a heading and should be in sentence case. Raw Output: {"message": "[OpenSearch.HeadingCapitalization] 'The Schema' is a heading and should be in sentence case.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 42, "column": 4}}}, "severity": "ERROR"}
One important concept of all integrations are the actual domain schema of the data signal collected for events visualized by the integration (security / observability).

Check failure on line 43 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.SpacingSlash] When using '/' between words, do not insert space on either side of it. Raw Output: {"message": "[OpenSearch.SpacingSlash] When using '/' between words, do not insert space on either side of it.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 43, "column": 143}}}, "severity": "ERROR"}

The OpenSearch Integrations schema outlines how to capture, analyze, and visualize data. It includes the selection and configuration of monitoring tools, data collection methods, data storage and retention strategies, and visualization and alerting mechanisms. It follows the [OpenTelemetry Protocol convention](https://github.com/open-telemetry), with OpenSearch [Simple Schema for Observability](https://opensearch.org/docs/latest/observing-your-data/ssfo/) handling the translation from the OpenTelemetry (OTel) schema to the physical index mapping templates.
The [Observability OpenTelemetry](https://opentelemetry.io/) is a community managed observability protocol that is constantly evolving the monitoring and tracing agenda.
The [OTEL protocol](https://opentelemetry.io/docs/specs/otel/) which is a key concept of the OpenTelemetry products allows the consolidation and unification of many types of observed data signals.

Check failure on line 46 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'OTel' instead of 'OTEL'. Raw Output: {"message": "[Vale.Terms] Use 'OTel' instead of 'OTEL'.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 46, "column": 6}}}, "severity": "ERROR"}

Find detailed information about the schema, including schema examples, in the [OpenSearch Observability READ.me file](https://github.com/opensearch-project/opensearch-catalog/blob/main/docs/schema/observability/README.md) and on the [OpenSearch Observability wiki](https://github.com/opensearch-project/dashboards-observability/wiki/OpenSearch-Observability--Home#observability-schema).
At OpenSearch we adopted these protocol and developed the [Simple Schema For Observability](https://github.com/opensearch-project/opensearch-catalog/tree/main/docs/schema/observability) to help manifest these concepts into a concrete index mapping catalog.

Check failure on line 48 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Simple Schema for Observability' instead of 'Simple Schema For Observability'. Raw Output: {"message": "[Vale.Terms] Use 'Simple Schema for Observability' instead of 'Simple Schema For Observability'.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 48, "column": 60}}}, "severity": "ERROR"}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this section could do with more elaboration on why selecting a schema is significant and why we chose to unify integrations around a shared schema. This idea isn't common to many other integration products, so users may be coming in cold on this.

Maybe start from domains and explain how the schema helps users understand their domains. For example: what's a specific concept in OTEL that you would not typically have in a generic logging solution, that helps to solve real observability problems? How?


## Get started
Using the well-defined Observability schema structure simplified the assumptions on the fields names using [semantics conventions](https://opentelemetry.io/docs/concepts/semantic-conventions/).
It allows us to build a common dashboard that reflects the behavior and provisions the different aspect of the observed resource.

Using the OpenSearch Dashboards interface, you can connect your data, applications, and processes so that you can centrally manage the services you use. All integrations are available in a single view, and OpenSearch Dashboards guides you there from the home page and main menu.
#### Data Ingestion for Integrations

Check failure on line 53 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.HeadingCapitalization] 'Data Ingestion for Integrations' is a heading and should be in sentence case. Raw Output: {"message": "[OpenSearch.HeadingCapitalization] 'Data Ingestion for Integrations' is a heading and should be in sentence case.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 53, "column": 6}}}, "severity": "ERROR"}
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

Learn how to do the following using the OpenSearch Dashboards interface:
Integrations and its dashboards depend on data ingested into OpenSearch which corresponds with the supported schema, such data pipeline that are compatible:
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

- Access integrations
- View integrations
- Add integrations
- [OpenSearch Data-Prepper](https://github.com/opensearch-project/data-prepper)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
- [OTEL collector](https://github.com/open-telemetry/opentelemetry-collector)

Check failure on line 58 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'OTel' instead of 'OTEL'. Raw Output: {"message": "[Vale.Terms] Use 'OTel' instead of 'OTEL'.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 58, "column": 4}}}, "severity": "ERROR"}
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
- [Fluent-Bit](https://docs.fluentbit.io/manual/pipeline/outputs/opensearch)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

The following image gives you a snapshot of the Integrations interface:
Each one of these pipelines support the OTEL schema (or directly using the simple schema ) so that they index the signal documents into the [correct index](https://github.com/opensearch-project/opensearch-catalog/blob/main/docs/schema/observability/Naming-convention.md) which represents the Observed resource signals.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

![Get started with Integrations demo]({{site.url}}{{site.baseurl}}/images/integrations/nginx-integration.gif)
#### Ingestion structure
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

### Access integrations
Each integration contains the following metadata and assets:

To access integrations, open OpenSearch Dashboards and select **Integrations** from the **Management** menu. The interface displays installed and available integrations.
* Name & description

Check warning on line 67 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.Ampersand] Don't use an ampersand in place of 'and' in documentation. Raw Output: {"message": "[OpenSearch.Ampersand] Don't use an ampersand in place of 'and' in documentation.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 67, "column": 6}}}, "severity": "WARNING"}
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
* Source url & License

Check warning on line 68 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.Ampersand] Don't use an ampersand in place of 'and' in documentation. Raw Output: {"message": "[OpenSearch.Ampersand] Don't use an ampersand in place of 'and' in documentation.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 68, "column": 12}}}, "severity": "WARNING"}
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
* Schema spec (mapping / components mapping)
* Sample data (for try-out experience)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
* Assets (Dashboards, Index-Patterns , Queries, Alerts )
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

## View integrations
---
## Using Integrations
Integrations can be installed directly from the default catalog which is deployed in every OpenSearch release. In addition, integrations can be manually loaded using the standard Dashboard Management console and updated to reflect the most up-to-date version or new integrations releases.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might be wrong, but do you think we need a link for the releases in catalog repo?

https://github.com/opensearch-project/opensearch-catalog/blob/main/docs/integrations/Release.md

vagimeli marked this conversation as resolved.
Show resolved Hide resolved

To view an integration, view the dashboard associated with the integration. If the integration doesn't have an associated dashboard, select the desired integration listed under the **Installed** window. View the integration details, such as assets and fields.
## Installing An Integration
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

## Add integrations
If you have not installed any integrations, you'll be prompted to install them from the Integrations interface. Supported integrations are listed in the **Available** window and present the default Integration release catalog.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
![]({{site.url}}{{site.baseurl}}/images/integrations/empty-installed-integrations.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we ship with a default catalog, this state will never be visible

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the integrations are not "installed" by default but rather the integration template are - we need to agree on the terminology here...

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This image should be referenced in the preceding text.


If you have not installed any integrations, you'll be prompted to install them from the Integrations interface. Supported integrations are listed in the **Available** window.
To add an integration, select the desired prepackaged assets. Currently, OpenSearch Integrations has two flows: Add or Try it. The following example uses the "Try it" flow:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should go through a real setup example instead of the sample data flow, since "Try it" is one click. It's more writing but it will pay off to show real usage. We can maybe use the otel-demo repo?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree but it will to too long here - probably best to create a separate page for this purpose

Copy link
Contributor

@vagimeli vagimeli Jun 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, you can add an expandable setup example by enclosing it in the details block. This helps avoid the too-long issue.


<details markdown="block">
  <summary>
    Demo
  </summary>
  {: .text-delta}
write the demo here
</details>

vagimeli marked this conversation as resolved.
Show resolved Hide resolved
![integrations-observability-catalog.png](/images/integrations/integrations-observability-catalog.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@YANG-DB This image differs from what I see in the nightly playground. Please let me know if I should update this image.

Screenshot 2024-06-18 at 6 13 45 PM

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

keep the image - its up to date


To add an integration, select the desired prepackaged assets. Currently, OpenSearch Integrations has two flows: Add or Try it. The following example uses the Try it flow:
Integration **"Available"** dialog also allows filtering the list of integrations using the filter `Categories` drop down:
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Integration **"Available"** dialog also allows filtering the list of integrations using the filter `Categories` drop down:
The **Available** dialog window allows filtering the list of integrations using the **Categories** dropdown menu, as shown in the following image:

![cloud-integrations-filter.png]({{site.url}}{{site.baseurl}}/images/integrations/cloud-integrations-filter.png)

1. On the **Integrations** page, select **NginX Dashboard**.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
![]({{site.url}}{{site.baseurl}}/images/integrations/nginx-integration.png)

2. Select the **Try it** button. _The Try it flow automatically creates a sample index template, adds sample data to the template, and then creates the integration based on that data._
3. View the asset list and select a dashboard asset.

4. View the asset list and select a dashboard asset.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
![]({{site.url}}{{site.baseurl}}/images/integrations/nginx-installed-integration-assets.png)

4. Preview the data visualizations and sample data details.
![]({{site.url}}{{site.baseurl}}/images/integrations/nginx-integration-dashboard.png)

This sample showed how the user can navigate and explore the existing default Integration release catalog that are bundled with OpenSearch release and select the appropriate resource that are part of its system.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

### Loading a new integration using the Dashboard Management console :
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

To load a new Integration which was not deployed as part of the OpenSearch release, you need to download a new integration from the [catalog repository](https://github.com/opensearch-project/opensearch-catalog/blob/main/docs/integrations/Release.md) and navigate to the _DashboardManagement_ and import the new integration.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

1) Download a new integration artifact (see the [catalog page](https://github.com/opensearch-project/opensearch-catalog/blob/main/docs/integrations/Release.md))
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
![]({{site.url}}{{site.baseurl}}/images/integrations/integration-catalog-release-page.png)

2) Go to the DashboardManagement -> savedObjects
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
![]({{site.url}}{{site.baseurl}}/images/integrations/import-saved-objects.png)

3) Once there select import to load the recently downloaded integration artifact ( a file with `*.ndjson` suffix)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
![]({{site.url}}{{site.baseurl}}/images/integrations/integration-import-file.png)

4) Select and open the loaded integration template
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
![]({{site.url}}{{site.baseurl}}/images/integrations/select-uploaded-integration.png)

This sample showed how a user can download a new release or updated integration version from the catalog page and load it to OpenSearch available integration to install.
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

***
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

## Additional information
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

For the latest developer information, including sample code, articles, tutorials, and an API reference, see the following resources:
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

- [Integrations repository](https://github.com/opensearch-project/opensearch-catalog)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
- [Integration Documentation Reference](https://github.com/opensearch-project/opensearch-catalog/tree/main/docs/integrations)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
- [Integration Catalog Page](https://htmlpreview.github.io/?https://github.com/opensearch-project/opensearch-catalog/blob/main/integrations/observability/catalog.html)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
- [Integration Release Page](https://github.com/opensearch-project/opensearch-catalog/blob/main/docs/integrations/Release.md)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
- [Integration Observability Catalog](https://github.com/opensearch-project/opensearch-catalog/tree/main/docs/schema/observability)
vagimeli marked this conversation as resolved.
Show resolved Hide resolved


### Community
vagimeli marked this conversation as resolved.
Show resolved Hide resolved
Please feel free to [participate and contribute](https://github.com/opensearch-project/dashboards-observability/issues/new?assignees=&labels=integration%2C+untriaged&projects=&template=integration_request.md&title=%5BIntegration%5D) so that the next integration will help your organization reach productivity faster and easier .

Check warning on line 133 in _integrations/index.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.Please] Using 'Please' is unnecessary. Remove. Raw Output: {"message": "[OpenSearch.Please] Using 'Please' is unnecessary. Remove.", "location": {"path": "_integrations/index.md", "range": {"start": {"line": 133, "column": 1}}}, "severity": "WARNING"}
vagimeli marked this conversation as resolved.
Show resolved Hide resolved

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this mean to be empty?

Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/integrations/import-saved-objects.png
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should advise users to use "Check for existing objects" + "Auto overwrite", because we ship the integrations with a specific UUID based on the integration+version to help keep duplicates down. Uploading the same integration template multiple times isn't that useful.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/integrations/integration-import-file.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/integrations/nginx-integration.gif
Binary file not shown.
Binary file added images/integrations/nginx-integration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading