diff --git a/roles/server/defaults/main.yml b/roles/server/defaults/main.yml index 273ca08..e25f707 100644 --- a/roles/server/defaults/main.yml +++ b/roles/server/defaults/main.yml @@ -1,3 +1,12 @@ +--- +# defaults file for server telegraf_memory_high: "120M" telegraf_memory_max: "150M" telegraf_memory_swap_max: "0" +telegraf_agent_interval: "10s" +telegraf_agent_flush_interval: "10s" +telegraf_agent_flush_jitter: "2s" +telegraf_agent_metric_batch_size: 500 +telegraf_agent_metric_buffer_limit: 1000 +telegraf_agent_collection_jitter: "1s" +telegraf_agent_round_interval: true diff --git a/roles/server/files/telegraf.d/agent.conf b/roles/server/files/telegraf.d/agent.conf deleted file mode 100644 index 5dde452..0000000 --- a/roles/server/files/telegraf.d/agent.conf +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# GLOBAL AGENT CONFIG -############################################################################### -[agent] - ## Erfassungsintervall - interval = "10s" - - ## Batches kleiner halten → weniger RAM pro Batch - metric_batch_size = 500 - metric_buffer_limit = 10000 # Maximal 10.000 Messpunkte im RAM - - ## Wenn der Buffer voll ist, werden alte Daten verworfen - ## → verhindert "Memory blowup" - collection_jitter = "1s" - flush_interval = "10s" - flush_jitter = "2s" - - ## Jeder Output-Write versucht nur kurz, dann wird das Batch verworfen - ## → wichtig gegen RAM-Voll-Laufen - round_interval = true \ No newline at end of file diff --git a/roles/server/tasks/main.yml b/roles/server/tasks/main.yml index 9ccaf43..15ea7ce 100644 --- a/roles/server/tasks/main.yml +++ b/roles/server/tasks/main.yml @@ -21,5 +21,4 @@ # - include_role: # name: base # tasks_from: users.yml - # vim: ts=2 sw=2 \ No newline at end of file diff --git a/roles/server/tasks/utilities/telegraf.yml b/roles/server/tasks/utilities/telegraf.yml index 712f539..cc0433d 100644 --- a/roles/server/tasks/utilities/telegraf.yml +++ b/roles/server/tasks/utilities/telegraf.yml @@ -33,6 +33,102 @@ - "telegraf.d/*.conf" notify: restart_telegraf +- name: Configure telegraf agent hostname + tags: telegraf + ansible.builtin.lineinfile: + path: /etc/telegraf/telegraf.conf + regexp: '^\s*#?\s*hostname\s*=' + line: ' hostname = "{{ ansible_fqdn }}"' + owner: root + group: root + mode: '0644' + notify: restart_telegraf + when: ansible_distribution in ["Debian", "Ubuntu", "Linux Mint"] + +- name: Configure telegraf agent interval + tags: telegraf + ansible.builtin.lineinfile: + path: /etc/telegraf/telegraf.conf + regexp: '^\s*#?\s*interval\s*=' + line: ' interval = "{{ telegraf_agent_interval }}"' + owner: root + group: root + mode: '0644' + notify: restart_telegraf + when: ansible_distribution in ["Debian", "Ubuntu", "Linux Mint"] + +- name: Configure telegraf agent flush_interval + tags: telegraf + ansible.builtin.lineinfile: + path: /etc/telegraf/telegraf.conf + regexp: '^\s*#?\s*flush_interval\s*=' + line: ' flush_interval = "{{ telegraf_agent_flush_interval }}"' + owner: root + group: root + mode: '0644' + notify: restart_telegraf + when: ansible_distribution in ["Debian", "Ubuntu", "Linux Mint"] + +- name: Configure telegraf agent flush_jitter + tags: telegraf + ansible.builtin.lineinfile: + path: /etc/telegraf/telegraf.conf + regexp: '^\s*#?\s*flush_jitter\s*=' + line: ' flush_jitter = "{{ telegraf_agent_flush_jitter }}"' + owner: root + group: root + mode: '0644' + notify: restart_telegraf + when: ansible_distribution in ["Debian", "Ubuntu", "Linux Mint"] + +- name: Configure telegraf agent collection_jitter + tags: telegraf + ansible.builtin.lineinfile: + path: /etc/telegraf/telegraf.conf + regexp: '^\s*#?\s*collection_jitter\s*=' + line: ' collection_jitter = "{{ telegraf_agent_collection_jitter }}"' + owner: root + group: root + mode: '0644' + notify: restart_telegraf + when: ansible_distribution in ["Debian", "Ubuntu", "Linux Mint"] + +- name: Configure telegraf agent metric_batch_size + tags: telegraf + ansible.builtin.lineinfile: + path: /etc/telegraf/telegraf.conf + regexp: '^\s*#?\s*metric_batch_size\s*=' + line: ' metric_batch_size = "{{ telegraf_agent_metric_batch_size }}"' + owner: root + group: root + mode: '0644' + notify: restart_telegraf + when: ansible_distribution in ["Debian", "Ubuntu", "Linux Mint"] + +- name: Configure telegraf agent metric_buffer_limit + tags: telegraf + ansible.builtin.lineinfile: + path: /etc/telegraf/telegraf.conf + regexp: '^\s*#?\s*metric_buffer_limit\s*=' + line: ' metric_buffer_limit = "{{ telegraf_agent_metric_buffer_limit }}"' + owner: root + group: root + mode: '0644' + notify: restart_telegraf + when: ansible_distribution in ["Debian", "Ubuntu", "Linux Mint"] + +- name: Configure telegraf agent round_interval + tags: telegraf + ansible.builtin.lineinfile: + path: /etc/telegraf/telegraf.conf + regexp: '^\s*#?\s*round_interval\s*=' + line: ' round_interval = "{{ telegraf_agent_round_interval }}"' + owner: root + group: root + mode: '0644' + notify: restart_telegraf + when: ansible_distribution in ["Debian", "Ubuntu", "Linux Mint"] + - name: server | telegraf | create systemd override directory for telegraf ansible.builtin.file: path: /etc/systemd/system/telegraf.service.d @@ -47,5 +143,4 @@ - reload_systemd - restart_telegraf - \ No newline at end of file