mirror of
https://github.com/dj-wasabi/ansible-telegraf.git
synced 2025-07-17 08:46:37 +00:00
Add Windows feature of upgrade agents (#146)
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
telegraf_enabled: True
|
telegraf_enabled: True
|
||||||
# defaults file for ansible-telegraf
|
# defaults file for ansible-telegraf
|
||||||
|
|
||||||
telegraf_agent_version: 1.10.0
|
telegraf_agent_version: 1.18.2
|
||||||
telegraf_agent_version_patch: 1
|
telegraf_agent_version_patch: 1
|
||||||
telegraf_agent_package: telegraf
|
telegraf_agent_package: telegraf
|
||||||
telegraf_agent_package_file_deb: telegraf_{{ telegraf_agent_version }}-{{ telegraf_agent_version_patch }}_{{ telegraf_agent_package_arch }}.deb
|
telegraf_agent_package_file_deb: telegraf_{{ telegraf_agent_version }}-{{ telegraf_agent_version_patch }}_{{ telegraf_agent_package_arch }}.deb
|
||||||
@ -19,6 +19,7 @@ telegraf_agent_flush_jitter: 0
|
|||||||
telegraf_agent_aws_tags: False
|
telegraf_agent_aws_tags: False
|
||||||
telegraf_agent_aws_tags_prefix: ""
|
telegraf_agent_aws_tags_prefix: ""
|
||||||
telegraf_agent_config_path: /etc/telegraf
|
telegraf_agent_config_path: /etc/telegraf
|
||||||
|
telegraf_win_logfile_rotation_max_archives: 3
|
||||||
|
|
||||||
# Docker specific settings
|
# Docker specific settings
|
||||||
telegraf_uid_docker: 998
|
telegraf_uid_docker: 998
|
||||||
@ -82,8 +83,8 @@ telegraf_win_logfile: 'C:\\Telegraf\\telegraf.log'
|
|||||||
telegraf_win_include: 'C:\Telegraf\telegraf_agent.d'
|
telegraf_win_include: 'C:\Telegraf\telegraf_agent.d'
|
||||||
telegraf_win_service_args:
|
telegraf_win_service_args:
|
||||||
- -service install
|
- -service install
|
||||||
- '-config "{{ telegraf_win_install_dir }}\telegraf.conf"'
|
- -config {{ telegraf_win_install_dir }}\telegraf.conf
|
||||||
- '--config-directory "{{ telegraf_win_include }}"'
|
- --config-directory {{ telegraf_win_include }}
|
||||||
|
|
||||||
telegraf_mac_user: user
|
telegraf_mac_user: user
|
||||||
telegraf_mac_group: admin
|
telegraf_mac_group: admin
|
||||||
|
@ -29,8 +29,8 @@
|
|||||||
|
|
||||||
- name: "Windows | Move extracted directory (newer than 1.15)"
|
- name: "Windows | Move extracted directory (newer than 1.15)"
|
||||||
win_copy:
|
win_copy:
|
||||||
src: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}\'
|
src: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}\telegraf.exe'
|
||||||
dest: '{{ telegraf_win_install_dir }}'
|
dest: '{{ telegraf_win_install_dir }}\telegraf.exe'
|
||||||
remote_src: yes
|
remote_src: yes
|
||||||
when: telegraf_agent_version is version('1.15', '>=')
|
when: telegraf_agent_version is version('1.15', '>=')
|
||||||
|
|
||||||
@ -42,6 +42,13 @@
|
|||||||
delete_archive: yes
|
delete_archive: yes
|
||||||
when: telegraf_agent_version is version('1.15', '<')
|
when: telegraf_agent_version is version('1.15', '<')
|
||||||
|
|
||||||
|
- name: "Windows | Move extracted executable"
|
||||||
|
win_copy:
|
||||||
|
src: '{{ telegraf_win_install_dir }}\telegraf\telegraf.exe'
|
||||||
|
dest: '{{ telegraf_win_install_dir }}\telegraf.exe'
|
||||||
|
remote_src: yes
|
||||||
|
when: telegraf_agent_version is version('1.15', '<')
|
||||||
|
|
||||||
- name: "Windows | Configure Telegraf"
|
- name: "Windows | Configure Telegraf"
|
||||||
win_template:
|
win_template:
|
||||||
src: telegraf.conf.j2
|
src: telegraf.conf.j2
|
||||||
@ -74,18 +81,31 @@
|
|||||||
- item.value.state|default('present') == 'absent'
|
- item.value.state|default('present') == 'absent'
|
||||||
notify: "Restart Windows Telegraf"
|
notify: "Restart Windows Telegraf"
|
||||||
|
|
||||||
- name: "Windows | Register Service"
|
- name: "Windows | Check if Telegraf service is already in place"
|
||||||
win_command: '"{{ telegraf_win_install_dir }}\telegraf.exe" {{ telegraf_win_service_args | join(" ") }}'
|
win_service:
|
||||||
register: telegraf_windows_install
|
name: telegraf
|
||||||
args:
|
register: service_result
|
||||||
creates: '{{ telegraf_win_install_dir }}\.installed'
|
failed_when: service_result is not defined
|
||||||
|
|
||||||
- name: "Windows | Create done file so it won't register itself again"
|
- debug: msg={{ service_result }}
|
||||||
win_file:
|
|
||||||
path: '{{ telegraf_win_install_dir }}\.installed'
|
- name: "Windows | Set service startup mode to auto and ensure it is started"
|
||||||
state: touch
|
win_service:
|
||||||
|
name: Telegraf
|
||||||
|
start_mode: auto
|
||||||
|
state: stopped
|
||||||
when:
|
when:
|
||||||
- telegraf_windows_install is changed
|
- service_result.exists
|
||||||
|
|
||||||
|
- name: "Windows | Unregister Service"
|
||||||
|
win_command: '{{ telegraf_win_install_dir }}\telegraf.exe --service uninstall'
|
||||||
|
register: telegraf_windows_uninstall
|
||||||
|
when:
|
||||||
|
- service_result.exists
|
||||||
|
|
||||||
|
- name: "Windows | Register Service"
|
||||||
|
win_command: '{{ telegraf_win_install_dir }}\telegraf.exe {{ telegraf_win_service_args | join(" ") }}'
|
||||||
|
register: telegraf_windows_install
|
||||||
|
|
||||||
- name: "Windows | Set service startup mode to auto and ensure it is started"
|
- name: "Windows | Set service startup mode to auto and ensure it is started"
|
||||||
win_service:
|
win_service:
|
||||||
@ -97,4 +117,4 @@
|
|||||||
win_file:
|
win_file:
|
||||||
path: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}'
|
path: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}'
|
||||||
state: absent
|
state: absent
|
||||||
when: telegraf_agent_version is version('1.15', '>=')
|
when: telegraf_agent_version is version('1.15', '>=')
|
||||||
|
@ -30,6 +30,9 @@
|
|||||||
{% if telegraf_agent_version is version_compare('1.1', '>=') %}
|
{% if telegraf_agent_version is version_compare('1.1', '>=') %}
|
||||||
{% if ansible_os_family == "Windows" %}
|
{% if ansible_os_family == "Windows" %}
|
||||||
logfile = "{{ telegraf_win_logfile }}"
|
logfile = "{{ telegraf_win_logfile }}"
|
||||||
|
logfile_rotation_interval = "{{ telegraf_win_logfile_rotation_interval }}"
|
||||||
|
logfile_rotation_max_size = "{{ telegraf_win_logfile_rotation_max_size }}"
|
||||||
|
logfile_rotation_max_archives = {{ telegraf_win_logfile_rotation_max_archives| int }}
|
||||||
{% else %}
|
{% else %}
|
||||||
logfile = "{{ telegraf_agent_logfile }}"
|
logfile = "{{ telegraf_agent_logfile }}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
Reference in New Issue
Block a user