Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

* **role:logstash**: Add optional variables `logstash__monitoring_cluster_uuid`, `logstash__monitoring_enabled`.
* **role:elasticsearch**: Add optional variables `elasticsearch__cluster_routing_allocation_disk_watermark_flood_stage_frozen_max_headroom`, `elasticsearch__cluster_routing_allocation_disk_watermark_flood_stage_max_headroom`, `elasticsearch__cluster_routing_allocation_disk_watermark_high_max_headroom`, `elasticsearch__cluster_routing_allocation_disk_watermark_low_max_headroom`.
* **role:elasticsearch**: Add optional variable `elasticsearch__cluster_routing_allocation_disk_watermark_flood_stage_frozen`.
* **role:graylog_datanode**: Add optional variable `graylog_datanode__raw`.
Expand Down
14 changes: 14 additions & 0 deletions roles/logstash/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,18 @@ If you use the [logstash playbook](https://github.com/Linuxfabrik/lfops/blob/mai
* Type: String.
* Default: `'info'`

`logstash__monitoring_cluster_uuid`
Comment thread
NavidSassan marked this conversation as resolved.

* Elasticsearch Cluster UUID. Binds the metrics of Logstash to this specific cluster.
* Type: String.
* Default: unset

`logstash__monitoring_enabled`

* Enables or disables default collection of Logstash monitoring data.
* Type: Bool.
* Default: `true`

`logstash__node_name`

* A descriptive name for the node.
Expand Down Expand Up @@ -218,6 +230,8 @@ logstash__grok_patterns__host_var:
state: 'absent'
logstash__java_opts: '-Djava.io.tmpdir={{ logstash__path_data }}/tmp'
logstash__log_level: 'info'
logstash__monitoring_cluster_uuid: 'zk-HjQtYQGyL3NFSSu7InA'
logstash__monitoring_enabled: false
logstash__node_name: '{{ ansible_facts["nodename"] }}'
logstash__path_data: '/var/lib/logstash'
logstash__path_logs: '/var/log/logstash'
Expand Down
1 change: 1 addition & 0 deletions roles/logstash/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ logstash__java_opts: >
-Xms{{ [((ansible_facts["memtotal_mb"] * 0.6) | int), 8192] | min }}m
-Xmx{{ [((ansible_facts["memtotal_mb"] * 0.6) | int), 8192] | min }}m
logstash__log_level: 'info'
logstash__monitoring_enabled: true
logstash__node_name: '{{ ansible_facts["nodename"] }}'
logstash__path_data: '/var/lib/logstash'
logstash__path_logs: '/var/log/logstash'
Expand Down
12 changes: 12 additions & 0 deletions roles/logstash/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
- block:

- name: 'Ensure cluster uuid is valid'
ansible.builtin.assert:
that:
- 'logstash__monitoring_cluster_uuid is ansible.builtin.regex("^[A-Za-z0-9_-]{22}$")'
fail_msg: '`logstash__monitoring_cluster_uuid: {{ logstash__monitoring_cluster_uuid }}` is not a valid cluster uuid'
when: 'logstash__monitoring_cluster_uuid is defined and logstash__monitoring_cluster_uuid | length > 0'

tags:
- 'always'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing another empty newline (2 blank lines between blocks)

- block:

- name: 'Install logstash'
Expand Down
9 changes: 8 additions & 1 deletion roles/logstash/templates/etc/logstash/logstash.yml.j2
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# {{ ansible_managed }}
# 2026012801
# 2026042801

# Settings file in YAML
#
Expand Down Expand Up @@ -374,6 +374,13 @@ path.logs: '{{ logstash__path_logs }}'
#xpack.geoip.downloader.enabled: true
#xpack.geoip.downloader.endpoint: "https://geoip.elastic.co/v1/database"

# Stack Monitoring
Comment thread
NavidSassan marked this conversation as resolved.
# https://www.elastic.co/docs/reference/logstash/monitoring-with-elastic-agent
monitoring.enabled: {{ logstash__monitoring_enabled | bool | string | lower }}
{% if logstash__monitoring_cluster_uuid is defined and logstash__monitoring_cluster_uuid | length > 0 %}
monitoring.cluster_uuid: '{{ logstash__monitoring_cluster_uuid }}'
{% endif %}

{% if logstash__raw | length %}
# raw
{{ logstash__raw }}
Expand Down
Loading