windows: set up windows_exporter

This commit is contained in:
Timotej Lazar 2025-10-27 22:47:58 +01:00
parent 6a915b2f65
commit cee8d2fb55
4 changed files with 41 additions and 0 deletions

View file

@ -1,3 +1,9 @@
Set up a generic Windows host.
Rename and configure network interfaces. Configure the SSH server.
If `windows_exporter_version` is set, Prometheus [windows_exporter](https://github.com/prometheus-community/windows_exporter) will be installed and configured on port 9100.
Before first run, set the network profile to private and start the SSH server manually with
start-service sshd

View file

@ -3,3 +3,9 @@
name: sshd
state: restarted
when: "'handler' not in ansible_skip_tags"
- name: restart windows_exporter
win_service:
name: windows_exporter
state: restarted
when: "'handler' not in ansible_skip_tags"

View file

@ -45,3 +45,7 @@
name: sshd
start_mode: auto
state: started
- name: Install windows-exporter for prometheus metrics
when: 'windows_exporter_version is defined'
include_tasks: windows_exporter.yml

View file

@ -0,0 +1,25 @@
- name: Check current windows_exporter version
win_command: '"c:\program files\windows_exporter\windows_exporter.exe" --version'
failed_when: false
changed_when: false
register: result
- when: '"stderr" not in result or "version "+windows_exporter_version not in result.stderr'
block:
- name: Download windows_exporter
win_get_url:
url: "https://github.com/prometheus-community/windows_exporter/releases/download/v{{ windows_exporter_version }}/windows_exporter-{{ windows_exporter_version }}-amd64.msi"
dest: 'c:\windows\temp\windows_exporter.msi'
force: true
- name: Install Windows exporter
win_package:
path: 'c:\windows\temp\windows_exporter.msi'
arguments: "LISTEN_PORT=9100"
notify: restart windows_exporter
- name: Enable windows_exporter service
win_service:
name: windows_exporter
start_mode: delayed
state: started