diff --git a/_dashboards/notebooks.md b/_dashboards/notebooks.md index 925a0cfb..17fc1a76 100644 --- a/_dashboards/notebooks.md +++ b/_dashboards/notebooks.md @@ -1,28 +1,30 @@ --- layout: default -title: Notebooks (experimental) +title: Notebooks nav_order: 50 redirect_from: /docs/notebooks/ has_children: false --- -# OpenSearch Dashboards notebooks (experimental) +# Notebooks -Notebooks have a known issue with [tenants]({{site.url}}{{site.baseurl}}/security-plugin/access-control/multi-tenancy/). If you open a notebook and can't see its visualizations, you might be under the wrong tenant, or you might not have access to the tenant at all. -{: .warning } - -An OpenSearch Dashboards notebook is an interface that lets you easily combine live visualizations and narrative text in a single notebook interface. +An OpenSearch Dashboards notebook is an interface that lets you easily combine code snippets, live visualizations, and narrative text in a single notebook interface. Notebooks let you interactively explore data by running different visualizations that you can share with team members to collaborate on a project. -A notebook is a document composed of two elements: OpenSearch Dashboards visualizations and paragraphs (Markdown). Choose multiple timelines to compare and contrast visualizations. +A notebook is a document composed of two elements: code blocks (Markdown/SQL/PPL) and visualizations. Choose multiple timelines to compare and contrast visualizations. + +You can also generate [reports]({{site.url}}{{site.baseurl}}/dashboards/reporting/) directly from your notebooks. Common use cases include creating postmortem reports, designing runbooks, building live infrastructure reports, and writing documentation. +Tenants in OpenSearch Dashboards are spaces for saving notebooks and other OpenSearch Dashboards objects. For more information, see [OpenSearch Dashboards multi-tenancy]({{site.url}}{{site.baseurl}}/security-plugin/access-control/multi-tenancy/). +{: .note } -## Get Started with notebooks -To get started, choose **OpenSearch Dashboards Notebooks** within OpenSearch Dashboards. +## Get started with notebooks + +To get started, choose **Notebooks** within OpenSearch Dashboards. ### Step 1: Create a notebook @@ -32,28 +34,58 @@ A notebook is an interface for creating reports. 1. Choose **Create notebook** and enter a descriptive name. 1. Choose **Create**. -Choose **Notebook actions** to rename, duplicate, or delete a notebook. +Choose **Actions** to rename, duplicate, or delete a notebook. ### Step 2: Add a paragraph -Paragraphs combine text and visualizations for describing data. +Paragraphs combine code blocks and visualizations for describing data. +#### Add a code block -#### Add a markdown paragraph +Code blocks support markdown, SQL, and PPL languages. -1. To add text, choose **Add markdown paragraph**. -1. Add rich text with markdown syntax. +Specify the input language on the first line using `%[language type]` syntax. +For example, type `%md` for markdown, `%sql` for SQL, and `%ppl` for PPL. + +##### Sample markdown block + +``` +%md +Add in text formatted in markdown. +``` ![Markdown paragraph]({{site.url}}{{site.baseurl}}/images/markdown-notebook.png) +##### Sample SQL block -#### Add a visualization paragraph +```sql +%sql +Select * from opensearch_dashboards_sample_data_flights limit 20; +``` -1. To add a visualization, choose **Add OpenSearch Dashboards visualization paragraph**. +![SQL paragraph]({{site.url}}{{site.baseurl}}/images/sql-notebook.png) + +##### Sample PPL block + +``` +%ppl +source=opensearch_dashboards_sample_data_logs | head 20 +``` + +![PPL paragraph]({{site.url}}{{site.baseurl}}/images/ppl-notebook.png) + + +#### Add a visualization + +1. To add a visualization, choose **Add paragraph** and select **Visualization**. 1. In **Title**, select your visualization and choose a date range. You can choose multiple timelines to compare and contrast visualizations. 1. To run and save a paragraph, choose **Run**. +![Visualization paragraph]({{site.url}}{{site.baseurl}}/images/visualization-notebook.png) + +## Paragraph actions + You can perform the following actions on paragraphs: - Add a new paragraph to the top of a report. @@ -62,3 +94,25 @@ You can perform the following actions on paragraphs: - Clear the outputs of all paragraphs. - Delete all the paragraphs. - Move paragraphs up and down. + +## Sample notebooks + +We prepared the following sample notebooks that showcase a variety of use cases: + +- Using SQL to query the OpenSearch Dashboards sample flight data. +- Using PPL to query the OpenSearch Dashboards sample web logs data. +- Using PPL and visualizations to perform sample root cause event analysis on the OpenSearch Dashboards sample web logs data. + +To add a sample notebook, choose **Actions** and select **Add sample notebooks**. + +## Create a report + +You can use notebooks to create PNG and PDF reports: + +1. From the top menu bar, choose **Reporting actions**. +1. You can choose to **Download PDF** or **Download PNG**. + + Reports generate asynchronously in the background and might take a few minutes, depending on the size of the report. A notification appears when your report is ready to download. + +1. To create a schedule-based report, choose **Create report definition**. For steps to create a report definition, see [Create reports using a definition]({{site.url}}{{site.baseurl}}/dashboards/reporting#create-reports-using-a-definition). +1. To see all your reports, choose **View all reports**. diff --git a/_opensearch/install/compatibility.md b/_opensearch/install/compatibility.md new file mode 100644 index 00000000..3608af4c --- /dev/null +++ b/_opensearch/install/compatibility.md @@ -0,0 +1,19 @@ +--- +layout: default +title: Compatibility +parent: Install OpenSearch +nav_order: 2 +--- + +# Operating system and JVM compatibility + +- We recommend installing OpenSearch on RHEL- or Debian-based Linux distributions that use [systemd](https://en.wikipedia.org/wiki/Systemd), such as CentOS, Amazon Linux 2, and Ubuntu (LTS). OpenSearch should work on many Linux distributions, but we only test a handful. +- The OpenSearch tarball ships with a compatible version of Java in the `jdk` directory. To find its version, run `./jdk/bin/java -version`. For example, the OpenSearch 1.0.0 tarball ships with Java 15 (non-LTS). + +{% comment %}`./jdk/bin/java -version` doesn't work on macOS with zsh at the moment, and I have no idea why. Maybe we need a macOS artifact. Regardless, the command works on Amazon Linux 2 with bash and presumably other distros. - aetter{% endcomment %} + + To use a different Java installation, set the `OPENSEARCH_JAVA_HOME` environment variable to the Java install location. We recommend Java 11 (LTS), but OpenSearch also works with Java 8. + +OpenSearch version | Compatible Java versions | Recommended operating systems +:--- | :--- | :--- +1.x | 8, 11 | Red Hat Enterprise Linux 7, 8; CentOS 7, 8; Amazon Linux 2; Ubuntu 16.04, 18.04, 20.04 diff --git a/_opensearch/install/docker.md b/_opensearch/install/docker.md index 4f989796..b8b96073 100644 --- a/_opensearch/install/docker.md +++ b/_opensearch/install/docker.md @@ -2,7 +2,7 @@ layout: default title: Docker parent: Install OpenSearch -nav_order: 1 +nav_order: 3 --- # Docker image @@ -16,7 +16,7 @@ docker pull opensearchproject/opensearch-dashboards:{{site.opensearch_version}} To check available versions, see [Docker Hub](https://hub.docker.com/u/opensearchproject). -OpenSearch images use `centos:7` as the base image. If you run Docker locally, we recommend allowing Docker to use at least 4 GB of RAM in **Preferences** > **Resources**. +OpenSearch images use `amazonlinux:2` as the base image. If you run Docker locally, set Docker to use at least 4 GB of RAM in **Preferences** > **Resources**. --- diff --git a/_security-plugin/configuration/yaml.md b/_security-plugin/configuration/yaml.md index b84520ff..302d853f 100644 --- a/_security-plugin/configuration/yaml.md +++ b/_security-plugin/configuration/yaml.md @@ -89,6 +89,41 @@ snapshotrestore: description: "Demo snapshotrestore user" ``` +## opensearch.yml + +This file contains relative file paths to TLS certificates and their attributes, such as distinguished names and trusted certificate authorities. + +```yml +plugins.security.ssl.transport.pemcert_filepath: esnode.pem +plugins.security.ssl.transport.pemkey_filepath: esnode-key.pem +plugins.security.ssl.transport.pemtrustedcas_filepath: root-ca.pem +plugins.security.ssl.transport.enforce_hostname_verification: false +plugins.security.ssl.http.enabled: true +plugins.security.ssl.http.pemcert_filepath: esnode.pem +plugins.security.ssl.http.pemkey_filepath: esnode-key.pem +plugins.security.ssl.http.pemtrustedcas_filepath: root-ca.pem +plugins.security.allow_unsafe_democertificates: true +plugins.security.allow_default_init_securityindex: true +plugins.security.authcz.admin_dn: + - CN=kirk,OU=client,O=client,L=test, C=de + +plugins.security.audit.type: internal_opensearch +plugins.security.enable_snapshot_restore_privilege: true +plugins.security.check_snapshot_restore_write_privileges: true +plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"] +plugins.security.system_indices.enabled: true +plugins.security.system_indices.indices: [".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opendistro-asynchronous-search-response*"] +node.max_local_storage_nodes: 3 +``` + +If you want to run your users' passwords against some validation, you can specify the necessary regex in this file. You can also include an error message that loads if any passwords don't pass validation. The following example demonstrates how to include a regex so OpenSearch requires new passwords to be a minimum of eight characters with at least one uppercase, one lowercase, one digit, and one special character. + +Note that OpenSearch validates only users and passwords created through OpenSearch Dashboards or the REST API. + +```yml +plugins.restapi.password_validation_regex: '(?=.*[A-Z])(?=.*[^a-zA-Z\d])(?=.*[0-9])(?=.*[a-z]).{8,}' +plugins.restapi.password_validation_error_message: "Password must be minimum 8 characters long and must contain at least one uppercase letter, one lowercase letter, one digit, and one special character." +``` ## roles.yml diff --git a/images/markdown-notebook.png b/images/markdown-notebook.png index bfe06b72..5f92992e 100644 Binary files a/images/markdown-notebook.png and b/images/markdown-notebook.png differ diff --git a/images/ppl-notebook.png b/images/ppl-notebook.png new file mode 100644 index 00000000..530beda7 Binary files /dev/null and b/images/ppl-notebook.png differ diff --git a/images/sql-notebook.png b/images/sql-notebook.png new file mode 100644 index 00000000..abde5fd1 Binary files /dev/null and b/images/sql-notebook.png differ diff --git a/images/visualization-notebook.png b/images/visualization-notebook.png new file mode 100644 index 00000000..fac909b7 Binary files /dev/null and b/images/visualization-notebook.png differ