5.02021-11-21T21:42:07ZTemplatesTemplates/Operating systemsOS Windows ServerOS Windows Server## Description
Шаблон подходит для ОС Windows Server 2012, 2016. Посетите. Группа ВК:https://vk.com/simplezabbix Видео про шаблон:https://youtu.be/FWqFyRu8hmQ
## Overview
Данный шаблон основан на счетчиках производительности Windows. Низкоуровневое обнаружение сетевых интерфейсов и дисков используется для создания ключей "perf\_counter[счетчик,<период>]"
Посетите.
Группа ВК:https://vk.com/simplezabbix
Видео про шаблон:https://youtu.be/FWqFyRu8hmQ
TemplatesTemplates/Operating systemsДискПамятьПроцессорСетьСистемаСлужбы- Проверка статуса FirewallCheckFirewall4h7d0TEXTДля работы нужно добавить в файл конфигурации zabbix агента
#CheckFirewall
UserParameter=CheckFirewall, PowerShell.exe "(Get-NetFirewallProfile -Profile Domain,Public,Private).enabled"Система{str(False)}=1Отключен firewall WindowsWARNING{ITEM.LASTVALUE}YESБезопасность
- Проверка по ICMP (ping)SIMPLEicmpping1d7dСеть{last()}=0Интерфейс узла сети не доступен (no ping)HIGH{HOST.IP}Доступность
- Memory Available (Physical) %CALCULATEDMemoryAvailablePhysicalProc7d180dFLOAT%100*last("perf_counter[\"\Memory\Available Bytes\",60]")/last("system.run[Powershell.exe \"((Get-WmiObject Win32_PhysicalMemory).Capacity | Measure-Object -Sum).Sum\"]")Процент используемой физической памятиПамять{avg(5m)}<15Memory Available (Physical) > 85% (5 min)WARNINGОС использует > 85% от физической памяти более 5 минутMemory Available (Physical) > 95% (5 min){OS Windows Server:MemoryAvailablePhysicalProc.avg(5m)}<5Производительность{avg(5m)}<5Memory Available (Physical) > 95% (5 min)HIGHОС использует > 95% от физической памяти более 5 минут
Если объем доступной памяти слишком мал, есть вероятность, что система начнет использовать для активных процессов файл подкачки. Если системе не хватает физической памяти, то результатом этого могут быть значительные задержки и/или полное зависание системыПроизводительность
- Memory Committed Bytes In Use %perf_counter["\Memory\% Committed Bytes In Use",300]5m7d90dFLOAT%Соотношение величин счетчиков Commited Bytes и Commit Limit.
Следя за счетчиком %Committed Bytes In Use, можно увидеть, что при достижении им величины 100% система начнет увеличивать размеры файла подкачки, пытаясь удовлетворить растущие запросы на память.ПамятьPOST{last()}>85Committed Bytes In Use > 85%AVERAGEПредел выделенной памяти будет расти, если общий объем выделенной памяти приблизится к 90% от предельного значения — если же значение достигнет 95%, то предел вероятно перестанет расти, и появится вероятность возникновения ошибки OutOfMemory. Как только объем выделенной памяти достигнет предела, то система больше не сможет выделять память для процессов. Большинство процессов не справится с данным поведением системы и прекратят свое выполнение. Поэтому очень важно следить за этим счетчиком.Производительность
- Memory Available Bytesperf_counter["\Memory\Available Bytes",60]7d90dFLOATBПамятьPOST
- Memory Commit Limitperf_counter["\Memory\Commit Limit",300]5m7d90dFLOATBпоказывает максимальный объем памяти, который может быть выделен системой. Обычно это фиксированная величина, которая определяется операционной системойПамять
- Process Total Private Bytesperf_counter["\Process(_Total)\Private Bytes",300]5m7d90dFLOATBпоказывает объем выделенной памяти для процесса. Если сумма всех private bytes для всех процессов превысит предел памяти, описанный выше, это значит, что в системе образовалась нехватка памяти и приложения будут отказыватьПамять
- Processor Timeperf_counter["\Processor(_Total)\% Processor Time",60]7d180dFLOAT%Загруженность процессора в % (среднее значение за 1 минуту)ПроцессорPOST{avg(5m)}>85Processor Time > 85% (5 min)AVERAGEНужно выяснить почему загружен процессор, если высокая загрузка связанна не с проблемами в работе приложений необходимо добавить ресурсов серверу.Processor Time > 85% (15 min){OS Windows Server:perf_counter["\Processor(_Total)\% Processor Time",60].avg(15m)}>85Производительность{avg(15m)}>85Processor Time > 85% (15 min)HIGHНужно выяснить почему загружен процессор, если высокая загрузка связанна не с проблемами в работе приложений необходимо добавить ресурсов серверу.Производительность
- Processor Context Switchesperf_counter["\System\Context Switches/sec",60]7d90dFLOATв многозадачных ОС и средах - процесс прекращения выполнения процессором одной задачи (процесса, потока, нити) с сохранением всей необходимой информации и состояния, необходимых для последующего продолжения с прерванного места, и восстановления и загрузки состояния задачи, к выполнению которой переходит процессор.Процессор
- Processor Queue Lengthperf_counter["\System\Processor Queue Length",60]7d90dFLOATПоказания счетчика действительно очень важны для поиска проблем с производительностью процессора. Постоянное наличие большой очереди запросов к ЦП явно свидетельствует о том, что процессор не справляется с обработкой данных и является узким местом.ПроцессорPOST{avg(5m)}>4Processor Queue Length > 4 (5 min)AVERAGEОбратите внимание на Processor Queue Length > 4 в течение 5 минут.
Получите обратную связь от пользователей приложения. Если приложение работает нормально и пользователи не испытывают проблем при работе с ПО, нужно повысить пороговое значение.
Но стоит подключиться к более глубокому анализу производительности ЦП как слабого места, разобраться в причине или увеличить ресурсы серверу.Processor Queue Length > 10 (3 min){OS Windows Server:perf_counter["\System\Processor Queue Length",60].avg(3m)}>10Производительность{avg(3m)}>10Processor Queue Length > 10 (3 min)HIGHКритическое значение очереди > 10 в течение 3 минут.
Нужно разобраться в причине или увеличить ресурсы серверу.Производительность
- Системное время UTCsystem.localtime[utc]1d30dСистемаPOST{fuzzytime(1)}=0Fuzzytime > 1sHIGHРазница в системном времени между хостом и сервером Zabbix больше 1 сек
Проверьте состояние службы времени в ОС
Полезные команды:
w32tm /resync - выполнение синхронизации времени
w32tm /resync /rediscover - Принудительная синхронизация от источника
w32tm /query /peers - Отображение текущих источников синхронизации и их статуса
w32tm /config /update - Применение внесенных в конфигурацию изменений
w32tm /monitor - Отображение состояния синхронизации контроллеров домена в домене
net stop w32time - остановка службы
net start w32time - запуск службыFuzzytime > 5s{OS Windows Server:system.localtime[utc].fuzzytime(5)}=0Доступность{fuzzytime(5)}=0Fuzzytime > 5sDISASTERРазница в системном времени между хостом и сервером Zabbix больше 5 сек
Проверьте состояние службы времени в ОС
Полезные команды:
w32tm /resync - выполнение синхронизации времени
w32tm /resync /rediscover - Принудительная синхронизация от источника
w32tm /query /peers - Отображение текущих источников синхронизации и их статуса
w32tm /config /update - Применение внесенных в конфигурацию изменений
w32tm /monitor - Отображение состояния синхронизации контроллеров домена в домене
net stop w32time - остановка службы
net start w32time - запуск службыДоступность
- Проверка Обновленийsystem.run["PowerShell.exe [int][double]::Parse((Get-Date((Get-ItemProperty -Path Registry::'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install').LastSuccessTime) -UFormat %s))"]4h7d7dЕсли в системе нет установленных обновлений, то элемент данных станет не поддерживаемый. Так как скрипт выдает ошибку.
Для работы нужно добавить в файл конфигурации zabbix агента и разместить PS скрипт в папке.
#UpdateWindows
UserParameter=Update, PowerShell.exe -File "C:\Program Files\Zabbix\lastDateUpdate.ps1"СистемаRTRIMPOST{nodata(8h)}=1Zabbix не смог получить данных о обновления в системеINFOПроверите работу zabbix agenta, наличие скрипта powershell и ключа в файле конфигурации.YESБезопасность
- Проверка Cертификатаsystem.run[Powershell.exe "& {(Get-ChildItem -Path cert: -Recurse -ExpiringInDays 45 | where {$_.PSPath -notmatch 'Remote Desktop' -and $_.PSPath -notmatch 'Operations Manager'}).subject}"]4h7d0TEXTСистема{nodata(8h)}=1Zabbix не смог получить данных о сертификатахINFOПроверите работу элемента данных.Безопасность{strlen()}>1Проблема с сертификатомWARNINGВ системе есть сертификат срок действия которого истекает через 45 дней
{ITEM.LASTVALUE}
Проверьте сертификаты в системе. Имя сертификата можно узнать в меню Мониторинг > Последние данные.YESБезопасность
- Memory Capacity (Physical) Bytessystem.run[Powershell.exe "((Get-WmiObject Win32_PhysicalMemory).Capacity | Measure-Object -Sum).Sum"]24h7d90dBРазмер физической памятиПамять
discovery Interfacenet.if.discovery24hAND{#IFNAME}@Network interfaces for discoveryA{#IFNAME}@Microsoft Network AdapterB7dОбнаружение сетевых интрефейсовInterface:{#IFNAME}, Received Bytes/secperf_counter["\Network Interface({#IFNAME})\Bytes Received/sec",60]30d30dFLOATbpsСетьInterface:{#IFNAME}, Sent Bytes/secperf_counter["\Network Interface({#IFNAME})\Bytes Sent/sec",60]30d30dFLOATbpsСетьInterface:{#IFNAME}, Current Bandwidthperf_counter["\Network Interface({#IFNAME})\Current Bandwidth",]24h1d7dbpsСетьInterface:{#IFNAME}, Output Queue Lengthperf_counter["\Network Interface({#IFNAME})\Output Queue Length",300]5m7d30dСчетчик фиксирует длину очереди исходящих пакетов адаптера. Приемлемыми считаются значения 1 и 2. Но если этот показатель часто достигает уровня 3, 4 или более высоких отметок, это значит, что сетевой адаптер ввода/вывода не справляется с запросами сервера на передачу данных в сеть.Сеть{last()}>3Interface:{#IFNAME}, Output Queue Length > 3WARNINGСчетчик фиксирует длину очереди исходящих пакетов адаптера. Приемлемыми считаются значения 1 и 2. Но если этот показатель часто достигает уровня 3, 4 или более высоких отметок, это значит, что сетевой адаптер ввода/вывода не справляется с запросами сервера на передачу данных в сеть.ПроизводительностьInterface:{#IFNAME}, Utilization ReceivedCALCULATEDUtilizationReceived.[{#IFNAME}]1dFLOAT%100*last("perf_counter[\"\Network Interface({#IFNAME})\Bytes Received/sec\",60]")/last("perf_counter[\"\Network Interface({#IFNAME})\Current Bandwidth\",]")Сеть{last()}>50Interface:{#IFNAME}, Utilization Received > 50%INFOUtilization Received = {ITEM.LASTVALUE}Interface:{#IFNAME}, Utilization Received > 90%{OS Windows Server:UtilizationReceived.[{#IFNAME}].last()}>90Производительность{last()}>90Interface:{#IFNAME}, Utilization Received > 90%HIGHUtilization Received = {ITEM.LASTVALUE}ПроизводительностьInterface:{#IFNAME}, Utilization SentCALCULATEDUtilizationSent.[{#IFNAME}]1dFLOAT%100*last("perf_counter[\"\Network Interface({#IFNAME})\Bytes Sent/sec\",60]")/last("perf_counter[\"\Network Interface({#IFNAME})\Current Bandwidth\",]")Сеть{last()}>50Interface:{#IFNAME}, Utilization Sent > 50%INFOUtilization Sent = {ITEM.LASTVALUE}Interface:{#IFNAME}, Utilization Sent > 90%{OS Windows Server:UtilizationSent.[{#IFNAME}].last()}>90Производительность{last()}>90Interface:{#IFNAME}, Utilization Sent > 90%HIGHUtilization Sent = {ITEM.LASTVALUE}ПроизводительностьInterface:{#IFNAME}, Utilization1400500FIXEDFIXED1A7C11- OS Windows ServerUtilizationReceived.[{#IFNAME}]
1F63100- OS Windows ServerUtilizationSent.[{#IFNAME}]
discovery serviceservice.discovery24hOR{#SERVICE.NAME}W32TimeA{#SERVICE.NAME}MpsSvcB{#SERVICE.NAME}DnscacheC{#SERVICE.NAME}gpsvcD{#SERVICE.NAME}EventLogE{#SERVICE.NAME}ScheduleF7dОбнаружение служб WindowsСостояние службы {#SERVICE.DISPLAYNAME}service.info[{#SERVICE.NAME}]3m7d30dОписание:
{#SERVICE.DESCRIPTION}СлужбыСостояние службы{last()}<>0Состояние службы {#SERVICE.DISPLAYNAME} = {ITEM.LASTVALUE}HIGHСостояние службы {#SERVICE.DISPLAYNAME} = {ITEM.LASTVALUE}
Если отслеживать состояние службы не нужно, просто отключите триггерДоступностьdiscovery local diskvfs.fs.discovery24hAND{#FSTYPE}@File systems for discoveryA{#FSTYPE}^NTFS|^ReFSB7dОбнаружение дисковLogicalDisk {#FSNAME} Disk Time %perf_counter["\LogicalDisk({#FSNAME})\% Disk Time",300]5m7d90dFLOATТип файловой системы:{#FSTYPE}
Тип диска:{#FSDRIVETYPE}
Счетчик отображает, какую часть времени диск расходует на обслуживание запросов на чтение и запись. Если его значения стабильно сохраняются на уровне вблизи отметки 100%, система работает с диском весьма интенсивно. Если же идет постоянный активный обмен данными и при этом создаются большие очереди, возможно, что дисковая подсистема не справляется с нагрузкой. В типичных условиях эксплуатации значение этого счетчика не должно превышать 50.ДискLogicalDisk {#FSNAME} Free Spaceperf_counter["\LogicalDisk({#FSNAME})\% Free Space",300]5m30dFLOAT%Тип файловой системы:{#FSTYPE}
Тип диска:{#FSDRIVETYPE}Диск{last()}<5LogicalDisk {#FSNAME} Free Space < 5%HIGHДоступность{last()}<15LogicalDisk {#FSNAME} Free Space < 15%AVERAGELogicalDisk {#FSNAME} Free Space < 5%{OS Windows Server:perf_counter["\LogicalDisk({#FSNAME})\% Free Space",300].last()}<5ДоступностьLogicalDisk {#FSNAME} Avg. Disk Queue Lengthperf_counter["\LogicalDisk({#FSNAME})\Avg. Disk Queue Length",60]7d90dFLOATТип файловой системы:{#FSTYPE}
Тип диска:{#FSDRIVETYPE}
Показатель этого счетчика отражает среднее число ожидающих обработки запросов к диску на ввод и вывод данных. Если он стабильно выше 2, значит, в диске образовался «затор».Диск{avg(15m)}>2LogicalDisk {#FSNAME} Avg. Disk Queue Length > 2 (15 min)WARNINGСреднее значение за 15 минут > 2
Показатель этого счетчика отражает среднее число ожидающих обработки запросов к диску на ввод и вывод данных. Если он стабильно выше 2, значит, в диске образовался «затор».LogicalDisk {#FSNAME} Avg. Disk Queue Length > 10 (3 min){OS Windows Server:perf_counter["\LogicalDisk({#FSNAME})\Avg. Disk Queue Length",60].avg(3m)}>10Производительность{avg(3m)}>10LogicalDisk {#FSNAME} Avg. Disk Queue Length > 10 (3 min)HIGHСреднее значение за 3 минут > 10
Показатель этого счетчика отражает среднее число ожидающих обработки запросов к диску на ввод и вывод данных. Если он стабильно выше 10, значит, у системы серьезные проблема с производительностью диска.Производительность{OS Windows Server:perf_counter["\Process(_Total)\Private Bytes",300].last()}>={OS Windows Server:perf_counter["\Memory\Commit Limit",300].last()}Process Total Private Bytes > Memory Commit LimitHIGHProcess\Private Bytes показывает объем выделенной памяти для процесса. Если сумма всех private bytes для всех процессов превысит предел памяти(Memory Commit Limit), это значит, что в системе образовалась нехватка памяти и приложения будут отказывать.Доступность({OS Windows Server:system.localtime[utc].now()}-{OS Windows Server:system.run["PowerShell.exe [int][double]::Parse((Get-Date((Get-ItemProperty -Path Registry::'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install').LastSuccessTime) -UFormat %s))"].last()})>7889229Обновления Windows не устанавливались > 3мINFOНужно согласовать установку обновлений на сервере. И провести установку обновлений.
Обновления Windows не устанавливались более 3 месяцевБезопасностьСостояние службы0запущена1пауза2ожидание старта3ожидание паузы4ожидание продолжения5ожидание остановки6остановлена7неизвестно255такой службы не существует