# Monitoring Windows server using OTel & Prometheus

Copy as Markdown[Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs-docusaurus.kinsta.page%2Fopentelemetry%2Fmonitoring%2Fmonitoring--windows-server-using-otel-and-prometheus.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs-docusaurus.kinsta.page%2Fopentelemetry%2Fmonitoring%2Fmonitoring--windows-server-using-otel-and-prometheus.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)

This tutorial demonstrates how to monitor Windows Server - including IIS and MSSQL - for logs, metrics, and traces using OpenTelemetry Collector and Prometheus Windows Exporter.

## Prerequisites[​](#prerequisites "Direct link to Prerequisites")

* [admin user](https://support.microsoft.com/en-us/windows/create-a-local-user-or-administrator-account-in-windows-20de74e0-ac7f-3502-a866-32915af2a34d) in Windows with the ability to install services

* `tar.gz` files unpacked

## Configuration[​](#configuration "Direct link to Configuration")

### Windows Exporter[​](#windows-exporter "Direct link to Windows Exporter")

**STEP 1**. Download the [latest MSI from GitHub](https://github.com/prometheus-community/windows_exporter/releases) ([0.22.0.msi](https://github.com/prometheus-community/windows_exporter/releases/download/v0.22.0/windows_exporter-0.22.0-amd64.msi) as of 30 April '23).

**STEP 2**. Open the command line and navigate to `C:\Users\Administrator\Downloads` or the MSI folder.

**STEP 3**. Select which exporter collectors you require - including MSSQL and IIS - from this verbose list: `cpu,cs,logical_disk,net,os,service,system,textfile,iis,mssql`.

**STEP 4**. Open Command Prompt.

[![Command Prompt Windows Server Coralogix OpenTelemetry](/assets/images/commandprompt-1-623x1024-962ed7757056deddb53ecf942394f0e2.webp)](https://docs-docusaurus.kinsta.page/assets/images/commandprompt-1-623x1024-962ed7757056deddb53ecf942394f0e2.webp)

**STEP 5.** Run the following command to install the MSI with the collectors chosen:

```
msiexec /i windows_exporter-0.22.0-amd64.msi ENABLED_COLLECTORS="os,iis"
```

### OpenTelemetry Collector[​](#opentelemetry-collector "Direct link to OpenTelemetry Collector")

**STEP 1**. Download the [latest tar.gz from GitHub](https://github.com/open-telemetry/opentelemetry-collector-releases/releases) ([0.76.1.tar.gz](https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.76.1/otelcol-contrib_0.76.1_windows_amd64.tar.gz) as of 30 April '23).

**STEP 2**. Unpack the content into a `C:\\cx-otel`. This may require you to install a program to unpack tar.gz files.

**STEP 3**. Create a `config.yaml` based on the following configuration.

```
receivers:

  filelog:

    include: [ C:\inetpub\logs\LogFiles\*.* ]

  prometheus:

    config:

      scrape_configs:

        - job_name: 'windows_exporter'

          scrape_interval: 15s

          static_configs:

            - targets: ['0.0.0.0:9182']

processors:

  resourcedetection:

    detectors: [system]

    system:

      hostname_sources: ["os"]

  batch:



exporters:

  coralogix:

    metrics:

      endpoint: "ingress.eu2.coralogix.com:443"

    logs:

      endpoint: "ingress.eu2.coralogix.com:443"

    private_key: "coralogix-api-key"

    application_name: "WinServer"

    subsystem_name: "Host"



service:

  pipelines:

    metrics:

      receivers: [prometheus]

      processors: [resourcedetection, batch]

      exporters: [coralogix]

    logs:

      receivers: [filelog]

      processors: [resourcedetection, batch]

      exporters: [coralogix]
```

**Notes**:

* The example configuration captures metrics from windows\_exporter and logs from IIS. Modify as necessary.

* You are required to input the following variables:

  * `endpoint`: Select the [**OpenTelemetry endpoint**](https://docs-docusaurus.kinsta.page/integrations/coralogix-endpoints/.md) associated with your **Coralogix domain**

  * `private_key`: Your Coralogix [Send-Your-Data API key](https://docs-docusaurus.kinsta.page/user-guides/account-management/api-keys/send-your-data-api-key/.md)

  * `application_name` & `subsystem_name`: [Application and subsystem names](https://docs-docusaurus.kinsta.page/user-guides/account-management/account-settings/application-and-subsystem-names/.md) as they will appear in your Coralogix UI

**STEP 4**. Install the collector as a service by running the following command:

```
sc.exe create cx-otelcol displayname=cx-otelcol start=delayed-auto binPath="C:\cx-otel\otelcol-contrib.exe --config C:\cx-otel\config.yaml"
```

**STEP 5**. Run the service.

```
sc.exe start cx-otelcol 
```

### Additional Configurations[​](#additional-configurations "Direct link to Additional Configurations")

Configure [Windows exporter dashboards](https://github.com/coralogix/grafana-dashboards/tree/master/windows-prometheus) and the OpenTelemetry Kubernetes Extension to monitor the collector itself.

## Validation & Testing[​](#validation--testing "Direct link to Validation & Testing")

**STEP 1**. Open Services and check that both `windows_exporter` and `cx-otelcol` service are running.

**STEP 2**. To validate which metrics exist in `windows_exporter`, navigate to <http://localhost:9182/metrics>.

**Notes**:

* `windows_exporter.exe` is unsafe and may require a specific "unblock" in its settings.

* Both `windows_exporter` and `otelcol` can be run without services to check for logs in the command prompt.

**STEP 3**. Navigate to [Grafana Explore](https://docs-docusaurus.kinsta.page/user-guides/visualizations/grafana-plugin/.md) to confirm that `windows_*` metrics are arriving in your Coralogix dashboard.

## Additional Links[​](#additional-links "Direct link to Additional Links")

|           |                                                                                                                                                                                                                                                                                                 |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Github    | [Official OpenTelemetry Collector with Coralogix Exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/coralogixexporter)<br />[Coralogix Windows Exporter Dashboards](https://github.com/coralogix/grafana-dashboards/tree/master/windows-prometheus) |
| Tutorials | [Tail Sampling with Coralogix and OpenTelemetry](https://docs-docusaurus.kinsta.page/opentelemetry/tail-sampling/tail-sampling-with-coralogix-and-opentelemetry/.md)                                                                                                                            |
| Blogs     | [How to Configure the OTel Community Demo App to Send Telemetry Data to Coralogix](https://coralogix.com/blog/configure-otel-demo-send-telemetry-data-coralogix/)                                                                                                                               |
