Prometheus on Windows
For monitoring Windows with Prometheus, a Windows exporter needs to be installed which is the equivalent of Node exporter for Windows. This exporter will start an HTTP endpoint, exposing metrics that will enable Prometheus to scrape them.
Windows exporter (node) installation:
You can run the latest MSI installer from the below link, each release provides a .msi installer. The installer will set up the windows_exporter as a Windows service, as well as create an exception in the Windows Firewall. Node-exporter will be run on port 9182 by default after the installation.
https://github.com/prometheus-community/windows_exporter/releases
Prometheus installation:
Please follow the below steps to install Prometheus on Windows:
Download the prometheus.ps1 file
Invoke-WebRequest 'https://logiq-scripts.s3.ap-south-1.amazonaws.com/windows-prome.ps1' -OutFile windows-prome.ps1
Powershell by default uses TLS 1.0 to connect to the website, but website security requires TLS 1.2, hence run the below.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
By default, Windows does not allow you to execute any scripts due to the execution policy set, to enable it, run the below
Get-ExecutionPolicy
Run Set-ExecutionPolicy like this to switch to the unrestricted mode:
Set-ExecutionPolicy unrestricted
Execute the below script, the script will download and install Prometheus as a service in the path where the script is executed.
./windows-prome.ps1
You should see Prometheus running, run the below to check
netstat|select-string 9090
If you want to add/ modify to enable Prometheus to scrape custom endpoint (ex: windows-exporter), make the changes on prometheus.yml file in the Prometheus directory downloaded by the script above and restart the Prometheus service
remote_write:
- url: https://<Logiq-Endpoint>/api/v1/receive
tls_config:
ca_file: <CA-file>
cert_file: <cert-file>
key_file: <key-file>
scrape_configs:
- job_name: "windows-exporter"
metrics_path: '/metrics'
static_configs:
- targets: ['localhost:9182']
Last updated
Was this helpful?