Configuration guides
Filebeat
Configuraiton file – filebeat.yml
Directory config
# general settings
path:
home: '{{ install_dir }}/filebeat'
config: '{{ install_dir }}/filebeat'
data: '{{ install_dir }}/filebeat/data'
logs: '{{ install_dir }}/filebeat/logs'
modules: '{{ install_dir }}/filebeat/modules.d'
Input config
filebeat:
registry_file: registry_in
config:
inputs:
enabled: true
path: inputs.d/*.yml
reload:
enabled: true
period: 10s
Name config
# The name of the shipper that publishes the network data. It can be used to group
# all the transactions sent by a single shipper in the web interface.
name: "{{ hostname }}"
Output config
# output settings
output.logstash:
enabled: true
hosts: ["{{ apm_hostname }}:{{ logstash_spa_port }}"]
ssl.certificate_authorities: ["{{ filebeat.path.home + '/ssl/ca.crt' }}"]
Logging config
logging.level: info
logging.to_syslog: False
logging.to_files: True
logging.files:
path: {{ filebeat.path.logs }}
name: filebeat.log
rotateeverybytes: 104857600
keepfiles: 30
Input Configuration
Configuration files – inputs.d/*.yml
Example of the input config:
- type: log
enabled: true
paths:
- /tmp/service.log
fields:
service_group_name: 'app'
service_name: 'service'
fields_under_root: true
close_inactive: 2m
Heartbeat
Configuration file 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
Configuration files monitors.d/.yml*
HTTP monitors
Workfusion
Configuration file heartbeat-workfusion.yml.
This monitor checks 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
Configuration file heartbeat-marathon.yml.
This monitor checks status of 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
Configuration file heartbeat-zookeeper.yml.
This monitor checks status of zookeeper service.
- type: tcp
hosts: ["{{ zookeeper_host }}"]
ports: [{{ zookeeper_port }}]
schedule: '@every {{ heartbeat_monitors_http_schedule }}'
timeout: 30s
name: 'zookeeper'
Metricbeat
Configuraiton file metricbeat.yml.
Directory config
# general settings
path.home: {{ install_dir }}/metricbeat
path.config: {{ install_dir }}/metricbeat
path.data: {{ install_dir }}/metricbeat/data
Input config
metricbeat.config.modules:
path: {{ install_dir }}/metricbeat/modules.d/*.yml
reload.enabled: false
Fields config
fields:
ns: {{ server_group }} # rpa, bi, master, ocr, agent
Name config
# The name of the shipper that publishes the network data. It can be used to group
# all the transactions sent by a single shipper in the web interface.
name: "{{ hostname }}"
Output config
# output settings
output.logstash:
hosts: ["{{ int_hostname }}:{{ logstash_metrics_port }}"] # logstash_metric_port=4569 by default
ssl.certificate_authorities: ["{{ install_dir + 'metricbeat/ssl/ca.crt' }}"]
Input Configuration
Configuration files modules.d/*.yml.
System metrics
Configuration file system.yml.
The module collects such system metrics as CPU/Memory/Disk/Processes.
- module: system
period: 30s
metricsets:
- cpu
- load
- memory
- network
- process
- process_summary
- diskio
processes: ['.*']
process.include_top_n:
by_cpu: 10 # include top {{ metricbeat_top_processes_cpu_count }} processes by CPU
by_memory: 10 # include top 10 {{ metricbeat_top_processes_memory_count }} processes by memory
- module: system
period: 30s
metricsets:
- filesystem
- fsstat
filesystem.ignore_types: [nfs, smbfs, autofs, tmpfs, devtmpfs]
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib)($|/)'
- module: system
period: 15m
metricsets:
- uptime
Workfusion custom metrics
Configuration file workfusion.yml.
The module collects directory metrics where WorkFusion is installed.
- module: workfusion
metricsets: ["directory"]
enabled: true
period: 60s
hosts: ["localhost"]
path: {{ install_dir }}
- module: workfusion
metricsets: ["volume"]
enabled: true
period: 60s
hosts: ["localhost"]
path: {{ install_dir }}
alias: install