Skip to content

Commit

Permalink
Merge branch 'master' of github.com:elastic/kibana into chore/update-…
Browse files Browse the repository at this point in the history
…react-fc-types

# Conflicts:
#	x-pack/legacy/plugins/upgrade_assistant/public/app.tsx
  • Loading branch information
patrykkopycinski committed Nov 20, 2019
2 parents fa479fe + 35b0362 commit c21448c
Show file tree
Hide file tree
Showing 518 changed files with 6,856 additions and 3,961 deletions.
2 changes: 1 addition & 1 deletion docs/apm/advanced-queries.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ so it's easy to share a specific query or view with others.
In the screenshot below, you can begin to see some of the transaction fields available for filtering on:

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

[float]
==== Example queries
Expand Down
29 changes: 23 additions & 6 deletions docs/apm/agent-configuration.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@
[[agent-configuration]]
=== APM Agent configuration

beta[] APM Agent configuration allows you to fine-tune your agent configuration directly in Kibana.
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.

To get started, simply choose the service and environment you wish to configure.
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.

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

IMPORTANT: As this feature is in Beta, a limited number of configuration settings are supported.
We recommend you watch your agent logs to confirm that configuration has been applied.
If you have feedback, please reach out in our https://discuss.elastic.co/c/apm[Discuss forum].

[float]
==== Precedence

Expand All @@ -34,6 +31,26 @@ Kibana communicates any changed settings to APM Server so that your agents only
[float]
==== Supported configurations

[float]
===== `CAPTURE_BODY`

added[7.5.0] Can be `"off"`, `"errors"`, `"transactions"`, or `"all"`. Defaults to `"off"`.

For transactions that are HTTP requests, the Agent can optionally capture the request body, e.g., POST variables.
Remember, request bodies often contain sensitive values like passwords, credit card numbers, etc.
If your service handles sensitive data, enable this feature with care.
Turning on body capturing can also significantly increase the overhead the overhead of the Agent,
and the Elasticsearch index size.

[float]
===== `TRANSACTION_MAX_SPANS`

added[7.5.0] A number between `0` and `32000`. Defaults to `500`.

Limit the number of spans that are recorded per transaction.
This is helpful in cases where a transaction creates a very high amount of spans, e.g., thousands of SQL queries.
Setting an upper limit will help prevent the Agent and the APM Server from being overloaded.

[float]
===== `TRANSACTION_SAMPLE_RATE`

Expand Down
6 changes: 3 additions & 3 deletions docs/apm/errors.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ This makes it very easy to quickly see which errors are affecting your services,
and to take actions to rectify them.

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

Selecting an error group ID or error message brings you to the *Error group*.

[role="screenshot"]
image::apm/images/apm-error-group.png[Example view of the error group page in the APM UI in Kibana]
image::apm/images/apm-error-group.png[Example view of the error group page in the APM app in Kibana]

Here, you'll see the error message, culprit, and the number of occurrences over time.

