ansible/roles/telegraf/tasks/configure.yml

71 lines
2.1 KiB
YAML

---
- name: Retrieve ec2 facts
ec2_metadata_facts:
when: telegraf_aws_tags
- name: Retrieve all ec2 tags on the instance
ec2_tag:
region: "{{ ansible_ec2_placement_region }}"
resource: "{{ ansible_ec2_instance_id }}"
state: list
when: telegraf_aws_tags
register: ec2_tags
- name: get the rpm or apt package facts
package_facts:
manager: "auto"
- name: Set templatized Telegraf configuration
template:
src: "{{ telegraf_configuration_template }}"
dest: "{{ telegraf_configuration_dir }}/telegraf.conf"
force: yes
backup: yes
owner: telegraf
group: telegraf
mode: 0740
when: telegraf_template_configuration
# If config changes, restart telegraf and confirm it remained running
notify:
- "restart telegraf"
- "pause"
- "check status"
- "assert running"
- name: Test for sysvinit script
stat:
path: /etc/init.d/telegraf
register: telegraf_sysvinit_script
- name: Modify user Telegraf should run as [sysvinit]
replace:
path: /etc/init.d/telegraf
regexp: USER=.*
replace: USER={{ telegraf_runas_user }}
when: telegraf_runas_user != "telegraf" and telegraf_sysvinit_script.stat.exists
- name: Modify group Telegraf should run as [sysvinit]
replace:
path: /etc/init.d/telegraf
regexp: GROUP=.*
replace: GROUP={{ telegraf_runas_group }}
when: telegraf_runas_group != "telegraf" and telegraf_sysvinit_script.stat.exists
- name: Create systemd service directory [systemd]
file:
path: /etc/systemd/system/telegraf.service.d
state: directory
when: telegraf_runas_user != "telegraf" and not telegraf_sysvinit_script.stat.exists
- name: Modify user Telegraf should run as [systemd]
template:
src: systemd/system/telegraf.service.d/override.conf
dest: /etc/systemd/system/telegraf.service.d/override.conf
when: telegraf_runas_user != "telegraf" and not telegraf_sysvinit_script.stat.exists
register: telegraf_unit_file_updated
- name: Reload systemd configuration [systemd]
systemd:
daemon_reload: yes
when: telegraf_unit_file_updated is defined and telegraf_unit_file_updated.changed