Grafana windows exporter dashboard

To use this dashboard you must install windows exporter from here and after that you do not have to do any other thing. dashboard will show what you saw in snapshots.

msiexec /i windows_exporter-0.16.0-amd64.msi ENABLED_COLLECTORS="ad,adfs,cache,cpu,cpu_info,cs,container,dfsr,dhcp,dns,fsrmquota,iis,logical_disk,logon,memory,msmq,mssql,netframework_clrexceptions,netframework_clrinterop,netframework_clrjit,netframework_clrloading,netframework_clrlocksandthreads,netframework_clrmemory,netframework_clrremoting,netframework_clrsecurity,net,os,process,remote_fx,service,tcp,time,vmware" TEXTFILE_DIR="C:\custom_metrics" LISTEN_PORT="9100"

You can choose what to collect with ENABLED_COLLECTORS option. to learn more about collectors, look at windows_exporter github page here

Уровень сложностиПростой

Время на прочтение5 мин

Количество просмотров42K

Немного расскажу про установку Grafana на windows и настройку базовых метрик системы.

Пару слов о самой Grafana и для чего она нужна.

Grafana – это платформа для мониторинга, анализа данных и визуализации собранных данных с открытым исходным кодом. По сути она используется для визуального представления собранных метрик для более комфортного слежения за состоянием системы.

В данной статье буду использовать:

  • Grafana

  • Prometheus

  • Windows_exporter

  • Blackbox_exporter

Для начала скачаем актуальный дистрибутив самой Grafana и установим его (Для скачивания, может потребоваться VPN).

Переходим по ссылке: https://grafana.com/grafana/download и выбираем необходимую версию для скачивания.

Затем скачаем и установим Prometheus.

Prometheus по сути является сборщиком метрик. Установив на один пк, который будет выступать в качестве сервера для Grafana, достаточно будет только запускать сбор метрик с других машин (вносить соответствующий блок в файл конфигурации Prometheus), а Prometheus в свою очередь подготовит метрики уже для самой Grafana.

Prometheus: https://prometheus.io/download

Для установки потребуется NSSM — это сервисный помощник, который помогает установить служебные вспомогательные программы.

Ссылка NSSM: https://www.nssm.cc/download

Приступим к установке Prometheus.

Переходим в CMD и вводим следующие команды (запускаем CMD от админа):

  1. Переходим в директорию с пакетом NSSM:

    cd C:\GrafanaSetup\nssm-2.24\win64

  2. Выполняем установку сервиса Prometheus:

    nssm.exe install prometheus C:\GrafanaSetup\prometheus-2.43.0.windows-amd64\prometheus.exe

На данном этапе служба Prometheus должны быть установлена, Далее установим службы для сбора метрик.

Установим Windows_exporter – сборщик метрик, который как раз собирает статистику с системы и составляет своего рода «логи».

Ссылка для скачивания Windows exporter: https://github.com/prometheus-community/windows_exporter/releases

Выбираем подходящую нам версию и устанавливаем

После установки, так же проверяем в службах, что установка прошла успешно и служба запущена (название службы по умолчанию windows_exporter).

Теперь можно проверить сбор метрик по ссылке к порту службы: http://localhost:9182/metrics

На данном этапе можем установить Blackbock exporter — используется для мониторинга статуса доступности URL-ов. Переходим по ссылка и скачиваем нужную нам версию Blackbox: https://prometheus.io/download/ и устанавливаем.

Теперь приступим к настройке установленных сервисов.

Начинаем с Grafana:

Переходим в папку C:\Program Files\GrafanaLabs\grafana\conf и открываем файл defaults.ini при помощи текстового редактора и меняем значение в блоке smtp в поле enabled на true и сохраняем изменения. Запускаем службу Grafana, если она уже запущена, просто делаем перезапуск для вступления изменений в силу.

Перейдя по ссылке: http://localhost:3000 увидим активный интерфейс Grafana. Для входа по умолчанию используется комбинация admin / admin, затем попопросит Вас изменить пароль и направит на домашнюю страницу управления Grafana.

Далее приступаем к настройке Prometheus:Нам необходимо внести изменения в конфигурацию, включив метрики в конфиг. Для этого переходим в каталог prometheus») и открываем файл prometheus.yml и вносим следующие изменения:

Добавляем блок для подключения windows_exporter:

