- Observability: other versions:
- What is Elastic Observability?
- What’s new in 8.15
- Get started
- Observability AI Assistant
- Application performance monitoring (APM)
- Self manage APM Server
- Data Model
- Features
- Navigate the APM UI
- Perform common tasks in the APM UI
- Configure APM agents with central config
- Control access to APM data
- Create an alert
- Create and upload source maps (RUM)
- Create custom links
- Filter data
- Find transaction latency and failure correlations
- Identify deployment details for APM agents
- Integrate with machine learning
- Explore mobile sessions with Discover
- Observe Lambda functions
- Query your data
- Storage Explorer
- Track deployments with annotations
- Use OpenTelemetry
- Manage storage
- Configure
- Advanced setup
- Secure communication
- Monitor
- APM Server API
- APM UI API
- Troubleshoot
- Upgrade
- Release notes
- Known issues
- Log monitoring
- Infrastructure monitoring
- AWS monitoring
- Azure monitoring
- Synthetic monitoring
- Get started
- Scripting browser monitors
- Configure lightweight monitors
- Manage monitors
- Work with params and secrets
- Analyze monitor data
- Monitor resources on private networks
- Use the CLI
- Configure projects
- Multi-factor Authentication
- Configure Synthetics settings
- Grant users access to secured resources
- Manage data retention
- Use Synthetics with traffic filters
- Migrate from the Elastic Synthetics integration
- Scale and architect a deployment
- Synthetics support matrix
- Synthetics Encryption and Security
- Troubleshooting
- Uptime monitoring
- Real user monitoring
- Universal Profiling
- Alerting
- Service-level objectives (SLOs)
- Cases
- CI/CD observability
- Troubleshooting
- Fields reference
- Tutorials
Use internal collection to send monitoring data
editUse internal collection to send monitoring data
editUse internal collectors to send Beats monitoring data directly to your monitoring cluster. Or as an alternative to internal collection, use Use Metricbeat collection. The benefit of using internal collection instead of Metricbeat is that you have fewer pieces of software to install and maintain.
-
Create an API key or user that has appropriate authority to send system-level monitoring
data to Elasticsearch. For example, you can use the built-in
apm_system
user or assign the built-inapm_system
role to another user. For more information on the required privileges, see Create a monitoring role. For more information on how to use API keys, see Grant access using API keys. -
Add the
monitoring
settings in the APM Server configuration file. If you configured the Elasticsearch output and want to send APM Server monitoring events to the same Elasticsearch cluster, specify the following minimal configuration:monitoring: enabled: true elasticsearch: api_key: id:api_key username: apm_system password: somepassword
If you want to send monitoring events to an Elastic Cloud monitoring cluster, you can use two simpler settings. When defined, these settings overwrite settings from other parts in the configuration. For example:
monitoring: enabled: true cloud.id: 'staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw==' cloud.auth: 'elastic:{pwd}'
If you configured a different output, such as Logstash or you want to send APM Server monitoring events to a separate Elasticsearch cluster (referred to as the monitoring cluster), you must specify additional configuration options. For example:
monitoring: enabled: true cluster_uuid: PRODUCTION_ES_CLUSTER_UUID elasticsearch: hosts: ["https://example.com:9200", "https://example2.com:9200"] api_key: id:api_key username: apm_system password: somepassword
This setting identifies the Elasticsearch cluster under which the monitoring data for this APM Server instance will appear in the Stack Monitoring UI. To get a cluster’s
cluster_uuid
, call theGET /
API against that cluster.This setting identifies the hosts and port numbers of Elasticsearch nodes that are part of the monitoring cluster.
Specify one of
api_key
orusername
/password
.If you want to use PKI authentication to send monitoring events to Elasticsearch, you must specify a different set of configuration options. For example:
monitoring: enabled: true cluster_uuid: PRODUCTION_ES_CLUSTER_UUID elasticsearch: hosts: ["https://example.com:9200", "https://example2.com:9200"] username: "" ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] ssl.certificate: "/etc/pki/client/cert.pem" ssl.key: "/etc/pki/client/cert.key"
You must specify the
username
as""
explicitly so that the username from the client certificate (CN
) is used. See SSL/TLS output settings for more information about SSL settings. - Start APM Server.
- View the monitoring data in Kibana.
Settings for internal collection
editUse the following settings to configure internal collection when you are not using Metricbeat to collect monitoring data.
You specify these settings in the X-Pack monitoring section of the
apm-server.yml
config file:
monitoring.enabled
editThe monitoring.enabled
config is a boolean setting to enable or disable X-Pack monitoring.
If set to true
, monitoring is enabled.
The default value is false
.
monitoring.elasticsearch
editThe Elasticsearch instances that you want to ship your APM Server metrics to. This configuration option contains the following fields:
api_key
editThe detail of the API key to be used to send monitoring information to Elasticsearch. See Grant access using API keys for more information.
bulk_max_size
editThe maximum number of metrics to bulk in a single Elasticsearch bulk API index request.
The default is 50
. For more information, see Elasticsearch.
backoff.init
editThe number of seconds to wait before trying to reconnect to Elasticsearch after
a network error. After waiting backoff.init
seconds, APM Server tries to
reconnect. If the attempt fails, the backoff timer is increased exponentially up
to backoff.max
. After a successful connection, the backoff timer is reset. The
default is 1s
.
backoff.max
editThe maximum number of seconds to wait before attempting to connect to
Elasticsearch after a network error. The default is 60s
.
compression_level
editThe gzip compression level. Setting this value to 0
disables compression. The
compression level must be in the range of 1
(best speed) to 9
(best
compression). The default value is 0
. Increasing the compression level
reduces the network usage but increases the CPU usage.
headers
editCustom HTTP headers to add to each request. For more information, see Elasticsearch.
hosts
editThe list of Elasticsearch nodes to connect to. Monitoring metrics are distributed to these nodes in round robin order. For more information, see Elasticsearch.
max_retries
editThe number of times to retry sending the monitoring metrics after a failure.
After the specified number of retries, the metrics are typically dropped. The
default value is 3
. For more information, see Elasticsearch.
parameters
editDictionary of HTTP parameters to pass within the URL with index operations.
password
editThe password that APM Server uses to authenticate with the Elasticsearch instances for shipping monitoring data.
metrics.period
editThe time interval (in seconds) when metrics are sent to the Elasticsearch cluster. A new snapshot of APM Server metrics is generated and scheduled for publishing each period. The default value is 10 * time.Second.
state.period
editThe time interval (in seconds) when state information are sent to the Elasticsearch cluster. A new snapshot of APM Server state is generated and scheduled for publishing each period. The default value is 60 * time.Second.
protocol
editThe name of the protocol to use when connecting to the Elasticsearch cluster. The options
are: http
or https
. The default is http
. If you specify a URL for hosts
,
however, the value of protocol is overridden by the scheme you specify in the URL.
proxy_url
editThe URL of the proxy to use when connecting to the Elasticsearch cluster. For more information, see Elasticsearch.
timeout
editThe HTTP request timeout in seconds for the Elasticsearch request. The default is 90
.
ssl
editConfiguration options for Transport Layer Security (TLS) or Secure Sockets Layer
(SSL) parameters like the certificate authority (CA) to use for HTTPS-based
connections. If the ssl
section is missing, the host CAs are used for
HTTPS connections to Elasticsearch. For more information, see SSL/TLS output settings.
username
editThe user ID that APM Server uses to authenticate with the Elasticsearch instances for shipping monitoring data.
On this page