Skip to main content
Version: 10.3.2

Heartbeat

General configuration

The configuration file is heartbeat.yml.

Input config

heartbeat.config.monitors:
# Directory + glob pattern to search for configuration files
path: {{ heartbeat.path.monitor + '/*.yml' }}
reload.enabled: true
# How often to check for changes
reload.period: 60

Output config

output.logstash:
# The Logstash hosts
hosts: ["{{ logstash_host }}:{{ logstash_heartbeat_port }}"]

# Optional SSL. By default is off.
# List of root certificates for HTTPS server verifications
ssl.certificate_authorities: ["{{ heartbeat.path.home + '/ssl/ca.crt' }}"]

Input configuration

The configuration files have the following pattern: monitors.d/*.yml.

HTTP monitors

Workfusion

The configuration file is heartbeat-workfusion.yml.

This monitor checks the status of the workfusion service.

- type: http
urls:
- "https://{{ app_hostname }}:{{ nginx_port_ssl }}/workfusion"
schedule: '@every {{ heartbeat_monitors_http_schedule }}'
timeout: 30s
name: 'workfusion'
ssl:
certificate_authorities: ['{{ heartbeat_home }}/ssl/ca.crt']
supported_protocols: ["TLSv1.2"]
check.request:
method: GET
check.response:
status: 200

Marathon

The configuration file is heartbeat-marathon.yml.

This monitor checks the status of the Marathon service.

- type: http
urls:
- "https://{{ vds_master_hostname }}:{{ marathon_proxy_port }}/ui"
schedule: '@every {{ heartbeat_monitors_http_schedule }}'
timeout: 30s
name: 'marathon'
ssl:
certificate_authorities: ['{{ heartbeat_home }}/ssl/ca.crt']
supported_protocols: ["TLSv1.2"]
check.request:
method: GET
check.response:
status: 200

TCP monitors

ZooKeeper

The configuration file is heartbeat-zookeeper.yml.

This monitor checks the status of the ZooKeeper service.

- type: tcp
hosts: ["{{ zookeeper_host }}"]
ports: [{{ zookeeper_port }}]
schedule: '@every {{ heartbeat_monitors_http_schedule }}'
timeout: 30s
name: 'zookeeper'