- job_name: "Любое комфортное имя"

      static_configs:

            #IP-адрес и порт, где собираются метрики window_exporter\

            - targets: ["localhost:9182”]

При добавлении нескольких машин, можно добавить блок lables, который изменит отображаемый IP-адрес на свое описание:

  static_configs:

      - targets: ["localhost:9182"]

        labels:

            instance: Server-1

      - targets: ["192.168.0.254:9182"]    

        labels:

            instance: Server-2

Сразу добавим блок для blackbox_exporter:

- job_name: 'blackbox'

      metrics_path: /probe

      params:

            module: [http_2xx]  # Look for a HTTP 200 response.

    static_configs:

      - targets:

            -https://youtube.com

            -https://google.com

    relabel_configs:

      - source_labels: [__address__]

            target_label: __param_target

      - source_labels: [__param_target]

            target_label: instance

      - target_label: __address__

            replacement: localhost:9115  # The blackbox exporter's real hostname:port

В блоке targets перечисляем необходимые URL-адреса.

Только обратите внимание, для того, что бы блок корректно заработал и не было ошибок при запуске службы, необходимо строго соблюдать табуляцию строк.
Добавив необходимые блоки можем запускать prometheus.

Затем убедитесь, что все службы запущены:

  1. Grafana

  2. Prometheus

  3. Windows_ exporter

  4. Blackbox_exporter

и теперь проверяем статус сервисов по ссылке: http://localhost:9090/targets

В целом мы настроили базовые метрики, осталось включить отображение метрик в Grafana.

Переходим на главную страницу grafana ( По умолчанию: http://localhost:3000 ).

Подключаем источник данных Prometheus:

На главной странице, переходим в меню Data sources

Выбираем наш Prometheus

И указываем наш URL. В нашем случае, всё находится на одной локальной машине и можем прописывать через формат: http://localhost:port/

И нажимаем кнопку: Save & test

Теперь необходимо настроить панели мониторинга для метрик windows exporter. Для настройки переходим на главную страницу и добавляем панель:

На момент написания статьи, нашёл два наиболее охватывающих Dashboard`а:

  1. 14510

  2. 14694

Можете использовать их или же настроить всё самостоятельно.

Для добавления Dashboard`а указываем в поле ID и нажимаем на кнопку Load.

Затем нас направляет на панель настроек, где мы указываем источник данных Prometheus и можем изменить имя самой панели. Затем жмём кнопку Import

И у нас уже готовая, настроенная панель мониторинга, которую уже можно добавлять необходимым функционалом. Не нужные графики можно удалить или расставить в нужном для себя порядке.

При добавлении новых пк для мониторинга, достаточно внести строки в конфигурационный файл Prometheus.yml и перезапустить службу Prometheus. Служба самостоятельно разберёт метрики и добавить новый пк к мониторингу на уже готовый dashboard, где уже не составит труда переключаться между пк.

Далее уже можно поиграть с конкретными метриками, и отображением конкретных служб с различных машин. К примеру: На главном экране нажимаем ADD > Visualization и попадаем в меню создания панели. В поле Metrics browser вносим выбранную метрику и указываем параметры, которые хотим получить (ну или отобразить). Сделаем на примере службы windows:

  1. Name — имя службы

  2. State — вид статуса, который относится к метрике windows_service_state

  3. Instance — с какой конкретной машины брать метрику.

windows_service_state{name="нужная служба", state="running", instance="Server-1"}

и в правом верхнем углу выбираем нужный вид панели, в моем случае это Stat:

В параметрах панели в меню Value mappings и меняем цифровые значения метрик на удобные для восприятия слова, к примеру: Ok/Bad Up/Down.

Сохраняем и получаем такую панель :

Ну и настроим метрику для получения статусов HTTP:

Используем метрику: probe_http_status_code и настроим Value mapping:

probe_http_status_code{instance="https://youtube.com"}

И в итоге получаем такую панель:

Далее можно самостоятельно зайти в http://localhost:9090/targets выбрать нужные для своих задач метрики и настроить нужные под свои задачи.

Думаю, на этом можно закончить. Базовая настройка не так сложна, но когда ты сталкиваешься с этим в первый раз, могут возникнуть трудности, поэтому хотел поделиться пошаговой настройкой. Надеюсь, кому-то это поможет и сократить достаточно времени на поиске информации и первичной настройки.

Introduction

Window Node exporter is agent that collect and send the window machine hardware utilization metrics to the Prometheus server by using HTTP protocol metric, It used port 9182 by default.

Prerequisites

Up and running Prometheus server, Grafana Server in your machine / network environment or you can use the given link to setup Prometheus and Grafana on ubuntu machine to perform this window machine monitoring.

To install Prometheus – https://www.devopstricks.in/install-prometheus-on-ubuntu-22-04/

To install Grafana – https://www.devopstricks.in/installing-grafana-10-on-ubuntu-22-04-lts/

In this post, We will show you how to install window exporter on window machine to get enable monitoring like CPU, Memory, Disk Space, processes and bandwidth etc.

Step 1: Download Window Exporter Package

We need to download the window exporter package by using given link.

https://github.com/prometheus-community/windows_exporter/releases

You can choose the package as per your architecture.

Click the download the right package, In my case i am using window 10 Prod 64 bit So then i can download windows_exporter-0.24.0-amd64.msi or windows_exporter-0.24.0-arm64.exe.

While downloading the package we should get pop-up like this, We need to click in Keep button and ignore warning that this time.

Step 2: Installing Window Exporter

After downloaded the window exporter, We need to run the package and allow the installation.

After installation of window exporter package, We need to check the followings endpoint to get window machine metrics like this.

Expose metric URL – localhost:9182/metrics

Step 3: Add Firewall Rules

We need to open the port 9182 port in your window machine and your cloud environment in order to fetch window metrics from Prometheus server.

Step 4: Configure Prometheus

We need to add the window machine endpoint to fetch metrics To do that we need to add the followings configure in Prometheus configuration file.

To open Prometheus configuration file.

 sudo vim /etc/prometheus/prometheus.yml

Add the in the last following config.

  - job_name: window
    # If prometheus-node-exporter is installed, grab stats about the local
    # machine by default.
    static_configs:
      - targets: ['Type-Window-IP-Here:9182']

This is my sample configuration file with window exporter.

# Sample config for Prometheus.

global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
      monitor: 'example'

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets: ['localhost:9093']

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s
    scrape_timeout: 5s

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ['localhost:9090']

  - job_name: node
    # If prometheus-node-exporter is installed, grab stats about the local
    # machine by default.
    static_configs:
      - targets: ['localhost:9100']
  - job_name: window
    # If prometheus-node-exporter is installed, grab stats about the local
    # machine by default.
    static_configs:
      - targets: ['100.100.100.00:9182']

Save and exit from the vim text editor.

Step 5: Restart Prometheus Service

To get updated and new changes with Prometheus config file, We need to restart the Prometheus service.

To restart.

sudo systemctl restart prometheus.service

To check status.

sudo systemctl status prometheus.service

We are all good to here, Now we need to validate the window target metrics in Prometheus UI.

Step 6: Validate the Window Exporter with Prometheus

To validate the window exporter endpoint with Prometheus to know window Machin’s metric is showing with Prometheus or not.

Access to Prometheus endpoints with http://Prometheus-IP:9090

Click on status > targets

We should get output like this.

Here we can see that 1 window machine is showing that we just configured, Now we are good to use Grafana.

Step 7: Importing Window Node Exporter Grafana Dashboard

We use the following links to get predefine Window Node Exporter Grafana dashboard.

https://grafana.com/grafana/dashboards/14451-windows-exporter-for-prometheus-dashboard-en/ (Recommended )

https://grafana.com/grafana/dashboards/15620-windows-node-exporter/

https://grafana.com/grafana/dashboards/14694-windows-exporter-dashboard/

https://grafana.com/grafana/dashboards/18699-windows-node-exporter-full-1/

https://grafana.com/grafana/dashboards/14499-windows-node/

https://grafana.com/grafana/dashboards/14510-windows-exporter-node/

https://grafana.com/grafana/dashboards/6593-windows-node/

Conclusion

We have done successfully enabled window machine monitoring by using window node exporter, Still you are having any issue, So please leave a comment below.


  • Expertise in Linux, Git, Jenkins, Docker, Ansible, AWS/Azure, K8s, Terraform, and other DevOps tools.

    View all posts


Function description

Prometheus + Grafana + Windows_exporter Monitor Windows Performance Indicators.

Software version:

prometheus:2.26.0
windows_exporter :0.16.0
grafana v8.0.3

Screenshot of monitoring effect

Grafana Dashboard imports JSON files

{
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": "-- Grafana --",
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "type": "dashboard"
      }
    ]
  },
  "description": "Windows's Prometheus monitoring board show, adds resource summary display to optimize detailed display. Update support Windows_exporter 0.16.0.",
  "editable": true,
  "gnetId": 10467,
  "graphTooltip": 1,
  "id": 7,
  "iteration": 1625635652565,
  "links": [
    {
      "icon": "bolt",
      "tags": [],
      "targetBlank": true,
      "title": "Update",
      "tooltip": "Update the current dashboard",
      "type": "link",
      "url": "https://grafana.com/grafana/dashboards/10467"
    },
    {
      "icon": "question",
      "tags": [],
      "targetBlank": true,
      "title": "GitHub",
      "tooltip": "View more dashboard",
      "type": "link",
      "url": "https://github.com/starsliao/Prometheus"
    },
    {
      "asDropdown": true,
      "icon": "external link",
      "tags": [],
      "targetBlank": true,
      "type": "dashboards"
    }
  ],
  "panels": [
    {
      "collapsed": false,
      "datasource": "Prometheus",
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 0
      },
      "id": 41,
      "panels": [],
      "title": "Resource Overview Select [$ show_hostname @ $ instance]",
      "type": "row"
    },
    {
      "datasource": null,
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "custom": {
            "align": "auto",
            "displayMode": "auto",
            "filterable": false
          },
          "decimals": 1,
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 60
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "bytes"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "Value #A"
            },
            "properties": [
              {
                "id": "unit",
                "value": "percentunit"
              },
              {
                "id": "displayName",
                "value": "C disk utilization"
              },
              {
                "id": "custom.displayMode",
                "value": "color-background"
              },
              {
                "id": "custom.width",
                "value": 90
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #B"
            },
            "properties": [
              {
                "id": "unit",
                "value": "bytes"
              },
              {
                "id": "displayName",
                "value": "D disk remaining"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "decimals",
                "value": 0
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #C"
            },
            "properties": [
              {
                "id": "unit",
                "value": "s"
              },
              {
                "id": "displayName",
                "value": "operation hours"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "color",
                "value": {
                  "fixedColor": "green",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.displayMode",
                "value": "color-background"
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #D"
            },
            "properties": [
              {
                "id": "unit",
                "value": "bytes"
              },
              {
                "id": "displayName",
                "value": "C disk remaining"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "decimals",
                "value": 0
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #E"
            },
            "properties": [
              {
                "id": "unit",
                "value": "bytes"
              },
              {
                "id": "displayName",
                "value": "C disk total size"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "decimals",
                "value": 0
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #F"
            },
            "properties": [
              {
                "id": "unit",
                "value": "bytes"
              },
              {
                "id": "displayName",
                "value": "D disk total size"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "decimals",
                "value": 0
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #G"
            },
            "properties": [
              {
                "id": "unit",
                "value": "percentunit"
              },
              {
                "id": "displayName",
                "value": "D disk utilization"
              },
              {
                "id": "custom.displayMode",
                "value": "color-background"
              },
              {
                "id": "custom.width",
                "value": 90
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #H"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "RAM"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "decimals",
                "value": 0
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #I"
            },
            "properties": [
              {
                "id": "unit",
                "value": "percentunit"
              },
              {
                "id": "custom.displayMode",
                "value": "color-background"
              },
              {
                "id": "displayName",
                "value": "Memory utilization"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "decimals",
                "value": 2
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #J"
            },
            "properties": [
              {
                "id": "unit",
                "value": "short"
              },
              {
                "id": "displayName",
                "value": "CPU core"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "decimals",
                "value": 0
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #K"
            },
            "properties": [
              {
                "id": "unit",
                "value": "percentunit"
              },
              {
                "id": "custom.displayMode",
                "value": "color-background"
              },
              {
                "id": "displayName",
                "value": "CPU usage"
              },
              {
                "id": "custom.width",
                "value": 90
              },
              {
                "id": "decimals",
                "value": 2
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #L"
            },
            "properties": [
              {
                "id": "unit",
                "value": "short"
              },
              {
                "id": "displayName",
                "value": "Number of processes"
              },
              {
                "id": "decimals",
                "value": 0
              },
              {
                "id": "custom.width",
                "value": 90
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Value #M"
            },
            "properties": [
              {
                "id": "unit",
                "value": "short"
              },
              {
                "id": "decimals",
                "value": 0
              },
              {
                "id": "displayName",
                "value": "Run Service"
              },
              {
                "id": "custom.width",
                "value": 90
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "product"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "operating system"
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "hostname"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "CPU name"
              },
              {
                "id": "custom.width",
                "value": 140
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "instance"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 150
              },
              {
                "id": "links",
                "value": [
                  {
                    "title": "${__data.fields.instance}",
                    "url": "/d/b7iaHzknz/?${job:queryparam}&var-hostname=All&var-instance=${__data.fields.instance}"
                  }
                ]
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 5,
        "w": 24,
        "x": 0,
        "y": 1
      },
      "id": 59,
      "options": {
        "frameIndex": 2,
        "showHeader": true,
        "sortBy": [
          {
            "desc": false,
            "displayName": "instance"
          }
        ]
      },
      "pluginVersion": "8.0.3",
      "repeat": null,
      "targets": [
        {
          "exemplar": true,
          "expr": "windows_os_info * on(instance) group_right(product) windows_cs_hostname",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "hostname",
          "refId": "N"
        },
        {
          "exemplar": true,
          "expr": "time() - windows_system_system_up_time{job=~\"$job\"}",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "operation hours",
          "refId": "C"
        },
        {
          "exemplar": true,
          "expr": "windows_cs_logical_processors{job=~\"$job\"} - 0",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "CPU core",
          "refId": "J"
        },
        {
          "exemplar": true,
          "expr": "1 - (avg by (instance) (irate(windows_cpu_time_total{job=~\"$job\",mode=\"idle\"}[2m]))   )",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "CPU usage",
          "refId": "K"
        },
        {
          "exemplar": true,
          "expr": "windows_cs_physical_memory_bytes{job=~\"$job\"} - 0",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "RAM",
          "refId": "H"
        },
        {
          "exemplar": true,
          "expr": "1 - windows_os_physical_memory_free_bytes{job=~\"$job\"} / windows_cs_physical_memory_bytes{job=~\"$job\"}",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "Memory utilization",
          "refId": "I"
        },
        {
          "exemplar": true,
          "expr": "windows_logical_disk_free_bytes{job=~\"$job\",volume=~\"C:\"}",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "C disk remaining",
          "refId": "D"
        },
        {
          "exemplar": true,
          "expr": "windows_logical_disk_size_bytes{job=~\"$job\",volume=~\"C:\"}",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "intervalFactor": 1,
          "legendFormat": "C disk total size",
          "refId": "E"
        },
        {
          "exemplar": true,
          "expr": "1 - (windows_logical_disk_free_bytes{job=~\"$job\",volume=~\"C:\"}/windows_logical_disk_size_bytes{job=~\"$job\",volume=~\"C:\"})  ",
          "format": "table",
          "instant": true,
          "interval": "",
          "intervalFactor": 1,
          "legendFormat": "C disk utilization",
          "refId": "A"
        },
        {
          "exemplar": true,
          "expr": "windows_logical_disk_free_bytes{job=~\"$job\",volume=~\"D:\"}",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "intervalFactor": 1,
          "legendFormat": "D disk remaining",
          "refId": "B"
        },
        {
          "exemplar": true,
          "expr": "windows_logical_disk_size_bytes{job=~\"$job\",volume=~\"D:\"}",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "D disk total size",
          "refId": "F"
        },
        {
          "exemplar": true,
          "expr": "1 - (windows_logical_disk_free_bytes{job=~\"$job\",volume=~\"D:\"}/windows_logical_disk_size_bytes{job=~\"$job\",volume=~\"D:\"})  ",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "intervalFactor": 1,
          "legendFormat": "D disk utilization",
          "refId": "G"
        },
        {
          "exemplar": true,
          "expr": "windows_os_processes{job=~\"$job\"}",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "Number of processes",
          "refId": "L"
        },
        {
          "exemplar": true,
          "expr": "sum by (instance) (windows_service_state{job=~\"$job\",state=~\"running\"})",
          "format": "table",
          "hide": false,
          "instant": true,
          "interval": "",
          "legendFormat": "Run Service",
          "refId": "M"
        }
      ],
      "title": "$ JOB: Server Resource Overview (V2021.7.5)",
      "transformations": [
        {
          "id": "filterFieldsByName",
          "options": {
            "include": {
              "names": [
                "hostname",
                "instance",
                "product",
                "Value #C",
                "Value #J",
                "Value #K",
                "Value #H",
                "Value #I",
                "Value #D",
                "Value #E",
                "Value #A",
                "Value #B",
                "Value #F",
                "Value #G",
                "Value #L",
                "Value #M"
              ]
            }
          }
        },
        {
          "id": "merge",
          "options": {}
        }
      ],
      "type": "table"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "decimals": 1,
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 5,
        "x": 0,
        "y": 6
      },
      "hiddenSeries": false,
      "id": 47,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": true,
        "max": true,
        "min": false,
        "rightSide": true,
        "show": false,
        "sort": "current",
        "sortDesc": false,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null",
      "options": {
        "alertThreshold": true
      },
      "paceLength": 10,
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "expr": "100 - (avg by (instance) (irate(windows_cpu_time_total{job=~\"$job\",mode=\"idle\"}[2m])) * 100)",
          "hide": false,
          "interval": "",
          "intervalFactor": 1,
          "legendFormat": "{{instance}}",
          "refId": "B"
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Each host CPU usage",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "cumulative"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:3535",
          "format": "percent",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": "0",
          "show": true
        },
        {
          "$$hashKey": "object:3536",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": false
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {
        "Free Physical memory": "semi-dark-green",
        "Free physical memory": "semi-dark-green",
        "Free virtual memory": "super-light-blue",
        "Physical memory": "dark-red",
        "Virtual memory": "dark-blue"
      },
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 1,
      "gridPos": {
        "h": 6,
        "w": 5,
        "x": 5,
        "y": 6
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 49,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": true,
        "max": true,
        "min": false,
        "rightSide": true,
        "show": false,
        "sort": "current",
        "sortDesc": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 2,
      "links": [],
      "nullPointMode": "null",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [
        {
          "$$hashKey": "object:3675",
          "alias": "/.*Physical.*/",
          "linewidth": 3
        }
      ],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "expr": "100.0 - 100 * windows_os_physical_memory_free_bytes{job=~\"$job\"} / windows_cs_physical_memory_bytes{job=~\"$job\"}",
          "instant": false,
          "interval": "",
          "legendFormat": "{{instance}}",
          "refId": "A"
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Each host memory usage",
      "tooltip": {
        "shared": true,
        "sort": 0,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:3688",
          "format": "percent",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:3689",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": false
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 5,
        "x": 10,
        "y": 6
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 53,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": true,
        "max": true,
        "min": false,
        "rightSide": true,
        "show": false,
        "sort": "max",
        "sortDesc": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "max by (instance) (irate(windows_net_bytes_sent_total{job=~\"$job\",nic!~'isatap.*|VPN.*'}[2m]))*8",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{Instance}} _ upload ",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 10
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "-max by (instance) (irate(windows_net_bytes_received_total{job=~\"$job\",nic!~'isatap.*|VPN.*'}[2m]))*8",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{Instance}} _ download ",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 10
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Each host maximum traffic network card network details",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:4930",
          "format": "bps",
          "label": "Download Upload",
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:4931",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": false
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 2,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 5,
        "x": 15,
        "y": 6
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 51,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": true,
        "max": true,
        "min": false,
        "rightSide": true,
        "show": false,
        "sort": "max",
        "sortDesc": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "-max by (instance) (irate(windows_logical_disk_read_bytes_total[2m]))",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{Instance}} _ read ",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 20
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "max by (instance) (irate(windows_logical_disk_write_bytes_total[2m]))",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{Instance}} _ write ",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 20
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "The maximum disk read and write details",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:5258",
          "format": "Bps",
          "label": "Reading",
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:5259",
          "decimals": null,
          "format": "iops",
          "label": "",
          "logBase": 1,
          "max": null,
          "min": null,
          "show": false
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 4,
        "x": 20,
        "y": 6
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 55,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": true,
        "max": true,
        "min": false,
        "rightSide": true,
        "show": false,
        "sort": "current",
        "sortDesc": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "-max by (instance) (irate(windows_logical_disk_reads_total[2m]))",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{Instance}} _ read ",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 20
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "max by (instance) (irate(windows_logical_disk_writes_total[2m]))",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{Instance}} _ write ",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "C",
          "step": 20
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Each host maximum disk IO details",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:5486",
          "format": "iops",
          "label": "Reading",
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:5487",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": false
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "collapsed": false,
      "datasource": "Prometheus",
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 12
      },
      "id": 43,
      "panels": [],
      "title": "Resource details [$ show_hostname @ $ instance]",
      "type": "row"
    },
    {
      "cacheTimeout": null,
      "datasource": "Prometheus",
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "decimals": 1,
          "mappings": [
            {
              "options": {
                "match": "null",
                "result": {
                  "text": "N/A"
                }
              },
              "type": "special"
            }
          ],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "s"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 2,
        "w": 2,
        "x": 0,
        "y": 13
      },
      "id": 33,
      "interval": "",
      "links": [],
      "maxDataPoints": 100,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.0.3",
      "repeat": "host",
      "repeatDirection": "v",
      "targets": [
        {
          "expr": "time() - windows_system_system_up_time{job=~\"$job\",instance=~\"$instance\"}",
          "instant": false,
          "interval": "",
          "legendFormat": "",
          "refId": "A"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Long start",
      "type": "stat"
    },
    {
      "cacheTimeout": null,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "decimals": 2,
          "mappings": [
            {
              "options": {
                "": {
                  "text": ""
                }
              },
              "type": "value"
            }
          ],
          "max": 100,
          "min": 0,
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#299c46",
                "value": null
              },
              {
                "color": "rgba(237, 129, 40, 0.89)",
                "value": 60
              },
              {
                "color": "#d44a3a",
                "value": 90
              }
            ]
          },
          "unit": "percent"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 2,
        "y": 13
      },
      "id": 19,
      "interval": null,
      "links": [],
      "maxDataPoints": 100,
      "options": {
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showThresholdLabels": false,
        "showThresholdMarkers": true,
        "text": {}
      },
      "pluginVersion": "8.0.3",
      "targets": [
        {
          "expr": "100 - (avg(irate(windows_cpu_time_total{job=~\"$job\",instance=~\"$instance\",mode=\"idle\"}[2m])))*100",
          "format": "time_series",
          "interval": "",
          "intervalFactor": 1,
          "legendFormat": "",
          "refId": "A"
        }
      ],
      "title": "CPU usage",
      "type": "gauge"
    },
    {
      "cacheTimeout": null,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "decimals": 1,
          "mappings": [],
          "max": 100,
          "min": 0,
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "#EAB839",
                "value": 80
              },
              {
                "color": "red",
                "value": 90
              }
            ]
          },
          "unit": "percent"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 6,
        "w": 4,
        "x": 4,
        "y": 13
      },
      "id": 23,
      "links": [],
      "options": {
        "displayMode": "lcd",
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showUnfilled": true,
        "text": {}
      },
      "pluginVersion": "8.0.3",
      "targets": [
        {
          "expr": "100 - (windows_logical_disk_free_bytes{job=~\"$job\",instance=~\"$instance\"} / windows_logical_disk_size_bytes{job=~\"$job\",instance=~\"$instance\"})*100",
          "instant": false,
          "interval": "",
          "legendFormat": "{{volume}}",
          "refId": "A"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Each partition usage",
      "type": "bargauge"
    },
    {
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 100,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "linear",
            "lineWidth": 0,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "normal"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "links": [],
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "short"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "running"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "green",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "stopped"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "red",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 6,
        "w": 8,
        "x": 8,
        "y": 13
      },
      "id": 7,
      "links": [],
      "options": {
        "legend": {
          "calcs": [
            "lastNotNull"
          ],
          "displayMode": "table",
          "placement": "right"
        },
        "tooltip": {
          "mode": "single"
        }
      },
      "pluginVersion": "8.0.3",
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "sum(windows_service_state{job=~\"$job\",instance=~\"$instance\"}) by (state)",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{state}}",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 5
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "service status",
      "type": "timeseries"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "decimals": null,
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 8,
        "x": 16,
        "y": 13
      },
      "hiddenSeries": false,
      "id": 27,
      "legend": {
        "alignAsTable": true,
        "avg": false,
        "current": true,
        "max": false,
        "min": false,
        "rightSide": true,
        "show": false,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 2,
      "links": [],
      "nullPointMode": "null",
      "options": {
        "alertThreshold": true
      },
      "paceLength": 10,
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [
        {
          "$$hashKey": "object:940",
          "alias": "Number of processes",
          "color": "#B877D9"
        }
      ],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "expr": "windows_os_processes{job=~\"$job\",instance=~\"$instance\"}",
          "instant": false,
          "interval": "",
          "legendFormat": "Number of processes",
          "refId": "A"
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Number of processes",
      "tooltip": {
        "shared": true,
        "sort": 0,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:87",
          "decimals": 0,
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:88",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "cacheTimeout": null,
      "datasource": "Prometheus",
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "decimals": 0,
          "mappings": [
            {
              "options": {
                "match": "null",
                "result": {
                  "text": "N/A"
                }
              },
              "type": "special"
            }
          ],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "none"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 2,
        "w": 2,
        "x": 0,
        "y": 15
      },
      "id": 35,
      "interval": "",
      "links": [],
      "maxDataPoints": 100,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.0.3",
      "repeat": "host",
      "repeatDirection": "v",
      "targets": [
        {
          "expr": "windows_cs_logical_processors{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "instant": false,
          "interval": "",
          "intervalFactor": 1,
          "legendFormat": "",
          "refId": "A"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "CPU core",
      "type": "stat"
    },
    {
      "cacheTimeout": null,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "decimals": 2,
          "mappings": [
            {
              "options": {
                "match": "null",
                "result": {
                  "text": "N/A"
                }
              },
              "type": "special"
            }
          ],
          "max": 100,
          "min": 0,
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#299c46",
                "value": null
              },
              {
                "color": "rgba(237, 129, 40, 0.89)",
                "value": 80
              },
              {
                "color": "#d44a3a",
                "value": 90
              }
            ]
          },
          "unit": "percent"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 2,
        "y": 16
      },
      "id": 21,
      "interval": null,
      "links": [],
      "maxDataPoints": 100,
      "options": {
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showThresholdLabels": false,
        "showThresholdMarkers": true,
        "text": {}
      },
      "pluginVersion": "8.0.3",
      "targets": [
        {
          "exemplar": true,
          "expr": "100 - (windows_os_physical_memory_free_bytes{job=~\"$job\",instance=~\"$instance\"} / windows_cs_physical_memory_bytes{job=~\"$job\",instance=~\"$instance\"})*100",
          "instant": false,
          "interval": "",
          "legendFormat": "",
          "refId": "A"
        }
      ],
      "title": "Memory usage",
      "type": "gauge"
    },
    {
      "cacheTimeout": null,
      "datasource": "Prometheus",
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "decimals": 0,
          "mappings": [
            {
              "options": {
                "match": "null",
                "result": {
                  "text": "N/A"
                }
              },
              "type": "special"
            }
          ],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "bytes"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 2,
        "w": 2,
        "x": 0,
        "y": 17
      },
      "id": 37,
      "interval": "",
      "links": [],
      "maxDataPoints": 100,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.0.3",
      "repeat": "host",
      "repeatDirection": "v",
      "targets": [
        {
          "expr": "windows_cs_physical_memory_bytes{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "instant": false,
          "interval": "",
          "intervalFactor": 1,
          "legendFormat": "",
          "refId": "A"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Total memory",
      "type": "stat"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "decimals": 1,
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 8,
        "w": 8,
        "x": 0,
        "y": 19
      },
      "hiddenSeries": false,
      "id": 25,
      "legend": {
        "alignAsTable": false,
        "avg": true,
        "current": true,
        "max": true,
        "min": true,
        "rightSide": false,
        "show": true,
        "sort": "current",
        "sortDesc": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null",
      "options": {
        "alertThreshold": true
      },
      "paceLength": 10,
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": true,
      "steppedLine": false,
      "targets": [
        {
          "expr": "100 - avg(irate(windows_cpu_time_total{job=~\"$job\",instance=~\"$instance\",mode=\"idle\"}[5m]))*100",
          "hide": false,
          "interval": "",
          "legendFormat": "CPU usage",
          "refId": "A"
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "CPU usage",
      "tooltip": {
        "shared": true,
        "sort": 0,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:366",
          "format": "percent",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:367",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": false
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 30,
            "gradientMode": "opacity",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "linear",
            "lineWidth": 0,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "links": [],
          "mappings": [],
          "min": 0,
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "bytes"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "I have used physical memory"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "orange",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.gradientMode",
                "value": "none"
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Total Physical Memory"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "blue",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 8,
        "w": 8,
        "x": 8,
        "y": 19
      },
      "hideTimeOverride": false,
      "id": 14,
      "links": [],
      "options": {
        "legend": {
          "calcs": [
            "mean",
            "lastNotNull",
            "max",
            "min"
          ],
          "displayMode": "table",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "single"
        }
      },
      "pluginVersion": "8.0.3",
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "exemplar": true,
          "expr": "windows_cs_physical_memory_bytes{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "Total Physical Memory",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 5
        },
        {
          "application": {
            "filter": ""
          },
          "exemplar": true,
          "expr": "windows_cs_physical_memory_bytes{job=~\"$job\",instance=~\"$instance\"} -windows_os_physical_memory_free_bytes{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "I have used physical memory",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "C",
          "step": 5
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "windows_os_virtual_memory_bytes{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": true,
          "host": {
            "filter": ""
          },
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "Virtual memory",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 5
        },
        {
          "expr": "windows_os_virtual_memory_free_bytes{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "hide": true,
          "intervalFactor": 1,
          "legendFormat": "Free virtual memory",
          "refId": "D"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Memory details",
      "type": "timeseries"
    },
    {
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "linear",
            "lineWidth": 2,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "links": [],
          "mappings": [],
          "min": 0,
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "bytes"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byRegexp",
              "options": "Total space. *"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "blue",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byRegexp",
              "options": "remaining space.*"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "blue",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 8,
        "w": 8,
        "x": 16,
        "y": 19
      },
      "hideTimeOverride": false,
      "id": 15,
      "links": [],
      "options": {
        "legend": {
          "calcs": [
            "mean",
            "lastNotNull",
            "max",
            "min"
          ],
          "displayMode": "table",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "single"
        }
      },
      "pluginVersion": "8.0.3",
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "windows_logical_disk_free_bytes{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "remaining space {{volume}}",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 20
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "windows_logical_disk_size_bytes{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": true,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "Total space {{volume}}",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 20
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Disk remaining space",
      "type": "timeseries"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 8,
        "w": 8,
        "x": 0,
        "y": 27
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 11,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": true,
        "max": true,
        "min": true,
        "rightSide": false,
        "show": true,
        "sort": "max",
        "sortDesc": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_net_bytes_sent_total{job=~\"$job\",instance=~\"$instance\",nic!~'isatap.*|VPN.*'}[5m])*8>0\r",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{nic}} - SENT - Upload ",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 10
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_net_bytes_received_total{job=~\"$job\",instance=~\"$instance\",nic!~'isatap.*|VPN.*'}[5m])*8\n",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "{{nic}} - received- Download ",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 10
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Network details",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:137",
          "format": "bps",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:138",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": false
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 2,
      "fillGradient": 0,
      "gridPos": {
        "h": 8,
        "w": 8,
        "x": 8,
        "y": 27
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 8,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": true,
        "max": true,
        "min": true,
        "rightSide": false,
        "show": true,
        "sort": null,
        "sortDesc": null,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_logical_disk_read_bytes_total{job=~\"$job\",instance=~\"$instance\"}[5m])\r",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "read {{volume}}",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 20
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_logical_disk_write_bytes_total{job=~\"$job\",instance=~\"$instance\"}[5m])\r",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "write {{volume}}",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 20
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Disk read and write",
      "tooltip": {
        "shared": true,
        "sort": 0,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:761",
          "format": "Bps",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:762",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 8,
        "w": 8,
        "x": 16,
        "y": 27
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 9,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": true,
        "max": true,
        "min": true,
        "rightSide": false,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_logical_disk_reads_total{job=~\"$job\",instance=~\"$instance\"}[5m])",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "read {{volume}}",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 20
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_logical_disk_writes_total{job=~\"$job\",instance=~\"$instance\"}[5m])",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "write {{volume}}",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "C",
          "step": 20
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Disk IO",
      "tooltip": {
        "shared": true,
        "sort": 0,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:815",
          "format": "iops",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:816",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": true,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "decimals": 2,
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 6,
        "x": 0,
        "y": 35
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 29,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "max": true,
        "min": true,
        "rightSide": false,
        "show": false,
        "total": false,
        "values": true
      },
      "lines": false,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null",
      "options": {
        "alertThreshold": true
      },
      "paceLength": 10,
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": true,
      "steppedLine": false,
      "targets": [
        {
          "expr": "(irate(windows_net_bytes_total{job=~\"$job\",instance=~\"$instance\",nic!~'isatap.*|VPN.*'}[5m]) * 8 / windows_net_current_bandwidth{job=~\"$job\",instance=~\"$instance\",nic!~'isatap.*|VPN.*'}) * 100",
          "legendFormat": "{{nic}}",
          "refId": "A"
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": Network usage,
      "tooltip": {
        "shared": true,
        "sort": 0,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:915",
          "format": "percent",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:916",
          "format": "bytes",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 6,
        "x": 6,
        "y": 35
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 10,
      "legend": {
        "alignAsTable": false,
        "avg": false,
        "current": true,
        "max": false,
        "min": false,
        "rightSide": false,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_net_packets_outbound_discarded{job=~\"$job\",instance=~\"$instance\", nic!~'isatap.*|VPN.*'}[5m]) + irate(windows_net_packets_outbound_errors{job=~\"$job\",instance=~\"$instance\"}[5m])",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "outbound",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "B",
          "step": 15
        },
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_net_packets_received_discarded{job=~\"$job\",instance=~\"$instance\", nic!~'isatap.*|VPN.*'}[5m]) + irate(windows_net_packets_received_errors{job=~\"$job\",instance=~\"$instance\"}[5m])",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "received",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 15
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Network discarded/error packets",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:518",
          "format": "pps",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:519",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 6,
        "x": 12,
        "y": 35
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 12,
      "legend": {
        "alignAsTable": false,
        "avg": false,
        "current": true,
        "max": false,
        "min": false,
        "rightSide": false,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "windows_system_threads{job=~\"$job\",instance=~\"$instance\"}",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "system_threads",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 20
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "system_threads",
      "tooltip": {
        "shared": false,
        "sort": 0,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:414",
          "format": "none",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:415",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "Prometheus",
      "fieldConfig": {
        "defaults": {
          "links": []
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 0,
      "gridPos": {
        "h": 6,
        "w": 6,
        "x": 18,
        "y": 35
      },
      "hiddenSeries": false,
      "hideTimeOverride": false,
      "id": 13,
      "legend": {
        "alignAsTable": false,
        "avg": false,
        "current": true,
        "max": true,
        "min": false,
        "rightSide": false,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.0.3",
      "pointradius": 5,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "application": {
            "filter": ""
          },
          "expr": "irate(windows_system_exception_dispatches_total{job=~\"$job\",instance=~\"$instance\"}[5m])",
          "format": "time_series",
          "functions": [],
          "group": {
            "filter": ""
          },
          "hide": false,
          "host": {
            "filter": ""
          },
          "interval": "",
          "intervalFactor": 1,
          "item": {
            "filter": ""
          },
          "legendFormat": "exceptions",
          "metric": "mysql_global_status_questions",
          "mode": 0,
          "options": {
            "showDisabledItems": false
          },
          "refId": "A",
          "step": 20
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "System exception dispatches",
      "tooltip": {
        "shared": false,
        "sort": 0,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:466",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:467",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    }
  ],
  "refresh": "",
  "schemaVersion": 30,
  "style": "dark",
  "tags": [
    "Prometheus",
    "windows_exporter"
  ],
  "templating": {
    "list": [
      {
        "allValue": null,
        "current": {
          "selected": false,
          "text": "windows_exporter",
          "value": "windows_exporter"
        },
        "datasource": "Prometheus",
        "definition": "label_values(windows_cs_hostname, job)",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": "JOB",
        "multi": false,
        "name": "job",
        "options": [],
        "query": {
          "query": "label_values(windows_cs_hostname, job)",
          "refId": "Prometheus-job-Variable-Query"
        },
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 1,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {
          "selected": false,
          "text": "All",
          "value": "$__all"
        },
        "datasource": "Prometheus",
        "definition": "label_values(windows_cs_hostname{job=~\"$job\"}, hostname)",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": true,
        "label": "CPU name",
        "multi": false,
        "name": "hostname",
        "options": [],
        "query": {
          "query": "label_values(windows_cs_hostname{job=~\"$job\"}, hostname)",
          "refId": "Prometheus-hostname-Variable-Query"
        },
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 5,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {
          "selected": false,
          "text": "172.16.246.64:9182",
          "value": "172.16.246.64:9182"
        },
        "datasource": "Prometheus",
        "definition": "label_values(windows_cs_hostname{job=~\"$job\",hostname=~\"$hostname\"}, instance)",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": "instance",
        "multi": false,
        "name": "instance",
        "options": [],
        "query": {
          "query": "label_values(windows_cs_hostname{job=~\"$job\",hostname=~\"$hostname\"}, instance)",
          "refId": "Prometheus-instance-Variable-Query"
        },
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 5,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {
          "selected": false,
          "text": "ecs-dc38",
          "value": "ecs-dc38"
        },
        "datasource": "Prometheus",
        "definition": "label_values(windows_cs_hostname{job=~\"$job\",instance=~\"$instance\"}, hostname)",
        "description": null,
        "error": null,
        "hide": 2,
        "includeAll": false,
        "label": "Show host name",
        "multi": false,
        "name": "show_hostname",
        "options": [],
        "query": {
          "query": "label_values(windows_cs_hostname{job=~\"$job\",instance=~\"$instance\"}, hostname)",
          "refId": "Prometheus-show_hostname-Variable-Query"
        },
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "datasource": "Prometheus",
        "description": null,
        "error": null,
        "filters": [],
        "hide": 0,
        "label": null,
        "name": "Filters",
        "skipUrlSync": false,
        "type": "adhoc"
      }
    ]
  },
  "time": {
    "from": "now-3h",
    "to": "now"
  },
  "timepicker": {
    "refresh_intervals": [
      "10s",
      "30s",
      "1m",
      "5m",
      "15m",
      "30m",
      "1h",
      "2h",
      "1d"
    ],
    "time_options": [
      "5m",
      "15m",
      "1h",
      "6h",
      "12h",
      "24h",
      "2d",
      "7d",
      "30d"
    ]
  },
  "timezone": "",
  "title": "1   windows_exporter for Prometheus Dashboard CN v2021.7.5",
  "uid": "b7iaHzknz",
  "version": 41
}

If you are a system administrator, you might have to monitor Windows PC’s, Exchange Server, Active Directory and DNS Server. For this tutorial, I am using windows exporter which is a Prometheus exporter to monitor our Windows Machines.

image-center

How Prometheus works
Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts.

Install Windows Exporter

Download Windows Exporter MSI file.
https://github.com/prometheus-community/windows_exporter
Install Windows exporter. This msi file will create a windows_exporter service file too.
To verify:
Type win + R
services.msc
search for keyword ‘w’. You will find service name called “windows_exporter.”

Make sure this service is running. It will also automatically add firewall rule by opening TCP Port 9182. Allow only your Prometheus server IP in that rule.
Now your exporter is running, it will start exposing windows metrics on http://localhost:9182/metrics.

Open your web browser and navigate to the above URL. This is what you should see in your web browser.

image-center

By default only few collectors “cpu, cs, logical_disk, net, os, service, system, textfile” are enabled. If you want to monitor like “exchange, ad, dns” then you should manually enable that collectors.

Two ways to enable collectors:

  1. Change through regedit directly
  2. Change through sc windows command

Here, I am going to show both ways to enable collectors. In some older windows versions like in windows 2008 you will not find service name “windows_exporter” through regedit process. In that case go through process 2.

Enable Collectors AD,DNS

1. Enable through regedit

Win + R > regedit > HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > Windows_exporter

Double click on “ImagePath” string to edit.
Change it’s value and click ok.

C:\Program files (x86)\windows_exporter\windows_exporter.exe --log.format logger:eventlog?name=windows_exporter --collectors.enabled ad,dns,cs,cpu,logical_disk,memory,service,system,tcp --telemetry.addr :9182

image-center

Now restart windows_exporter service.

If you don’t want to follow process 1 then you can also enable collectors from process 2 which is through sc command. The Service Controller utility SC is a powerful command-line utility for managing Windows services.

2. Enable through SC Command
Open terminal and execute below command.

sc config windows_exporter binPath= "\"C:\Program files (x86)\windows_exporter\windows_exporter.exe\" --log.format logger:eventlog?name=windows_exporter  --collectors.enabled \"ad,dns,cs,cpu,logical_disk,logon,memory,net,os,service,system,tcp\" --telemetry.addr :9182"

It’s output should be [SC] ChangeServiceConfig SUCCESS

image-center

Now restart windows_exporter service. If your service doesn’t start after you execute sc command then check again for it’s windows exporter config. You might have missed something.

Enable Exchange Collector

You need to enable exchange collector and define –collectors.exchange flags too. The exchange collector collects metrics from MS Exchange hosts through perflib.

1. Enable through regedit

C:\Program files (x86)\windows_exporter\windows_exporter.exe  --log.format logger:eventlog?name=windows_exporter --collectors.enabled "exchange,cpu,cs,logical_disk,logon,memory,net,os,system,tcp" --collectors.exchange.enabled=TransportQueues,HttpProxy,ActiveSync,AvailabilityService,OutlookWebAccess,Autodiscover

2. Enable through SC Command

sc config windows_exporter binPath= "\"C:\Program files (x86)\windows_exporter\windows_exporter.exe\" --log.format logger:eventlog?name=windows_exporter  --collectors.enabled \"exchange,cs,cpu,logical_disk,logon,memory,net,os,service,system,tcp\" --collectors.exchange.enabled=TransportQueues,HttpProxy,ActiveSync,AvailabilityService,OutlookWebAccess,Autodiscover  --telemetry.addr :9182"

image-center

Now restart windows_exporter service. If your service doesn’t start then please check above command again.

Prometheus

I hope you have already installed Prometheus. If not then you should first install it and it should be running. Windows Metrics are exposed through windows exporter and now Prometheus needs to scrape those metrics. so for that, we have to configure our Windows Machines in Prometheus target.

vim /etc/prometheus/prometheus.yml
  - job_name: win-exporter
    scrape_interval: 15s
    scrape_timeout: 6s
    static_configs:
    - targets: ['win-srv-01:9182', 'win-srv-02:9182']
systemctl restart prometheus
systemctl status prometheus

Above settings will scrape for metrics in every 15sec interval. If it takes longer than 6s to scrape then it will go in timeout. If remote windows server generates lots of metrics then you may need to increase your scrape_timeout time too.

Now access your prometheus UI through browser. and select the “Status” tab and click on Targets to make sure that Prometheus is correctly connected to the job name “win-exporter”.
Also check for windows metrics in prometheus UI.

image-center

Grafana Dashboard

I guess you have already installed grafana.
In Grafana, you can either create your own dashboards or you can use pre-existing ones that contributors already crafted for you. I am going to Import Windows Node Dashboard ID 2129 and Prometheus — AD and DNS Dashboard ID 3969. and for Exchange, I will create my own dashboard.

To Import Dashboard. Click + in grafana. and click Import. Place your Dashboard ID or URL and click Load.
Another option to load dashboard is by uploding .json file.
To import windows grafana dashboard.
In our case, we are going to use the Windows Node dashboard, accessible via the 2129 ID.
https://grafana.com/grafana/dashboards/2129

image-center

For AD, DNS Dashboard, use 3969 ID.
https://grafana.com/grafana/dashboards/3969

image-center

For exchange, I created my own Grafana Dashboard. After you collect all exchange metrics, you can work in visualization part.

image-center

And for Alerting part, either you can use Grafana Alert system or use AlertManager of Prometheus. They have their own pros and cons so choose accordingly your need. I suggest you to use AlertManager.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Установка системного шрифта windows 10
  • Что делать если в службах нет центра обновления windows 10
  • Как проверить встроенную камеру на ноутбуке windows 10
  • Windows 10 april 2018 update v1803
  • Сетевые службы windows 10 где находятся