elastic/ansible-beats

Add support for Auditbeat, Heartbeat and Functionbeat

jmlrt opened this issue · 13 comments

jmlrt commented

This Ansible role currently support Filebeat, MetricBeat and Packetbeat.

We should also support the other official Beats: Auditbeat, Heartbeat and FunctionBeat.

Note that supporting Winlogbeat would require Windows support which we currently don't have (see #17 and #27).

Related to #36

Tasks

  • Add 3 new integration tests which will deploy and validate each of the new Beats to support

Heartbeat workaround:

- name: Example playbook for installing heartbeat
  hosts: localhost
  roles:
    - {
        role: elastic.beats,
        beat: "heartbeat-elastic",
        beats_conf_dir: "/etc/heartbeat",
        conf_file: "/etc/heartbeat/heartbeat.yml",
        beat_conf: {
          "heartbeat": {
            "monitors": [
              {
                "type": "http",
                "schedule": "@every 5s",
                "urls": ["http://elastic.co"],
                "check.response.status": 301,
                "name": "elastic.co"
              }
            ]
          }
        },
        output_conf : {
          "elasticsearch": {
            "hosts": ["localhost:9200"]
          }
        }
      }

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.

jmlrt commented

👍

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.

jmlrt commented

still valid

Still Valid and very helpful since...heartbeat seems to be the one with the extra "-elastic" in the package name

Heartbeat workaround:

- name: Example playbook for installing heartbeat
  hosts: localhost
  roles:
    - {
        role: elastic.beats,
        beat: "heartbeat-elastic",
        beats_conf_dir: "/etc/heartbeat",
        conf_file: "/etc/heartbeat/heartbeat.yml",
        beat_conf: {
          "heartbeat": {
            "monitors": [
              {
                "type": "http",
                "schedule": "@every 5s",
                "urls": ["http://elastic.co"],
                "check.response.status": 301,
                "name": "elastic.co"
              }
            ]
          }
        },
        output_conf : {
          "elasticsearch": {
            "hosts": ["localhost:9200"]
          }
        }
      }

This doesn't seem to work because of this set_fact:

conf_file: '{{ beats_conf_dir }}/{{ beat }}.yml'

which takes precedence over any conf_file defined before.

An other workaround is to use an override file

# cat /etc/systemd/system/heartbeat-elastic.service.d/override.conf
[Service]
Environment="BEAT_CONFIG_OPTS=-c /etc/heartbeat/heartbeat-elastic.yml"

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.

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.

bump!