Expand Down Expand Up @@ -43,4 +43,4 @@ 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 UI in Kibana]
image::apm/images/apm-errors-watcher-assistant.png[Example view of the Watcher assistant for errors in APM app in Kibana]
2 changes: 1 addition & 1 deletion docs/apm/getting-started.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ image::apm/images/apm-setup.png[Installation instructions on the APM page in Kib


Index patterns tell Kibana which Elasticsearch indices you want to explore.
An APM index pattern is necessary for certain features in the APM UI, like the query bar.
An APM index pattern is necessary for certain features in the APM app, like the query bar.
To set up the correct index pattern,
simply click *Load Kibana objects* at the bottom of the Setup Instructions.

Expand Down
Binary file modified docs/apm/images/apm-metrics.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/jvm-metrics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 11 additions & 3 deletions docs/apm/metrics.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,21 @@
=== Metrics overview

The *Metrics* overview provides agent-specific metrics,
which lets you perform more in-depth root cause analysis investigations within the APM UI.
which lets you perform more in-depth root cause analysis investigations within the APM app.

If you're experiencing a problem with your service, you can use this page to attempt to find the underlying cause.
For example, you might be able to correlate a high number of errors with a long transaction duration, high CPU usage, or a memory leak.

[role="screenshot"]
image::apm/images/apm-metrics.png[Example view of the Metrics overview in APM UI in Kibana]
image::apm/images/apm-metrics.png[Example view of the Metrics overview in APM app in Kibana]

If you're using the Java Agent, the metrics view focuses on JVMs.
A detailed view of metrics per JVM makes it much easier to analyze the provided metrics:
CPU usage, memory usage, heap or non-heap memory,
thread count, garbage collection rate, and garbage collection time spent per minute.

[role="screenshot"]
image::apm/images/jvm-metrics.png[Example view of the Metrics overview for the Java Agent]

[[machine-learning-integration]]
=== Machine Learning integration
Expand All @@ -17,7 +25,7 @@ The Machine Learning integration will initiate a new job predefined to calculate
The response time graph will show the expected bounds and annotate the graph when the anomaly score is 75 or above.

[role="screenshot"]
image::apm/images/apm-ml-integration.png[Example view of anomaly scores on response times in APM UI in Kibana]
image::apm/images/apm-ml-integration.png[Example view of anomaly scores on response times in APM app in Kibana]

Jobs can be created per transaction type and based on the average response time.
You can manage jobs in the *Machine Learning jobs management*.
Expand Down
2 changes: 1 addition & 1 deletion docs/apm/services.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ The *Services* overview gives you quick insights into the health and general per
You can add services by setting the `service.name` configuration in each of the {apm-agents-ref}[APM agents] you’re instrumenting.

[role="screenshot"]
image::apm/images/apm-services-overview.png[Example view of services table the APM UI in Kibana]
image::apm/images/apm-services-overview.png[Example view of services table the APM app in Kibana]
8 changes: 4 additions & 4 deletions docs/apm/spans.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The span timeline visualization is a bird's-eye view of what your application wa
This makes it useful for visualizing where the selected transaction spent most of its time.

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

View a span in detail by clicking on it in the timeline waterfall.
For example, in the below screenshot we've clicked on an SQL Select database query.
Expand All @@ -20,13 +20,13 @@ Finally, APM knows which files are your code and which are just modules or libra
These library frames will be minimized by default in order to show you the most relevant stack trace.

[role="screenshot"]
image::apm/images/apm-span-detail.png[Example view of a span detail in the APM UI in Kibana]
image::apm/images/apm-span-detail.png[Example view of a span detail in the APM app in Kibana]

If your span timeline is colorful, it's indicative of a <<distributed-tracing,distributed trace>>.
Services in a distributed trace are separated by color and listed in the order they occur.

[role="screenshot"]
image::apm/images/apm-services-trace.png[Example of distributed trace colors in the APM UI in Kibana]
image::apm/images/apm-services-trace.png[Example of distributed trace colors in the APM app in Kibana]

Don't forget, a distributed trace includes more than one transaction.
When viewing these distributed traces in the timeline waterfall, you'll see this image:apm/images/transaction-icon.png[APM icon] icon,
Expand All @@ -37,4 +37,4 @@ 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.

[role="screenshot"]
image::apm/images/apm-transaction-sample.png[Example of distributed trace colors in the APM UI in Kibana]
image::apm/images/apm-transaction-sample.png[Example of distributed trace colors in the APM app in Kibana]
6 changes: 3 additions & 3 deletions docs/apm/traces.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ it's the collective amount of pain a specific endpoint is causing your users.
If there's a particular endpoint you're worried about, you can click on it to view the <<transaction-details, transaction details>>.

[role="screenshot"]
image::apm/images/apm-traces.png[Example view of the Traces overview in APM UI in Kibana]
image::apm/images/apm-traces.png[Example view of the Traces overview in APM app in Kibana]

[float]
[[distributed-tracing]]
Expand All @@ -22,7 +22,7 @@ Distributed tracing is a key feature of modern application performance monitorin
service-based architectures.

Distributed tracing allows APM users to automatically trace requests all the way through the service architecture,
and visualize those traces in one single view in the APM UI.
and visualize those traces in one single view in the APM app.
This is accomplished by tracing all of the requests, from the initial web request to your front-end service,
to queries made to your back-end services.
This makes finding possible bottlenecks throughout your application much easier and faster.
Expand All @@ -31,6 +31,6 @@ By definition, a distributed trace includes more than one transaction.
You can use the <<spans,span timeline visualization>> to view a waterfall display of all of the transactions from individual services that are connected in a trace.

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

TIP: Distributed tracing is supported by all APM agents and there’s no additional configuration needed.
6 changes: 2 additions & 4 deletions docs/apm/transactions.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ The *Transactions* table, however, provides only a list of _transaction groups_
In other words, this view groups all transactions of the same name together, and only displays one transaction for each group.

[role="screenshot"]
image::apm/images/apm-transactions-overview.png[Example view of transactions table in the APM UI in Kibana]
image::apm/images/apm-transactions-overview.png[Example view of transactions table in the APM app in Kibana]

*Time spent by span type* -- beta[] Certain agents support breakdown graphs in the APM UI.
*Time spent by span type* -- Most agents support breakdown graphs in the APM app.
This graph is an easy way to visualize where your application is spending most of its time.
For example, is your app spending time in external calls, database processing, or application code execution?

Expand All @@ -22,8 +22,6 @@ This could be a sign that the agent does not have auto-instrumentation for whate

It's important to note that if you have asynchronous spans, the sum of all span times may exceed the duration of the transaction.

TIP: If the *Time spent by span type* chart is missing in the APM UI, it means your agent does not support this feature yet.

*Transaction duration* shows the response times for this service and is broken down into average, 95th, and 99th percentile.
If there's a weird spike that you'd like to investigate,
you can simply zoom in on the graph - this will adjust the specific time range,
Expand Down
1 change: 0 additions & 1 deletion docs/developer/plugin/development-uiexports.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ An aggregate list of available UiExport types:
| Type | Purpose
| hacks | Any module that should be included in every application
| visTypes | Modules that register providers with the `ui/registry/vis_types` registry.
| fieldFormats | Modules that register providers with the `ui/registry/field_formats` registry.
| inspectorViews | Modules that register custom inspector views via the `viewRegistry` in `ui/inspector`.
| chromeNavControls | Modules that register providers with the `ui/registry/chrome_nav_controls` registry.
| navbarExtensions | Modules that register providers with the `ui/registry/navbar_extensions` registry.
Expand Down
41 changes: 29 additions & 12 deletions docs/discover/kuery.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,13 @@ they appear. This means documents with "quick brown fox" will match, but so will
to search for a phrase.

The query parser will no longer split on whitespace. Multiple search terms must be separated by explicit
boolean operators. Note that boolean operators are not case sensitive.
boolean operators. Lucene will combine search terms with an `or` by default, so `response:200 extension:php` would
become `response:200 or extension:php` in KQL. This will match documents where response matches 200, extension matches php, or both.
Note that boolean operators are not case sensitive.

`response:200 extension:php` in lucene would become `response:200 and extension:php`.
This will match documents where response matches 200 and extension matches php.
We can make terms required by using `and`.

We can make terms optional by using `or`.

`response:200 or extension:php` will match documents where response matches 200, extension matches php, or both.
`response:200 and extension:php` will match documents where response matches 200 and extension matches php.

By default, `and` has a higher precedence than `or`.

Expand Down Expand Up @@ -73,7 +72,7 @@ set these terms will be matched against all fields. For example, a query for `re
in the response field, but a query for just `200` will search for 200 across all fields in your index.
============

===== Nested Field Support
==== Nested Field Support

KQL supports querying on {ref}/nested.html[nested fields] through a special syntax. You can query nested fields in subtly different
ways, depending on the results you want, so crafting nested queries requires extra thought.
Expand All @@ -85,7 +84,8 @@ There are two main approaches to take:
* *Parts of the query can match different nested documents.* This is how a regular object field works.
Although generally less useful, there might be occasions where you want to query a nested field in this way.

Let's take a look at the first approach. In the following document, `items` is a nested field:
Let's take a look at the first approach. In the following document, `items` is a nested field. Each document in the nested
field contains a name, stock, and category.

[source,json]
----------------------------------
Expand Down Expand Up @@ -116,21 +116,38 @@ Let's take a look at the first approach. In the following document, `items` is a
}
----------------------------------

===== Match a single nested document

To find stores that have more than 10 bananas in stock, you would write a query like this:

`items:{ name:banana and stock > 10 }`

`items` is the "nested path". Everything inside the curly braces (the "nested group") must match a single document.
For example, `items:{ name:banana and stock:9 }` does not match because there isn't a single nested document that
matches the entire query in the nested group.
`items` is the "nested path". Everything inside the curly braces (the "nested group") must match a single nested document.

The following example returns no matches because no single nested document has bananas with a stock of 9.

`items:{ name:banana and stock:9 }`

==== Match different nested documents

What if you want to find a store with more than 10 bananas that *also* stocks vegetables? This is the second way of querying a nested field, and you can do it like this:
The subqueries in this example are in separate nested groups and can match different nested documents.

`items:{ name:banana } and items:{ stock:9 }`

`name:banana` matches the first document in the array and `stock:9` matches the third document in the array.

==== Combine approaches

You can combine these two approaches to create complex queries. What if you wanted to find a store with more than 10
bananas that *also* stocks vegetables? You could do this:

`items:{ name:banana and stock > 10 } and items:{ category:vegetable }`

The first nested group (`name:banana and stock > 10`) must still match a single document, but the `category:vegetables`
subquery can match a different nested document because it is in a separate group.

==== Nested fields inside other nested fields

KQL's syntax also supports nested fields inside of other nested fields&mdash;you simply have to specify the full path. Suppose you
have a document where `level1` and `level2` are both nested fields:

Expand Down
Binary file added docs/images/lens_data_info.gif
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/images/lens_drag_drop.gif
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/images/lens_remove_layer.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/images/lens_suggestions.gif
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/images/lens_tutorial_1.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/images/lens_tutorial_2.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/images/lens_tutorial_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/management/advanced-options.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ adapt to the interval between measurements. Keys are http://en.wikipedia.org/wik
`dateFormat:tz`:: The timezone that Kibana uses. The default value of `Browser` uses the timezone detected by the browser.
`dateNanosFormat`:: The format to use for displaying https://momentjs.com/docs/#/displaying/format/[pretty formatted dates] of {ref}/date_nanos.html[Elasticsearch date_nanos type].
`defaultIndex`:: The index to access if no index is set. The default is `null`.
`defaultRoute`:: The default route when opening Kibana. Use this setting to route users to a specific dashboard, application, or saved object as they enter each space.
`fields:popularLimit`:: The top N most popular fields to show.
`filterEditor:suggestValues`:: Set this property to `false` to prevent the filter editor from suggesting values for fields.
`filters:pinnedByDefault`:: Set this property to `true` to make filters have a global state (be pinned) by default.
Expand Down
24 changes: 18 additions & 6 deletions docs/settings/monitoring-settings.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,26 @@ production cluster as well as monitor data sent to a dedicated monitoring
cluster.

`xpack.monitoring.elasticsearch.username`::
Specifies the user ID that {kib} uses for authentication when it retrieves data
from the monitoring cluster. If not set, {kib} uses the value of the
`elasticsearch.username` setting.
Specifies the username used by {kib} monitoring to establish a persistent connection
in {kib} to the {es} monitoring cluster and to verify licensing status on the {es}
monitoring cluster.

Every other request performed by the Stack Monitoring UI to the monitoring {es}
cluster uses the authenticated user's credentials, which must be the same on
both the {es} monitoring cluster and the {es} production cluster.

If not set, {kib} uses the value of the `elasticsearch.username` setting.

`xpack.monitoring.elasticsearch.password`::
Specifies the password that {kib} uses for authentication when it retrieves data
from the monitoring cluster. If not set, {kib} uses the value of the
`elasticsearch.password` setting.
Specifies the password used by {kib} monitoring to establish a persistent connection
in {kib} to the {es} monitoring cluster and to verify licensing status on the {es}
monitoring cluster.

Every other request performed by the Stack Monitoring UI to the monitoring {es}
cluster uses the authenticated user's credentials, which must be the same on
both the {es} monitoring cluster and the {es} production cluster.

If not set, {kib} uses the value of the `elasticsearch.password` setting.

`telemetry.enabled`::
Set to `true` (default) to send cluster statistics to Elastic. Reporting your
Expand Down
Loading

0 comments on commit c21448c

Please sign in to comment.