elastic/ansible-beats

configuration per host

esseti opened this issue · 3 comments

Hi all,

do you have a tip on how I can create specifc moduels configuration for specific hosts?
lest see that i've metric beats,

I want to monitor for all the host thsi

  • module: "system"
    metricsets:
    - cpu
    - load
    - filesystem
    - fsstat
    - memory
    # - network
    - process
    enabled: true
    period: 10s
    processes: [".*"]
    cpu_ticks: false

But for the postgres machine i want to add also additional modules, what can I do? how can I do that with this role?
Should I create various play with differnt confs?

TIMTOWDY: You can use Ansible group_vars and/or host_vars to specify the metricsets.

First specify global (shared) metricset in one variable at the global level for all hosts and then add additional metricset at the specific group level.

Global metrics (in group_vars/all/es_beat.yml)

beat_config:
  - module: "system"
    metricsets: "{{ beat_metricsets_common + beat_metricsets_extra }}"

beat_metricsets_common: 
  - cpu
  - load

beat_metricsets_extra: []

Postgres specific ones (group_vars/postgres/es_beat.yml):

beat_metricsets_extra: 
  - postgres

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

This issue has been automatically closed because it has not had recent activity since being marked as stale.