diff --git a/CHANGELOG.md b/CHANGELOG.md index 29e96480..b372d9e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ The **patch** part changes incrementally at each release. * java: support for Oracle JRE * nagios-nrpe: add check_postgrey * evolinux-base: add mail related aliases +* metricbeat: add a role (copied from filebeat) ### Changed * evolinux-users: add sudo permission for bkctld check diff --git a/metricbeat/.kitchen.yml b/metricbeat/.kitchen.yml new file mode 100644 index 00000000..b21cc3db --- /dev/null +++ b/metricbeat/.kitchen.yml @@ -0,0 +1,28 @@ +--- +driver: + name: docker + privileged: true + use_sudo: false + +provisioner: + name: ansible_playbook + hosts: test-kitchen + roles_path: ../ + ansible_verbose: true + require_ansible_source: false + require_chef_for_busser: false + idempotency_test: true + +platforms: + - name: debian + driver_config: + image: evolix/ansible:2.2.1 + +suites: + - name: default + provisioner: + name: ansible_playbook + playbook: ./tests/test.yml + +transport: + max_ssh_sessions: 6 diff --git a/metricbeat/README.md b/metricbeat/README.md new file mode 100644 index 00000000..443e1107 --- /dev/null +++ b/metricbeat/README.md @@ -0,0 +1,11 @@ +# filebeat + +Install Metricbeat. + +## Tasks + +Everything is in the `tasks/main.yml` file. + +## Available variables + +* `elastic_stack_version`: version to install (default: `6.x`); diff --git a/metricbeat/defaults/main.yml b/metricbeat/defaults/main.yml new file mode 100644 index 00000000..fc833c4f --- /dev/null +++ b/metricbeat/defaults/main.yml @@ -0,0 +1,2 @@ +--- +elastic_stack_version: "6.x" diff --git a/metricbeat/files/elasticsearch.key b/metricbeat/files/elasticsearch.key new file mode 100644 index 00000000..1b50dcca --- /dev/null +++ b/metricbeat/files/elasticsearch.key @@ -0,0 +1,31 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.14 (GNU/Linux) + +mQENBFI3HsoBCADXDtbNJnxbPqB1vDNtCsqhe49vFYsZN9IOZsZXgp7aHjh6CJBD +A+bGFOwyhbd7at35jQjWAw1O3cfYsKAmFy+Ar3LHCMkV3oZspJACTIgCrwnkic/9 +CUliQe324qvObU2QRtP4Fl0zWcfb/S8UYzWXWIFuJqMvE9MaRY1bwUBvzoqavLGZ +j3SF1SPO+TB5QrHkrQHBsmX+Jda6d4Ylt8/t6CvMwgQNlrlzIO9WT+YN6zS+sqHd +1YK/aY5qhoLNhp9G/HxhcSVCkLq8SStj1ZZ1S9juBPoXV1ZWNbxFNGwOh/NYGldD +2kmBf3YgCqeLzHahsAEpvAm8TBa7Q9W21C8vABEBAAG0RUVsYXN0aWNzZWFyY2gg +KEVsYXN0aWNzZWFyY2ggU2lnbmluZyBLZXkpIDxkZXZfb3BzQGVsYXN0aWNzZWFy +Y2gub3JnPokBOAQTAQIAIgUCUjceygIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC +F4AACgkQ0n1mbNiOQrRzjAgAlTUQ1mgo3nK6BGXbj4XAJvuZDG0HILiUt+pPnz75 +nsf0NWhqR4yGFlmpuctgCmTD+HzYtV9fp9qW/bwVuJCNtKXk3sdzYABY+Yl0Cez/ +7C2GuGCOlbn0luCNT9BxJnh4mC9h/cKI3y5jvZ7wavwe41teqG14V+EoFSn3NPKm +TxcDTFrV7SmVPxCBcQze00cJhprKxkuZMPPVqpBS+JfDQtzUQD/LSFfhHj9eD+Xe +8d7sw+XvxB2aN4gnTlRzjL1nTRp0h2/IOGkqYfIG9rWmSLNlxhB2t+c0RsjdGM4/ +eRlPWylFbVMc5pmDpItrkWSnzBfkmXL3vO2X3WvwmSFiQbkBDQRSNx7KAQgA5JUl +zcMW5/cuyZR8alSacKqhSbvoSqqbzHKcUQZmlzNMKGTABFG1yRx9r+wa/fvqP6OT +RzRDvVS/cycws8YX7Ddum7x8uI95b9ye1/Xy5noPEm8cD+hplnpU+PBQZJ5XJ2I+ +1l9Nixx47wPGXeClLqcdn0ayd+v+Rwf3/XUJrvccG2YZUiQ4jWZkoxsA07xx7Bj+ +Lt8/FKG7sHRFvePFU0ZS6JFx9GJqjSBbHRRkam+4emW3uWgVfZxuwcUCn1ayNgRt +KiFv9jQrg2TIWEvzYx9tywTCxc+FFMWAlbCzi+m4WD+QUWWfDQ009U/WM0ks0Kww +EwSk/UDuToxGnKU2dQARAQABiQEfBBgBAgAJBQJSNx7KAhsMAAoJENJ9ZmzYjkK0 +c3MIAIE9hAR20mqJWLcsxLtrRs6uNF1VrpB+4n/55QU7oxA1iVBO6IFu4qgsF12J +TavnJ5MLaETlggXY+zDef9syTPXoQctpzcaNVDmedwo1SiL03uMoblOvWpMR/Y0j +6rm7IgrMWUDXDPvoPGjMl2q1iTeyHkMZEyUJ8SKsaHh4jV9wp9KmC8C+9CwMukL7 +vM5w8cgvJoAwsp3Fn59AxWthN3XJYcnMfStkIuWgR7U2r+a210W6vnUxU4oN0PmM +cursYPyeV0NX/KQeUeNMwGTFB6QHS/anRaGQewijkrYYoTNtfllxIu9XYmiBERQ/ +qPDlGRlOgVTd9xUfHFkzB52c70E= +=92oX +-----END PGP PUBLIC KEY BLOCK----- diff --git a/metricbeat/meta/main.yml b/metricbeat/meta/main.yml new file mode 100644 index 00000000..5440675d --- /dev/null +++ b/metricbeat/meta/main.yml @@ -0,0 +1,20 @@ +galaxy_info: + author: Evolix + description: Installation and basic configuration of Metricbeat. + + issue_tracker_url: https://forge.evolix.org/projects/ansible-roles/issues + + license: GPLv2 + + min_ansible_version: 2.2 + + platforms: + - name: Debian + versions: + - jessie + - stretch + +dependencies: [] + # List your role dependencies here, one per line. + # Be sure to remove the '[]' above if you add dependencies + # to this list. diff --git a/metricbeat/tasks/main.yml b/metricbeat/tasks/main.yml new file mode 100644 index 00000000..07ffb67a --- /dev/null +++ b/metricbeat/tasks/main.yml @@ -0,0 +1,41 @@ +--- + +- name: APT https transport is enabled + apt: + name: apt-transport-https + state: present + tags: + - metricbeat + - packages + +- name: Elastic GPG key is installed + apt_key: + # url: https://artifacts.elastic.co/GPG-KEY-elasticsearch + data: "{{ lookup('file', 'elasticsearch.key') }}" + state: present + tags: + - metricbeat + - packages + +- name: Elastic sources list is available + apt_repository: + repo: "deb https://artifacts.elastic.co/packages/{{ elastic_stack_version | mandatory }}/apt stable main" + filename: elastic + state: present + update_cache: yes + tags: + - metricbeat + - packages + +- name: Metricbeat is installed + apt: + name: metricbeat + state: present + tags: + - metricbeat + - packages + +- name: Metricbeat service is enabled + systemd: + name: metricbeat + enabled: yes diff --git a/metricbeat/tests/test.yml b/metricbeat/tests/test.yml new file mode 100644 index 00000000..670cd0d3 --- /dev/null +++ b/metricbeat/tests/test.yml @@ -0,0 +1,4 @@ +--- +- hosts: test-kitchen + roles: + - role: metricbeat