diff options
author | Kelley Spoon <kelley.spoon@linaro.org> | 2018-12-10 07:48:50 -0600 |
---|---|---|
committer | Kelley Spoon <kelley.spoon@linaro.org> | 2018-12-13 12:19:30 +0000 |
commit | 50c1b2ae515a004e7a808de882f0256099b33497 (patch) | |
tree | b81e51d89870bee969d9ee1c0c844f5d704bc170 | |
parent | 3b6793ddfeac8142ffb0deb4344dd6ef2f4996de (diff) |
MetricBeat: create initial play for metricbeat
This change creates the initial support for installing metricbeat on our
servers.
Change-Id: I8292691ae17e1f34a17a5e7544406daff0ea309f
Reviewed-on: https://review.linaro.org/29393
Reviewed-by: Kelley Spoon <kelley.spoon@linaro.org>
-rw-r--r-- | hosts | 3 | ||||
-rw-r--r-- | metricbeat.yml | 7 | ||||
-rw-r--r-- | roles/metricbeat/defaults/main.yml | 40 | ||||
-rw-r--r-- | roles/metricbeat/handlers/main.yml | 3 | ||||
-rw-r--r-- | roles/metricbeat/tasks/main.yml | 35 | ||||
-rw-r--r-- | roles/metricbeat/templates/metricbeat.yml.j2 | 1 |
6 files changed, 89 insertions, 0 deletions
@@ -64,6 +64,9 @@ android-git-ap.linaro.org android-git-ie.linaro.org dev-private-git.linaro.org +[metricbeat:children] +filebeat + [elk] elk.linaro.org diff --git a/metricbeat.yml b/metricbeat.yml new file mode 100644 index 00000000..98f4e255 --- /dev/null +++ b/metricbeat.yml @@ -0,0 +1,7 @@ +--- +- name: Configure metricbeat + hosts: metricbeat + gather_facts: no + become: yes + roles: + - role: metricbeat diff --git a/roles/metricbeat/defaults/main.yml b/roles/metricbeat/defaults/main.yml new file mode 100644 index 00000000..8d561f1a --- /dev/null +++ b/roles/metricbeat/defaults/main.yml @@ -0,0 +1,40 @@ +--- +logstash_host: elk.linaro.org:5044 +logstash_cert: logstash-beats.crt +metricbeat_config_modules: | + metricbeat.modules: + - module: system + metricsets: + - cpu + #- load + #- core + - diskio + - filesystem + #- fsstat + - memory + - network + - process + enabled: true + period: 10s + processes: ['.*'] + cpu_ticks: false +metricbeat_config_general: | + name: {{ ansible_hostname }} + fields_under_root: false +metricbeat_config_processors: | + processors: +metricbeat_config_output: | + output.logstash: + hosts: ["{{logstash_host}}"] + ssl: + certificate_authorities: ["/etc/filebeat/{{logstash_cert}}"] +metricbeat_config_logging: | + logging: + level: warning + to_syslog: true +metricbeat_config: | + {{metricbeat_config_modules}} + {{metricbeat_config_general}} + {{metricbeat_config_processors}} + {{metricbeat_config_output}} + {{metricbeat_config_logging}} diff --git a/roles/metricbeat/handlers/main.yml b/roles/metricbeat/handlers/main.yml new file mode 100644 index 00000000..23588977 --- /dev/null +++ b/roles/metricbeat/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: restart-metricbeat + service: name=metricbeat state=restarted diff --git a/roles/metricbeat/tasks/main.yml b/roles/metricbeat/tasks/main.yml new file mode 100644 index 00000000..f211409a --- /dev/null +++ b/roles/metricbeat/tasks/main.yml @@ -0,0 +1,35 @@ +--- +- name: add elastic.co GPG pkg key + apt_key: + url: https://artifacts.elastic.co/GPG-KEY-elasticsearch + +- name: add beats repository + apt_repository: + repo: "deb https://artifacts.elastic.co/packages/6.x/apt stable main" + state: present + update_cache: yes + +- name: install metricbeat packages + apt: + name: "{{packages}}" + vars: + packages: + - metricbeat + notify: restart-metricbeat + +- name: install metricbeat configuration + template: + src=metricbeat.yml.j2 + dest=/etc/metricbeat/metricbeat.yml + owner=root + group=root + mode=0640 + notify: restart-metricbeat + +- name: copy logstash cert + copy: + src={{secrets_dir}}/files/elk/{{logstash_cert}} + dest=/etc/metricbeat/{{logstash_cert}} + +- name: enable metricbeat service + service: name=metricbeat enabled=yes state=started diff --git a/roles/metricbeat/templates/metricbeat.yml.j2 b/roles/metricbeat/templates/metricbeat.yml.j2 new file mode 100644 index 00000000..5e56e0c9 --- /dev/null +++ b/roles/metricbeat/templates/metricbeat.yml.j2 @@ -0,0 +1 @@ +{{metricbeat_config}} |