feat: added metricbeat (inactive)
parent
56a8a406b2
commit
190b8394eb
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
metricbeat_image_name: "docker.elastic.co/beats/metricbeat"
|
||||||
|
metricbeat_image_version: "7.16.3"
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
### tags:
|
||||||
|
### update_certs
|
||||||
|
### update_config
|
||||||
|
### update_deployment
|
||||||
|
|
||||||
|
- name: "Check if metricbeat/docker-compose.yml exists"
|
||||||
|
stat:
|
||||||
|
path: '{{ service_base_path }}/metricbeat/docker-compose.yml'
|
||||||
|
register: check_docker_compose_file
|
||||||
|
tags:
|
||||||
|
- update_config
|
||||||
|
- update_deployment
|
||||||
|
|
||||||
|
- name: "Stop metricbeat"
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: '{{ service_base_path }}/metricbeat'
|
||||||
|
state: absent
|
||||||
|
when: check_docker_compose_file.stat.exists
|
||||||
|
tags:
|
||||||
|
- update_config
|
||||||
|
- update_deployment
|
||||||
|
|
||||||
|
- name: "Deploy docker templates for metricbeat"
|
||||||
|
include_role:
|
||||||
|
name: sma_deploy
|
||||||
|
tasks_from: templates
|
||||||
|
vars:
|
||||||
|
current_config: "_docker"
|
||||||
|
current_base_path: "{{ service_base_path }}"
|
||||||
|
current_destination: "metricbeat"
|
||||||
|
current_owner: "{{ docker_owner }}"
|
||||||
|
current_group: "{{ docker_group }}"
|
||||||
|
current_docker: "{{ metricbeat_docker }}"
|
||||||
|
tags:
|
||||||
|
- update_config
|
||||||
|
- update_deployment
|
||||||
|
|
||||||
|
- name: "Deploy service templates for metricbeat"
|
||||||
|
include_role:
|
||||||
|
name: sma_deploy
|
||||||
|
tasks_from: templates
|
||||||
|
vars:
|
||||||
|
current_config: "metricbeat"
|
||||||
|
current_base_path: "{{ service_base_path }}"
|
||||||
|
current_destination: "metricbeat"
|
||||||
|
current_owner: "{{ docker_owner }}"
|
||||||
|
current_group: "{{ docker_group }}"
|
||||||
|
tags:
|
||||||
|
- update_config
|
||||||
|
|
||||||
|
- name: "Deploy certificate templates for metricbeat"
|
||||||
|
include_role:
|
||||||
|
name: sma_deploy
|
||||||
|
tasks_from: templates
|
||||||
|
vars:
|
||||||
|
current_config: "elastic-certs/{{ stage }}-certs"
|
||||||
|
current_base_path: "{{ service_base_path }}"
|
||||||
|
current_destination: "metricbeat/certs"
|
||||||
|
current_owner: "{{ docker_owner }}"
|
||||||
|
current_group: "{{ docker_group }}"
|
||||||
|
cleanup_destination: "true"
|
||||||
|
tags:
|
||||||
|
- update_certs
|
||||||
|
- update_config
|
||||||
|
|
||||||
|
- name: "Update metricbeat"
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: '{{ service_base_path }}/metricbeat'
|
||||||
|
state: present
|
||||||
|
pull: yes
|
||||||
|
tags:
|
||||||
|
- update_config
|
||||||
|
- update_deployment
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
metricbeat_id: "{{ inventory_hostname }}-metricbeat"
|
||||||
|
|
||||||
|
metricbeat_docker: {
|
||||||
|
services: [
|
||||||
|
{
|
||||||
|
name: "{{ metricbeat_id }}",
|
||||||
|
image_name: "{{ metricbeat_image_name }}",
|
||||||
|
image_version: "{{ metricbeat_image_version }}",
|
||||||
|
user: root,
|
||||||
|
environment: [
|
||||||
|
"node.name: \"{{ metricbeat_id }}\"",
|
||||||
|
],
|
||||||
|
volumes: [
|
||||||
|
'"./config/metricbeat.yml:/usr/share/metricbeat/metricbeat.yml:ro"',
|
||||||
|
'"/var/run/docker.sock:/var/run/docker.sock:ro"',
|
||||||
|
'"/sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro"',
|
||||||
|
'"/proc:/hostfs/proc:ro"',
|
||||||
|
'"/:/hostfs:ro"',
|
||||||
|
'"./certs:/usr/share/metricbeat/config/certificates:ro"',
|
||||||
|
],
|
||||||
|
extra_hosts: "{{ metricbeat_extra_hosts | default([]) }}",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
@ -0,0 +1,59 @@
|
|||||||
|
# https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-reference-yml.html
|
||||||
|
|
||||||
|
metricbeat.modules:
|
||||||
|
- module: docker
|
||||||
|
metricsets:
|
||||||
|
- "container"
|
||||||
|
- "cpu"
|
||||||
|
- "diskio"
|
||||||
|
- "event"
|
||||||
|
- "healthcheck"
|
||||||
|
- "info"
|
||||||
|
#- "image"
|
||||||
|
- "memory"
|
||||||
|
- "network"
|
||||||
|
#- "network_summary"
|
||||||
|
hosts: ["unix:///var/run/docker.sock"]
|
||||||
|
period: 10s
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
- module: system
|
||||||
|
metricsets:
|
||||||
|
- cpu # CPU usage
|
||||||
|
- load # CPU load averages
|
||||||
|
- memory # Memory usage
|
||||||
|
- network # Network IO
|
||||||
|
- process # Per process metrics
|
||||||
|
- process_summary # Process summary
|
||||||
|
- uptime # System Uptime
|
||||||
|
- socket_summary # Socket summary
|
||||||
|
#- core # Per CPU core usage
|
||||||
|
#- diskio # Disk IO
|
||||||
|
#- filesystem # File system usage for each mountpoint
|
||||||
|
#- fsstat # File system summary metrics
|
||||||
|
#- raid # Raid
|
||||||
|
#- socket # Sockets and connection info (linux only)
|
||||||
|
#- service # systemd service information
|
||||||
|
processes: ['.*']
|
||||||
|
period: 10s
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
#setup:
|
||||||
|
# dashboards.enabled: true
|
||||||
|
# kibana:
|
||||||
|
# host: "{{ stage }}-elastic-stack-kibana-01-kibana.{{ domain }}:443"
|
||||||
|
# protocol: "https"
|
||||||
|
# username: "elastic_admin_username"
|
||||||
|
# password: "elastic_admin_password"
|
||||||
|
|
||||||
|
fields:
|
||||||
|
stage: {{ stage }}
|
||||||
|
hostname: {{ inventory_hostname }}
|
||||||
|
|
||||||
|
output.logstash:
|
||||||
|
hosts: ["{{ shared_service_elastic_stack_logstash_01_hostname }}:5044"]
|
||||||
|
ssl:
|
||||||
|
certificate_authorities:
|
||||||
|
- /usr/share/metricbeat/config/certificates/ca/ca.crt
|
||||||
|
certificate: /usr/share/metricbeat/config/certificates/{{ filebeat_certificate }}/{{ filebeat_certificate }}.crt
|
||||||
|
key: /usr/share/metricbeat/config/certificates/{{ filebeat_certificate }}/{{ filebeat_certificate }}.key
|
||||||
Loading…
Reference in New Issue