Skip to content

Commit

Permalink
Merge branch 'master' into #51322(create_index_pattern_wizard)
Browse files Browse the repository at this point in the history
  • Loading branch information
elasticmachine committed Apr 16, 2020
2 parents 4c108b8 + 3d41ca6 commit cc44528
Show file tree
Hide file tree
Showing 543 changed files with 6,383 additions and 2,780 deletions.
8 changes: 7 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -536,9 +536,15 @@ module.exports = {
* ML overrides
*/
{
files: ['x-pack/legacy/plugins/ml/**/*.js'],
files: ['x-pack/plugins/ml/**/*.js'],
rules: {
'no-shadow': 'error',
'import/no-extraneous-dependencies': [
'error',
{
packageDir: './x-pack',
},
],
},
},

Expand Down
9 changes: 6 additions & 3 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@

# App
/x-pack/plugins/lens/ @elastic/kibana-app
/x-pack/legacy/plugins/graph/ @elastic/kibana-app
/x-pack/plugins/graph/ @elastic/kibana-app
/src/legacy/server/url_shortening/ @elastic/kibana-app
/src/legacy/server/sample_data/ @elastic/kibana-app
/src/legacy/core_plugins/kibana/public/dashboard/ @elastic/kibana-app
/src/legacy/core_plugins/kibana/public/discover/ @elastic/kibana-app
/src/legacy/core_plugins/kibana/public/visualize/ @elastic/kibana-app
/src/legacy/core_plugins/kibana/public/local_application_service/ @elastic/kibana-app
/src/legacy/core_plugins/kibana/public/dev_tools/ @elastic/kibana-app
/src/legacy/core_plugins/metrics/ @elastic/kibana-app
/src/legacy/core_plugins/vis_type_vislib/ @elastic/kibana-app
/src/legacy/core_plugins/vis_type_xy/ @elastic/kibana-app
/src/plugins/vis_type_xy/ @elastic/kibana-app
/src/plugins/kibana_legacy/ @elastic/kibana-app
/src/plugins/timelion/ @elastic/kibana-app
/src/plugins/dashboard/ @elastic/kibana-app
/src/plugins/discover/ @elastic/kibana-app
/src/plugins/vis_type_timeseries/ @elastic/kibana-app

# Core UI
# Exclude tutorials folder for now because they are not owned by Kibana app and most will move out soon
Expand Down Expand Up @@ -80,6 +80,8 @@
/x-pack/legacy/plugins/ingest_manager/ @elastic/ingest-management
/x-pack/plugins/observability/ @elastic/logs-metrics-ui @elastic/apm-ui @elastic/uptime @elastic/ingest-management
/x-pack/legacy/plugins/monitoring/ @elastic/stack-monitoring-ui
/x-pack/legacy/plugins/uptime @elastic/uptime
/x-pack/plugins/uptime @elastic/uptime

# Machine Learning
/x-pack/legacy/plugins/ml/ @elastic/ml-ui
Expand All @@ -95,6 +97,7 @@

# Maps
/x-pack/legacy/plugins/maps/ @elastic/kibana-gis
/x-pack/plugins/maps/ @elastic/kibana-gis
/x-pack/test/api_integration/apis/maps/ @elastic/kibana-gis
/x-pack/test/functional/apps/maps/ @elastic/kibana-gis
/x-pack/test/functional/es_archives/maps/ @elastic/kibana-gis
Expand Down
3 changes: 2 additions & 1 deletion .sass-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ files:
- 'x-pack/legacy/plugins/canvas/**/*.s+(a|c)ss'
- 'x-pack/plugins/triggers_actions_ui/**/*.s+(a|c)ss'
- 'x-pack/plugins/lens/**/*.s+(a|c)ss'
- 'x-pack/legacy/plugins/maps/**/*.s+(a|c)ss'
- 'x-pack/plugins/maps/**/*.s+(a|c)ss'
ignore:
- 'x-pack/legacy/plugins/canvas/shareable_runtime/**/*.s+(a|c)ss'
- 'x-pack/legacy/plugins/maps/**/*.s+(a|c)ss'
rules:
quotes:
- 2
Expand Down
30 changes: 18 additions & 12 deletions docs/apm/advanced-queries.asciidoc
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
[role="xpack"]
[[advanced-queries]]
=== Advanced queries
=== Query your data

When querying in the APM app, you're simply searching and selecting data from fields in Elasticsearch documents.
Queries entered into the query bar are also added as parameters to the URL,
so it's easy to share a specific query or view with others.

You can begin to see some of the transaction fields available for filtering:

[role="screenshot"]
image::apm/images/apm-query-bar.png[Example of the Kibana Query bar in APM app in Kibana]
Querying your APM data is a powerful tool that can make finding bottlenecks in your code even easier.
Imagine you have a user that complains about a slow response time in a specific service.
With the query bar, you can easily filter the APM app to only display trace data for that user,
or, to only show transactions that are slower than a specified time threshold.

[float]
==== Example APM app queries
Expand All @@ -17,23 +14,32 @@ image::apm/images/apm-query-bar.png[Example of the Kibana Query bar in APM app i
* Filter by response status code: `context.response.status_code >= 400`
* Filter by single user ID: `context.user.id : 12`

When querying in the APM app, you're merely searching and selecting data from fields in Elasticsearch documents.
Queries entered into the query bar are also added as parameters to the URL,
so it's easy to share a specific query or view with others.

When you type, you can begin to see some of the transaction fields available for filtering:

[role="screenshot"]
image::apm/images/apm-query-bar.png[Example of the Kibana Query bar in APM app in Kibana]

TIP: Read the {kibana-ref}/kuery-query.html[Kibana Query Language Enhancements] documentation to learn more about the capabilities of the {kib} query language.

[float]
[[discover-advanced-queries]]
=== Querying in Discover

It may also be helpful to view your APM data in {kibana-ref}/discover.html[*Discover*].
Alternatively, you can query your APM documents in {kibana-ref}/discover.html[*Discover*].
Querying documents in *Discover* works the same way as querying in the APM app,
and all of the example APM app queries can also be used in *Discover*.
and *Discover* supports all of the example APM app queries shown on this page.

[float]
==== Example Discover query

One example where you may want to make use of *Discover*,
is for viewing _all_ transactions for an endpoint, instead of just a sample.

TIP: Starting in v7.6, you can view 10 samples per bucket in the APM app, instead of just one.
TIP: Starting in v7.6, you can view ten samples per bucket in the APM app, instead of just one.

Use the APM app to find a transaction name and time bucket that you're interested in learning more about.
Then, switch to *Discover* and make a search:
Expand Down
27 changes: 15 additions & 12 deletions docs/apm/agent-configuration.asciidoc
Original file line number Diff line number Diff line change
@@ -1,42 +1,45 @@
[role="xpack"]
[[agent-configuration]]
=== APM Agent configuration
=== APM Agent central configuration

APM Agent configuration allows you to fine-tune your agent configuration directly in Kibana.
Best of all, changes are automatically propagated to your APM agents so there's no need to redeploy.
++++
<titleabbrev>Configure APM agents with central config</titleabbrev>
++++

To get started, simply choose the services and environments you wish to configure.
The APM app will let you know when your configurations have been applied by your agents.
APM Agent configuration allows you to fine-tune your agent configuration from within the APM app.
Changes are automatically propagated to your APM agents, so there's no need to redeploy.

To get started, choose the services and environments you wish to configure.
The APM app will let you know when your agents have applied your configurations.

[role="screenshot"]
image::apm/images/apm-agent-configuration.png[APM Agent configuration in Kibana]

[float]
==== Precedence

Configurations set with APM Agent configuration take precedence over configurations set locally in the Agent.
Configurations set from the APM app take precedence over configurations set locally in each Agent.
However, if APM Server is slow to respond, is offline, reports an error, etc.,
APM agents will use local defaults until they're able to update the configuration.
For this reason, it is still important to set custom default configurations locally in each of your agents.
For this reason, it is still essential to set custom default configurations locally in each of your agents.

[float]
==== APM Server setup

This feature requires {apm-server-ref}/setup-kibana-endpoint.html[Kibana endpoint configuration] in APM Server.

Why is additional configuration needed in APM Server?
That's because APM Server acts as a proxy between the agents and Kibana.
APM Server acts as a proxy between the agents and Kibana.
Kibana communicates any changed settings to APM Server so that your agents only need to poll APM Server to determine which settings have changed.

[float]
==== Supported configurations

Each Agent has its own list of supported configurations.
Each Agent has a list of supported configurations.
After selecting a Service name and environment in the APM app,
a list of all available configuration options,
a list of all supported configuration options,
including descriptions and default values, will be displayed.

Supported configurations are also marked in each Agent's configuration documentation:
Supported configurations are also tagged with the image:./images/dynamic-config.svg[] badge in each Agent's configuration reference:

[horizontal]
Go Agent:: {apm-go-ref}/configuration.html[Configuration reference]
Expand Down
6 changes: 5 additions & 1 deletion docs/apm/api.asciidoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
[role="xpack"]
[[apm-api]]
== API
== APM app API

++++
<titleabbrev>REST API</titleabbrev>
++++

Some APM app features are provided via a REST API:

Expand Down
28 changes: 16 additions & 12 deletions docs/apm/apm-alerts.asciidoc
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
[role="xpack"]
[[apm-alerts]]
=== Create an alert
=== Alerts

++++
<titleabbrev>Create an alert</titleabbrev>
++++

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>>.
The APM app integrates 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 enables central management of all alerts from <<management,Kibana Management>>.

[role="screenshot"]
image::apm/images/apm-alert.png[Create an alert in the APM app]
Expand All @@ -28,9 +32,9 @@ This guide creates an alert for the `opbeans-java` service based on the followin
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.
`Transaction duration | opbeans-java` is automatically set as the name of the alert,
and `apm` and `service.name:opbeans-java` are added as tags.
It's fine to change the name of the alert, but do not edit the tags.

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

Expand All @@ -42,7 +46,7 @@ Based on the alert criteria, define the following alert details:
* **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.
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.
Expand All @@ -63,9 +67,9 @@ This guide creates an alert for the `opbeans-python` service based on the follow
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.
`Error rate | opbeans-python` is automatically set as the name of the alert,
and `apm` and `service.name:opbeans-python` are added as tags.
It's fine to change the name of the alert, but do not edit the tags.

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

Expand Down Expand Up @@ -93,5 +97,5 @@ From this page, you can create, edit, disable, mute, and delete alerts, and crea
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.
communication between Elasticsearch and Kibana must have TLS configured.
More information is in the alerting {kibana-ref}/alerting-getting-started.html#alerting-setup-prerequisites[prerequisites].
25 changes: 0 additions & 25 deletions docs/apm/bottlenecks.asciidoc

This file was deleted.

20 changes: 12 additions & 8 deletions docs/apm/custom-links.asciidoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
[role="xpack"]
[[custom-links]]
=== Custom links

++++
<titleabbrev>Create custom links</titleabbrev>
++++

Elastic's custom link feature allows you to easily create up to 500 dynamic links
based on your specific APM data.
Custom links can be filtered to only appear in the APM app for relevant services,
Expand All @@ -12,7 +17,7 @@ Ready to dive in? Jump straight to the <<custom-links-examples,examples>>.
[[custom-links-create]]
=== Create a link

Each custom link consists of a label, url, and optional filter.
Each custom link consists of a label, URL, and optional filter.
The easiest way to create a custom link is from within the actions dropdown in the transaction detail page.
This method will automatically apply filters, scoping the link to that specific service,
environment, transaction type, and transaction name.
Expand All @@ -25,8 +30,7 @@ and selecting **Create custom link**.
==== Label

The name of your custom link.
This text will be shown in the actions context menu,
so keep it as short as possible.
The actions context menu displays this text, so keep it as short as possible.

TIP: Custom links are displayed alphabetically in the actions menu.

Expand All @@ -39,8 +43,8 @@ URLs support dynamic field name variables, encapsulated in double curly brackets
These variables will be replaced with transaction metadata when the link is clicked.

Because everyone's data is different,
you'll need to examine your own traces to see what metadata is available for use.
The easiest way to do this is to select a trace in the APM app, and click **Metadata** in the **Trace Sample** table.
you'll need to examine your traces to see what metadata is available for use.
To do this, select a trace in the APM app, and click **Metadata** in the **Trace Sample** table.

[role="screenshot"]
image::apm/images/example-metadata.png[Example metadata]
Expand All @@ -49,15 +53,15 @@ image::apm/images/example-metadata.png[Example metadata]
[[custom-links-filters]]
==== Filters

Filter each link to only appear so it only appears for specific services or transactions.
Filter each link to only appear for specific services or transactions.
You can filter on the following fields:

* `service.name`
* `service.env`
* `transaction.type`
* `transaction.name`

Multiple values are allowed when comma separated.
Multiple values are allowed when comma-separated.

[float]
[[custom-links-examples]]
Expand All @@ -68,7 +72,7 @@ Multiple values are allowed when comma separated.
:github-query-params: https://help.github.com/en/github/managing-your-work-on-github/about-automation-for-issues-and-pull-requests-with-query-parameters

Not sure where to start with custom links?
Take a look at the examples below, and customize them to your liking!
Take a look at the examples below and customize them to your liking!

[float]
[[custom-links-examples-email]]
Expand Down
17 changes: 17 additions & 0 deletions docs/apm/deployment-annotations.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[role="xpack"]
[[transactions-annotations]]
=== Track deployments with annotations

++++
<titleabbrev>Track deployments</titleabbrev>
++++

For enhanced visibility into your deployments, we offer deployment annotations on all transaction charts.
This feature automatically tags new deployments, so you can easily see if your deploy has increased response times
for an end-user, or if the memory/CPU footprint of your application has changed.
Being able to identify bad deployments quickly enables you to rollback and fix issues without causing costly outages.

Deployment annotations are automatically enabled, and appear when the `service.version` of your app changes.

[role="screenshot"]
image::apm/images/apm-transaction-annotation.png[Example view of transactions annotation in the APM app in Kibana]
18 changes: 18 additions & 0 deletions docs/apm/error-reports-watcher.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[role="xpack"]
[[errors-alerts-with-watcher]]
=== Error reports with Watcher

++++
<titleabbrev>Enable error reports</titleabbrev>
++++

You can use the power of the alerting features with Watcher to get reports on error occurrences.
The Watcher assistant, which is available on the errors overview, can help you set up a watch per service.

Configure the watch with an occurrences threshold, time interval, and the desired actions, such as email or Slack notifications.
With Watcher, your team can set up reports within minutes.

Watches are managed separately in the dedicated Watcher UI available in Advanced Settings.

[role="screenshot"]
image::apm/images/apm-errors-watcher-assistant.png[Example view of the Watcher assistant for errors in APM app in Kibana]
Loading

0 comments on commit cc44528

Please sign in to comment.