Skip to content

Commit

Permalink
Merge branch 'master' into canvas-embeddable-plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
elasticmachine authored Apr 13, 2020
2 parents fb464c7 + 52747c9 commit 30986fd
Show file tree
Hide file tree
Showing 2,271 changed files with 92,264 additions and 53,206 deletions.
51 changes: 5 additions & 46 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,26 +69,6 @@ module.exports = {
'jsx-a11y/no-onchange': 'off',
},
},
{
files: ['src/legacy/core_plugins/expressions/**/*.{js,ts,tsx}'],
rules: {
'react-hooks/exhaustive-deps': 'off',
},
},
{
files: [
'src/legacy/core_plugins/vis_default_editor/public/components/controls/**/*.{ts,tsx}',
],
rules: {
'react-hooks/exhaustive-deps': 'off',
},
},
{
files: ['src/legacy/ui/public/vis/**/*.{js,ts,tsx}'],
rules: {
'react-hooks/exhaustive-deps': 'off',
},
},
{
files: ['src/plugins/es_ui_shared/**/*.{js,ts,tsx}'],
rules: {
Expand Down Expand Up @@ -552,29 +532,6 @@ module.exports = {
},
},

/**
* Graph overrides
*/
{
files: ['x-pack/legacy/plugins/graph/**/*.js'],
globals: {
angular: true,
$: true,
},
rules: {
'block-scoped-var': 'off',
camelcase: 'off',
eqeqeq: 'off',
'guard-for-in': 'off',
'new-cap': 'off',
'no-loop-func': 'off',
'no-redeclare': 'off',
'no-shadow': 'off',
'no-unused-vars': 'off',
'one-var': 'off',
},
},

/**
* ML overrides
*/
Expand Down Expand Up @@ -771,7 +728,7 @@ module.exports = {
* Lens overrides
*/
{
files: ['x-pack/legacy/plugins/lens/**/*.ts', 'x-pack/legacy/plugins/lens/**/*.tsx'],
files: ['x-pack/legacy/plugins/lens/**/*.{ts,tsx}', 'x-pack/plugins/lens/**/*.{ts,tsx}'],
rules: {
'@typescript-eslint/no-explicit-any': 'error',
},
Expand Down Expand Up @@ -885,8 +842,10 @@ module.exports = {
* TSVB overrides
*/
{
files: ['src/legacy/core_plugins/metrics/**/*.js'],
excludedFiles: 'src/legacy/core_plugins/metrics/index.js',
files: [
'src/plugins/vis_type_timeseries/**/*.{js,ts,tsx}',
'src/legacy/core_plugins/vis_type_timeseries/**/*.{js,ts,tsx}',
],
rules: {
'import/no-default-export': 'error',
},
Expand Down
5 changes: 3 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@
/src/plugins/console/ @elastic/es-ui
/src/plugins/es_ui_shared/ @elastic/es-ui
/x-pack/legacy/plugins/cross_cluster_replication/ @elastic/es-ui
/x-pack/legacy/plugins/index_lifecycle_management/ @elastic/es-ui
/x-pack/plugins/index_lifecycle_management/ @elastic/es-ui
/x-pack/legacy/plugins/index_management/ @elastic/es-ui
/x-pack/legacy/plugins/license_management/ @elastic/es-ui
/x-pack/legacy/plugins/rollup/ @elastic/es-ui
Expand All @@ -202,7 +202,8 @@
# Endpoint
/x-pack/plugins/endpoint/ @elastic/endpoint-app-team
/x-pack/test/api_integration/apis/endpoint/ @elastic/endpoint-app-team
/x-pack/test/functional/apps/endpoint/ @elastic/endpoint-app-team
/x-pack/test/functional_endpoint/ @elastic/endpoint-app-team
/x-pack/test/functional_endpoint_ingest_failure/ @elastic/endpoint-app-team
/x-pack/test/functional/es_archives/endpoint/ @elastic/endpoint-app-team

# SIEM
Expand Down
3 changes: 2 additions & 1 deletion .i18nrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"src/legacy/core_plugins/management",
"src/plugins/management"
],
"indexPatternManagement": "src/plugins/index_pattern_management",
"advancedSettings": "src/plugins/advanced_settings",
"kibana_legacy": "src/plugins/kibana_legacy",
"kibana_react": "src/legacy/core_plugins/kibana_react",
Expand All @@ -43,7 +44,7 @@
"tileMap": "src/legacy/core_plugins/tile_map",
"timelion": ["src/legacy/core_plugins/timelion", "src/legacy/core_plugins/vis_type_timelion", "src/plugins/timelion"],
"uiActions": "src/plugins/ui_actions",
"visDefaultEditor": "src/legacy/core_plugins/vis_default_editor",
"visDefaultEditor": "src/plugins/vis_default_editor",
"visTypeMarkdown": "src/legacy/core_plugins/vis_type_markdown",
"visTypeMetric": "src/legacy/core_plugins/vis_type_metric",
"visTypeTable": "src/legacy/core_plugins/vis_type_table",
Expand Down
2 changes: 1 addition & 1 deletion docs/api/saved-objects/bulk_create.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ The API returns the following:
"type": "dashboard",
"error": {
"statusCode": 409,
"message": "version conflict, document already exists"
"message": "Saved object [dashboard/be3733a0-9efe-11e7-acb3-3dab96693fab] conflict"
}
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ Execute the <<spaces-api-copy-saved-objects,copy saved objects to space API>>, w
.Properties of `error`
[%collapsible%open]
=======
`type`:::::
`type`::::
(string) The type of error. For example, `unsupported_type`, `missing_references`, or `unknown`.
=======
======
Expand Down
6 changes: 3 additions & 3 deletions docs/apm/api.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ The following Agent configuration APIs are available:

`service`::
(required, object) Service identifying the configuration to create or update.

+
.Properties of `service`
[%collapsible%open]
======
Expand Down Expand Up @@ -100,7 +100,7 @@ PUT /api/apm/settings/agent-configuration
===== Request body
`service`::
(required, object) Service identifying the configuration to delete

+
.Properties of `service`
[%collapsible%open]
======
Expand Down Expand Up @@ -217,7 +217,7 @@ GET /api/apm/settings/agent-configuration

`service`::
(required, object) Service identifying the configuration.

+
.Properties of `service`
[%collapsible%open]
======
Expand Down
97 changes: 97 additions & 0 deletions docs/apm/apm-alerts.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
[role="xpack"]
[[apm-alerts]]
=== Create an alert

beta::[]

The APM app is integrated with Kibana's {kibana-ref}/alerting-getting-started.html[alerting and actions] feature.
It provides a set of built-in **actions** and APM specific threshold **alerts** for you to use,
and allows all alerts to be centrally managed from <<management,Kibana Management>>.

[role="screenshot"]
image::apm/images/apm-alert.png[Create an alert in the APM app]

There are two different types of threshold alerts: transaction duration, and error rate.
Below, we'll create one of each.

[float]
[[apm-create-transaction-alert]]
=== Create a transaction duration alert

This guide creates an alert for the `opbeans-java` service based on the following criteria:

* Transaction type: `transaction.type:request`
* Average request is above `1500ms` for the last 5 minutes
* Check every 10 minutes, and repeat the alert every 30 minutes
* Send the alert via Slack

From the APM app, navigate to the `opbeans-java` service and select
**Alerts** > **Create threshold alert** > **Transaction duration**.

The name of your alert will automatically be set as `Transaction duration | opbeans-java`,
and the alert will be tagged with `apm` and `service.name:opbeans-java`.
Feel free to edit either of these defaults.

Based on the alert criteria, define the following alert details:

* **Check every** - `10 minutes`
* **Notify every** - `30 minutes`
* **TYPE** - `request`
* **WHEN** - `avg`
* **IS ABOVE** - `1500ms`
* **FOR THE LAST** - `5 minutes`

Select an action type.
Multiple action types can be selected, but in this example we want to post to a slack channel.
Select **Slack** > **Create a connector**.
Enter a name for the connector,
and paste the webhook URL.
See Slack's webhook documentation if you need to create one.

Select **Save**. The alert has been created and is now active!

[float]
[[apm-create-error-alert]]
=== Create an error rate alert

This guide creates an alert for the `opbeans-python` service based on the following criteria:

* Error rate is above 25 for the last minute
* Check every 1 minute, and repeat the alert every 10 minutes
* Send the alert via email to the `opbeans-python` team

From the APM app, navigate to the `opbeans-python` service and select
**Alerts** > **Create threshold alert** > **Error rate**.

The name of your alert will automatically be set as `Error rate | opbeans-python`,
and the alert will be tagged with `apm` and `service.name:opbeans-python`.
Feel free to edit either of these defaults.

Based on the alert criteria, define the following alert details:

* **Check every** - `1 minute`
* **Notify every** - `10 minutes`
* **IS ABOVE** - `25 errors`
* **FOR THE LAST** - `1 minute`

Select the **Email** action type and click **Create a connector**.
Fill out the required details: sender, host, port, etc., and click **save**.

Select **Save**. The alert has been created and is now active!

[float]
[[apm-alert-manage]]
=== Manage alerts and actions

From the APM app, select **Alerts** > **View active alerts** to be taken to the Kibana alerts and actions management page.
From this page, you can create, edit, disable, mute, and delete alerts, and create, edit, and disable connectors.

[float]
[[apm-alert-more-info]]
=== More information

See {kibana-ref}/alerting-getting-started.html[alerting and actions] for more information.

NOTE: If you are using an **on-premise** Elastic Stack deployment with security,
TLS must be configured for communication between Elasticsearch and Kibana.
More information is in the alerting {kibana-ref}/alerting-getting-started.html#alerting-setup-prerequisites[prerequisites].
Binary file added docs/apm/images/apm-alert.png
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 docs/apm/images/service-maps-java.png
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 docs/apm/images/service-maps.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions docs/apm/service-maps.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
[[service-maps]]
=== Service maps

beta::[]

A service map is a real-time diagram of the interactions occurring in your application’s architecture.
It allows you to easily visualize data flow and high-level statistics, like average transaction duration,
requests per minute, errors per minute, and metrics, allowing you to quickly assess the status of your services.

Our beta offering creates two types of service maps:

* Global: All services and connections are shown.
* Service-specific: Selecting a specific service will highlight it's connections.

[role="screenshot"]
image::apm/images/service-maps.png[Example view of service maps in the APM app in Kibana]

[float]
[[visualize-your-architecture]]
=== Visualize your architecture

Select the **Service Map** tab to get started.
By default, all services and connections are shown.
Whether your onboarding a new engineer, or just trying to grasp the big picture,
click around, zoom in and out, and begin to visualize how your services are connected.

If there's a specific service that interests you, select that service to highlight its connections.
Clicking **Focus map** will refocus the map on that specific service and lock the connection highlighting.
From here, select **Service Details**, or click on the **Transaction** tab to jump to the Transaction overview.
You can also use the tabs at the top of the page to easily jump to the **Errors** or **Metrics** overview.

While it's not possible to query in service maps, it is possible to filter by environment.
This can be useful if you have two or more services, in separate environments, but with the same name.
Use the environment drop down to only see the data you're interested in, like `dev` or `production`.

[role="screenshot"]
image::apm/images/service-maps-java.png[Example view of service maps with Java highlighted in the APM app in Kibana]

[float]
[[service-maps-legend]]
=== Legend

Nodes appear on the map in one of two shapes:

* **Circle**: Instrumented services. Interior icons are based on the language of the agent used.
* **Diamond**: Databases, external, and messaging. Interior icons represent the generic type,
with specific icons for known entities, like Elasticsearch.
Type and subtype are based on `span.type`, and `span.subtype`.
2 changes: 1 addition & 1 deletion docs/apm/spans.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ which indicates the next transaction in the trace.
These transactions can be expanded and viewed in detail by clicking on them.

After exploring these traces,
you can return to the full trace by clicking *View full trace* in the upper right hand corner of the page.
you can return to the full trace by clicking *View full trace*.
5 changes: 2 additions & 3 deletions docs/apm/transactions.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,9 @@ The number of requests per bucket is displayed when hovering over the graph, and
[role="screenshot"]
image::apm/images/apm-transaction-duration-dist.png[Example view of transactions duration distribution graph]

Most of the requests fall into buckets on the left side of the graph,
with a long tail of smaller buckets to the right.
This is a typical distribution, and indicates most of our requests were served quickly - awesome!
This graph shows a typical distribution, and indicates most of our requests were served quickly - awesome!
It's the requests on the right, the ones taking longer than average, that we probably want to focus on.

When you select one of these buckets,
you're presented with up to ten trace samples.
Each sample has a span timeline waterfall that shows what a typical request in that bucket was doing.
Expand Down
5 changes: 5 additions & 0 deletions docs/apm/using-the-apm-ui.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ APM is available via the navigation sidebar in {Kib}.
* <<spans>>
* <<errors>>
* <<metrics>>
* <<apm-alerts>>
* <<machine-learning-integration>>
* <<agent-configuration>>
* <<advanced-queries>>
Expand All @@ -31,10 +32,14 @@ include::transactions.asciidoc[]

include::spans.asciidoc[]

include::service-maps.asciidoc[]

include::errors.asciidoc[]

include::metrics.asciidoc[]

include::apm-alerts.asciidoc[]

include::agent-configuration.asciidoc[]

include::custom-links.asciidoc[]
Expand Down
4 changes: 3 additions & 1 deletion docs/canvas/canvas-elements.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,9 @@ To apply CSS overrides:

. Next to *Element style*, click *+*, then select *CSS*.

. Enter the *CSS*. For example, to center the Markdown element, enter:
. Enter the *CSS*.
+
For example, to center the Markdown element, enter:
+
[source,text]
--------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions docs/canvas/canvas-present-workpad.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ When you are ready to present your workpad, use and enable the presentation opti
[[view-fullscreen-mode]]
==== View your workpad in fullscreen mode

In the upper left corner, click the *Enter fullscreen mode* icon.
Click the *Enter fullscreen mode* icon.

[role="screenshot"]
image::images/canvas-fullscreen.png[Fullscreen mode]
Expand All @@ -19,7 +19,7 @@ image::images/canvas-fullscreen.png[Fullscreen mode]

Automatically cycle through your workpads pages in fullscreen mode.

. In the upper left corner, click the *Control settings* icon.
. Click the *Control settings* icon.

. Under *Change cycling interval*, select the interval you want to use.
+
Expand Down
Loading

0 comments on commit 30986fd

Please sign in to comment.