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

[8.15](backport #3723) Move APM UI documentation to observability-docs #4115

Merged
merged 1 commit into from
Aug 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions docs/en/apm-server/redirects.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -226,23 +226,23 @@ This section has moved. Please see {observability-guide}/apm-tune-data-ingestion
[role="exclude",id="load-dashboards-logstash"]
=== Tuning APM Server using both v1 and v2 intake API

Loading dashboards from APM Server is no longer supported. Please see the {kibana-ref}/xpack-apm.html[{kib} APM UI] documentation.
Loading dashboards from APM Server is no longer supported. Please see the {observability-guide}/apm-ui.html[{kib} APM UI] documentation.

[role="exclude",id="url-option"]
=== setup.dashboards.url

Loading dashboards from APM Server is no longer supported. Please see the {kibana-ref}/xpack-apm.html[{kib} APM UI] documentation.
Loading dashboards from APM Server is no longer supported. Please see the {observability-guide}/apm-ui.html[{kib} APM UI] documentation.

[role="exclude",id="file-option"]
=== setup.dashboards.file

Loading dashboards from APM Server is no longer supported. Please see the {kibana-ref}/xpack-apm.html[{kib} APM UI] documentation.
Loading dashboards from APM Server is no longer supported. Please see the {observability-guide}/apm-ui.html[{kib} APM UI] documentation.

[role="exclude",id="load-kibana-dashboards"]
=== Dashboards

Loading {kib} dashboards from APM Server is no longer supported.
Please use the {kibana-ref}/xpack-apm.html[{kib} APM UI] instead.
Please use the {observability-guide}/apm-ui.html[{kib} APM UI] instead.
As an alternative, a small number of dashboards and visualizations are available in the
https://github.com/elastic/apm-contrib/tree/main/kibana[apm-contrib] repository.

Expand Down
84 changes: 84 additions & 0 deletions docs/en/observability/apm-ui/advanced-queries.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
[[apm-advanced-queries]]
=== Query your data

Querying your APM data is an essential tool that can make finding bottlenecks in your code even more straightforward.

Using the query bar, a powerful data query feature, you can pass advanced queries on your data
to filter on specific pieces of information you’re interested in.

The query bar comes with a handy autocomplete that helps find the fields and even provides suggestions to the data they include.
You can select the query bar and hit the down arrow on your keyboard to begin scanning recommendations.

[float]
[[apm-app-advanced-queries]]
=== Querying in the APM UI

When querying in the APM UI, you’re merely searching and selecting data from fields in {es} 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::./images/apm-query-bar.png[Example of the Kibana Query bar in APM UI in Kibana]

[TIP]
=====
To learn more about the {kib} query language capabilities, see the {kibana-ref}/kuery-query.html[Kibana Query Language Enhancements] documentation.
=====

[float]
[[apm-app-queries]]
==== APM UI queries

APM queries can be handy for removing noise from your data in the <<apm-services,Services>>, <<apm-transactions,Transactions>>,
<<apm-errors,Errors>>, <<apm-metrics,Metrics>>, and <<apm-traces,Traces>> views.

For example, in the *Services* view, you can quickly view a list of all the instrumented services running on your production
environment: `service.environment : production`. Or filter the list by including the APM agent's name and the host it’s running on:
`service.environment : "production" and agent.name : "java" and host.name : "prod-server1"`.

On the *Traces* view, you might want to view failed transaction results from any of your running containers:
`transaction.result :"FAILURE" and container.id : *`.

On the *Transactions* view, you may want to list only the slower transactions than a specified time threshold: `transaction.duration.us > 2000000`.
Or filter the list by including the service version and the Kubernetes pod it's running on:
`transaction.duration.us > 2000000 and service.version : "7.12.0" and kubernetes.pod.name : "pod-5468b47f57-pqk2m"`.

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

Alternatively, you can query your APM documents in {kibana-ref}/discover.html[*Discover*].
Querying documents in *Discover* works the same way as queries in the APM UI,
and *Discover* supports all of the example APM UI queries shown on this page.

[float]
[[discover-queries]]
==== Discover queries

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

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

Use the APM UI to find a transaction name and time bucket that you're interested in learning more about.
Then, switch to *Discover* and make a search:

["source","sh"]
-----
processor.event: "transaction" AND transaction.name: "<TRANSACTION_NAME_HERE>" and transaction.duration.us > 13000 and transaction.duration.us < 14000`
-----

In this example, we're interested in viewing all of the `APIRestController#customers` transactions
that took between 13 and 14 milliseconds. Here's what Discover returns:

[role="screenshot"]
image::./images/advanced-discover.png[View all transactions in bucket]

You can now explore the data until you find a specific transaction that you're interested in.
Copy that transaction's `transaction.id` and paste it into the APM UI to view the data in the context of the APM UI:

[role="screenshot"]
image::./images/specific-transaction-search.png[View specific transaction in APM UI]
[role="screenshot"]
image::./images/specific-transaction.png[View specific transaction in APM UI]
55 changes: 55 additions & 0 deletions docs/en/observability/apm-ui/agent-configuration.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
[[apm-agent-configuration]]
=== APM Agent central configuration

++++
<titleabbrev>Configure APM agents with central config</titleabbrev>
++++

APM Agent configuration allows you to fine-tune your APM agent configuration from within the APM UI.
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 UI will let you know when your APM agents have applied your configurations.

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

[float]
==== Precedence

Configurations set from the APM UI take precedence over configurations set locally in each APM 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 essential to set custom default configurations locally in each of your APM agents.

[float]
==== Supported configurations

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

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

[horizontal]
Android agent:: {apm-android-ref}/configuration.html[Configuration reference]
Go agent:: {apm-go-ref}/configuration.html[Configuration reference]
iOS agent:: {apm-ios-ref}/configuration.html[Configuration reference]
Java agent:: {apm-java-ref}/configuration.html[Configuration reference]
.NET agent:: {apm-dotnet-ref}/configuration.html[Configuration reference]
Node.js agent:: {apm-node-ref}/configuration.html[Configuration reference]
PHP agent:: {apm-php-ref}/configuration.html[Configuration reference]
Python agent:: {apm-py-ref}/configuration.html[Configuration reference]
Ruby agent:: {apm-ruby-ref}/configuration.html[Configuration reference]
Real User Monitoring (RUM) agent:: {apm-rum-ref}/configuration.html[Configuration reference]

[float]
==== APM Server configuration

For most users, APM agent configuration should work out-of-the-box.
If you run into trouble, it may be because you're not using the {es} output,
or because your {es} credentials don't have sufficient privileges.

See {apm-guide-ref}/configure-agent-config.html[configure APM agent configuration]
to learn how to configure APM Server to avoid these problems.
18 changes: 18 additions & 0 deletions docs/en/observability/apm-ui/agent-explorer.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[[apm-agent-explorer]]
=== APM Agent explorer

++++
<titleabbrev>Identify deployment details for APM agents</titleabbrev>
++++

beta::[]

APM agent explorer provides a centralized panel to identify APM agent deployment details, like service name, environment, instances, and agent name, version, and documentation.

[role="screenshot"]
image::./images/apm-agent-explorer.png[APM agent explorer]

Select an APM agent to expand it and view the details of each agent instance.

[role="screenshot"]
image::./images/apm-agent-explorer-flyout.png[APM agent explorer flyout]
Loading
Loading