- Heartbeat Reference: other versions:
- Heartbeat overview
- Quick start: installation and configuration
- Set up and run
- Configure
- Monitors
- Task scheduler
- General settings
- Project paths
- Output
- Kerberos
- SSL
- Index lifecycle management (ILM)
- Elasticsearch index template
- Processors
- Define processors
- add_cloud_metadata
- add_cloudfoundry_metadata
- add_docker_metadata
- add_fields
- add_host_metadata
- add_id
- add_kubernetes_metadata
- add_labels
- add_locale
- add_network_direction
- add_nomad_metadata
- add_observer_metadata
- add_process_metadata
- add_tags
- community_id
- convert
- copy_fields
- decode_base64_field
- decode_json_fields
- decode_xml
- decode_xml_wineventlog
- decompress_gzip_field
- detect_mime_type
- dissect
- dns
- drop_event
- drop_fields
- extract_array
- fingerprint
- include_fields
- rate_limit
- registered_domain
- rename
- script
- syslog
- translate_sid
- truncate_fields
- urldecode
- Autodiscover
- Internal queue
- Logging
- HTTP endpoint
- Regular expression support
- Instrumentation
- heartbeat.reference.yml
- How to guides
- Exported fields
- Beat fields
- Synthetics browser metrics fields
- Cloud provider metadata fields
- Common heartbeat monitor fields
- Docker fields
- ECS fields
- Host fields
- HTTP monitor fields
- ICMP fields
- Jolokia Discovery autodiscover provider fields
- Kubernetes fields
- Process fields
- Host lookup fields
- APM Service fields
- SOCKS5 proxy fields
- Monitor summary fields
- Synthetics types fields
- TCP layer fields
- TLS encryption layer fields
- Monitor
- Secure
- Troubleshoot
- Get help
- Debug
- Common problems
- Heartbeat uses too much bandwidth
- Error loading config file
- Found unexpected or unknown characters
- Logstash connection doesn’t work
- Publishing to Logstash fails with "connection reset by peer" message
- @metadata is missing in Logstash
- Not sure whether to use Logstash or Beats
- SSL client fails to connect to Logstash
- Monitoring UI shows fewer Beats than expected
- High RSS memory usage due to MADV settings
- Contribute to Beats
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
beats_system
user or assign the built-inbeats_system
role to another user. For more information on the required privileges, see Create a monitoring user. For more information on how to use API keys, see Grant access using API keys. -
Add the
monitoring
settings in the Heartbeat configuration file. If you configured the Elasticsearch output and want to send Heartbeat monitoring events to the same Elasticsearch cluster, specify the following minimal configuration:monitoring: enabled: true elasticsearch: api_key: id:api_key username: beats_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 Heartbeat 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: beats_system password: somepassword
This setting identifies the Elasticsearch cluster under which the monitoring data for this Heartbeat instance will appear in the Stack Monitoring UI. To get a cluster’s
cluster_uuid
, call theGET /
API against that production 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 for more information about SSL settings. - Start Heartbeat.
- View the monitoring data in Kibana.