Zabbix счетчики производительности windows

Zabbix + Windows + Perfect Counter ( Zabbix Windows client configuration. )

30 марта 2010 (обновлено 27 мая 2017)

OS: Windows 2000 / XP / 2003 / Vista / 2008 / 7.

Настраиваем сбор показателей операционных систем Windows агентами Zabbix путём использования “счётчиков производительности “ операционной системы.

Для начала поборемся с результатами добрых деяний разработчиков системы Windows и её «локализаторов». Приведём наименования параметров счётчиков производительности к общему знаменателю, то есть, переименуем их всех в англоязычный вид, такой, какой они изначально имеют. Для этого нужно пройти в редакторе реестра в ветку со следующим адресом ”HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Perflib/009”, скопировать содержимое параметра ”Counter”, перейти в ветку ”HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Perflib/019” и заменить содержимое параметра ”Counter” тем, что мы перед этим получили из другой ветви.

Теперь у нас имена параметров на английском языке и нам не нужно будет извращаться, выискивая соответствие локализованных вариантов оригинальным.

Запросим у системы список имеющихся в наличии счётчиков производительности:

В ответ получим список, начинающийся примерно так:

Можно удовлетворить любопытство более подробным выводом данных о имеющихся счётчиках:

Для начала нас будут интересовать следующие показатели:

Наименование сетевого интерфейса можно узнать из вывода следующей команды:

В результате получаем нечто вроде следующего:

Если мы увидели в имени сетевого адаптера символы не латинского алфавита, то весьма возможно, мы имеем проблемы; некоторые версии Zabbix агентов не могли отрабатывать запросы к параметрам с не латинскими символами. Единственное, что я смог придумать, так это переименование оборудования сетевого интерфейса с заменой символов не латинского алфавита на латинские. Хотя, можно проверить, вдруг уже пофиксили эту проблему на вашей версии агента. У меня версии 1.6 вполне отрабатывали русские имена устройств.

Сформируем запрос следующего вида:

В итоге получаем нечто вроде следующего:

Создаем в конфигурационном файле агента Zabbix пользовательский параметр, где последним показателем является частота обновления параметра в секундах:

Значением первых двух счётчиков является количество проходящих, в том или ином направлении, байт в секунду. Третий параметр указывает нам на пропускную способность интерфейса, это нам пригодится при построении графиков.

Настраиваем Zabbix сервер для приёма данных от счётчиков производительности Windows.

Настроим мониторинг загрузки Ethernet интерфейса.

Создаем параметр «in.eth0» шаблона «t_win»:

Создаем параметр «out.eth0» шаблона «t_win»:

Создаем параметр «band.eth0» шаблона «t_win»:

Создаем график «util.eth0»:

В результате мы получим график утилизации сетевого интерфейса.

Под конец ещё одна «затыка». Необходимо активировать собираемые нами параметры счётчиков производительности кроме шаблона ещё и в списках параметров каждого хоста. Такой вот мелкий нюанс, способный попортить немало крови, если не знать про него.

[ уже посетило: 15952 ]

Поблагодарить автора ( сделайте свой денежный вклад в хорошее настроение )

Мониторинг счетчик производительность Windows

Доброго времени Суток.

Была похожая тема: https://serveradmin.ru/forum/zabbix/monitoring-schetchik-proizvoditelnost-windows/, было решено. Вот только одна проблема,только что нагнулась. График не показывает нагрузку производителя ЦП у которых менее 5%.

В мониторинге более 20 хостов HDD у всех паказывает нормально на %-ах. Подключения через zabbix-agent

У всех элементы данных CPU одинаковые ключи perf_counter[\1848(_Total)\1850].

Проблему решил используя ключ system.cpu.util[,,avg1].

Не могу подобрать режим для ключа vm.memory.size[ ] чтоб получит % используемой оперативно памяти. Тем временем vm.memory.size[used] показывает используемый память, а надо чтоб оно показывало используемый память в %-ах. Есть варианты?

Пробовали использовать готовые шаблоны в самом Zabbix для ОС Windows (нужно откорректировать их под себя) — «Template OS Windows» ?!

А вот тут ребята очень постарались и допили до ума — » Мониторинг Microsoft Windows на базе Zabbix » — https://itmicus.ru/news/zabbix-windows-monitoring/

В общем решил добавит две элемент данных vm.memory.size[used] (Используется) и vm.memory.size[total] общая память.

Оба показывает не на %-ах а на реальный объем, на Гигабайтах

Блог белорусского сисадмина

полезные записки

Zabbix и счетчики производительности (perf counters)

Понадобилось недавно мониторить некоторые параметры виндовых серверов. Т.к. система мониторинга, а именно Zabbix, уже была установлена и активно использовалась, решено было не изобретать велосипед и попользовать ее с этой целью. Благо, по заверениям разработчиков, она это легко умеет. Все было бы легко, если бы документация по этому вопросу была полноценной.

Стоит начать с того, что имя счетчика пишется в двойных кавычках, начиная с бэкслэша (\). В точности так, как выводит его команда typeperf -qx. Т.е. правильный вид для мониторинга загрузки всех ядер CPU будет выглядеть примерно так:

Читайте также:  Команды для работы с дисками линукс

Все бы ничего, но при вводе такого счетчика и довольных мыслях («ща всё замониторю с красивыми графиками») мы получаем ответ от заббикса в виде Not supported. Начинаем долго и нудно гуглить по этому вопросу и никак не натыкаемся на ответ. В качестве одной из предполагаемых причин такого поведения может быть запуск 32-битного агента на 64-битном хосте. Но даже при запуске правильного, 64-битного клиента, мы не получаем удовлетворения и видим Not supported.

А все потому, что по умолчанию, у вновь создаваемых элементов (item) мониторинга выставлен тип информации (type of information) — numeric(unsigned). Казалось бы, ничего в этом страшного нет. Загрузка процессора не может быть отрицательной. Так и есть. Но почему-то, разработчики заббикса посчитали, что под понятие numeric(unsigned) попадают ТОЛЬКО целые числа. О чем, в принципе, они честно сообщают в доках: Numeric (unsigned) — 64bit unsigned integer. Выставляем numeric(float) и тихо радуемся работающему мониторингу.

Zabbix и счетчики производительности (perf counters) : 8 комментариев

Добрый день!
Мне этот способ не помог. Странно то, что у меня очень много Windows-серверов на мониторинге и небольшая часть из них не реагирует на это ключ, остальные работают нормально. Что я только уже не делал. Идеи у меня закончились.
Может есть ещё какие-нибудь нюансы по данной проблеме?

Здравствуйте!
Какой именно ключ не помог? Загрузка процессора? Если используется локализованная винда (русская или любая другая), то ключ в таком виде работать не будет, т.к. его нет в системе. Надо подбирать вместо этого цифровое значение ключа. Например, ключ для получения процента использования файла подкачки выглядит так:
perf_counter[\700(_Total)\702]

Да, Windows на русском.
Использую вот этот ключ:
perf_counter[«\Processor(_Total)\% Processor Time»]
он не работает.
Пробовал вот этот:
perf_counter[\Процессор(_Total)\% общей загруженности процессоров]
тоже не работает.
Пробовал такой:
perf_counter[\238(_Total)\240]
тоже не поддерживается.
Во всех трёх случаях пишет: «Not supported».
Причём, я непосредственно на сервере, где нужно мониторить нагрузку на CPU из командой строки вытянул счётчики с помощью команды:
lodctr /s:perfcount.txt
и ориентировался при построении ключа для Zabbix именно по ним.
Даже не знаю что делать.

Для русской винды надо использовать только цифровое значение. Zabbix далеко не сразу пытается проверять «Not supported» счетчики после их изменения. Самый верный вариант — перезапустить сервис заббикса и агент. Опять же, можно попробовать включить дебаг-лог — он может сказать что именно ему не нравится.
Я встречал такие случаи, когда заббикс писал «Not supported» на часть айтемов на разных серверах, а на следующий день уже все работало. Можно попробовать просто оставить правильное значение для счетчика (цифровое) и подождать.

Согласен, просто понять бы какое всё-таки правильное значение. Не подскажете правильное числовое значение для общей нагрузки процессора, аналог: perf_counter[«\Processor(_Total)\% Processor Time»]
Заранее спасибо!

Найдено решение.
Для локализованной русской версии Windows аналогом ключа:
perf_counter[«\Processor(_Total)\% Processor Time»]
является ключ:
perf_counter[\Процессор(_Total)\Процент времени бездействия]

Надеюсь кому-то типа меня поможет не так долго мучаться с проблемой.
Всем большое спасибо за помощь!

Zabbix Documentation 5.2

Table of Contents

Специфичные ключи элементов данных для Windows

Ключи элементов данных

В таблице приводится подробная информация о ключах элементов данных, которые вы можете использовать только с Zabbix Windows агентом.

Ключ
Описание Возвращаемое значение Параметры Комментарии
eventlog[имя, , , , , , ]
Мониторинг журналов событий. Журнал (лог) имя — имя журнала событий
регулярное выражение — регулярное выражение описывающее требуемый шаблон содержимого
важность — регулярное выражение описывающее важность
Параметр может принимать следующие значения:
“Information”, “Warning”, “Error”, “Critical”, “Verbose” (начиная с Zabbix 2.2, работающих на Windows Vista или на более новых версиях)
источник — регулярное выражение, описывающее идентификатор источника (регулярное выражение поддерживается начиная с версии Zabbix 2.2.0)
eventid — регулярное выражение описывающее идентификатор(ы) событий
макс. кол-во строк — максимальное количество новых строк в секунду, которое агент будет отправлять Zabbix серверу или прокси. Этот параметр заменяет значение ‘MaxLinesPerSecond’ в zabbix_agentd.win.conf
режим — возможные значения:
all (по умолчанию), skip — пропустить обработку старых данных (влияет только на недавно созданные элементы данных).
Элемент данных должен быть настроен активной проверкой.

Примеры:
⇒ eventlog[Application]
⇒ eventlog[Security,,»Failure Audit»,,529|680]
⇒ eventlog[System,,»Warning|Error»]
⇒ eventlog[System. ^1$]
⇒ eventlog[System. @TWOSHORT] — здесь используется ссылка на пользовательское регулярное выражение с именем TWOSHORT (заданное с типом Результат ИСТИНА, само выражение равно ^1$|^70$ ).

Обратите внимание, агент не может отправлять события из «Пересланные события» журнала.

Параметр режим поддерживается начиная с версии 2.0.0.
“Windows Eventing 6.0” поддерживается начиная с Zabbix 2.2.0.

Обратите внимание, что выбор не журнального типа информации для этого элемента данных приведет к потере локального штампа времени, а также важности журнала и информации о источнике.

Смотрите дополнительную информацию о мониторинге файлов журналов. net.if.list Список сетевых интерфейсов (включая тип, состояние, IPv4 адрес, описание интерфейса). Текст Поддерживается Zabbix агентом начиная с версии 1.8.1. Начиная с версии 1.8.6 Zabbix агента поддерживаются мультибайтные имена интерфейса. Отключенные интерфейсы не входят в список.

Обратите внимание, что включение/отключение некоторых компонентов Windows могут изменить порядок имён интерфейсов в Windows.

В некоторых версиях Windows (к примеру, Server 2008) может потребоваться установка последних обновления для поддержки не-ASCII символов в именах интерфейсов. perf_counter[счетчик, ] Значение любого счетчика производительности Windows. Целое число, число с плавающией точкой, строка или текст (в зависимости от запроса) счетчик — путь к счетчику
период — последние N секунд для сохранения усредненного значения.
Значение период должно быть равно значению с 1 до 900 секунд (включительно), значение по умолчанию 1. Можно использовать Мониторинг производительности для получения списка счетчиков. До версии 1.6 этот параметр возвращал правильное значение только для счетчиков, которые возвращают только одно значение (например, \System\Threads). Параметр не будет работать со счетчиками, которые возвращают более одного значения — например утилизация CPU. Начиная с версии 1.6 используется период , такая проверка каждый раз возвращает среднее значение за последние “период” секунд.

Смотрите также: Счетчики производительности в Windows. perf_counter_en[счетчик, ] Значение любого счётчика производительности Windows на английском языке. Целое число, число с плавающией точкой, строка или текст (в зависимости от запроса) счетчик — путь к счетчику на Английском языке
период — последние N секунд для сохранения усредненного значения.
Значение период должно быть равно значению с 1 до 900 секунд (включительно), значение по умолчанию 1. Этот элемент данных поддерживается только на Windows Server 2008/Vista и более новых версиях.

Вы можете найти список строк на Английском языке, заглянув в следующую ветку реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009 .

Поддерживается Zabbix агентом начиная с версий 4.0.13 и 4.2.7. perf_instance.discovery[объект] Список экземпляров объекта счетчиков производительности Windows. Используется для низкоуровневого обнаружения. JSON объект объект — имя объекта (локализовано) Поддерживается, начиная с Zabbix агента версии 5.0.1. perf_instance_en.discovery[объект] Список экземпляров объекта счетчиков производительности Windows, обнаруженных с использованием имен объектов на английском языке. Используется для низкоуровневого обнаружения. JSON объект объект — имя объекта (на английском языке) Поддерживается, начиная с Zabbix агента версии 5.0.1. proc_info[ , , ] Различная информация о указанном процессе(ах). Число с плавающей точкой — имя процесса
— запрашиваемый атрибут процесса.
— тип представления (имеет смысл, когда есть более одного процесса с одним именем) В настоящий момент поддерживаются следующие атрибуты :
vmsize — размер виртуальной памяти процесса в Кбайтах
wkset — размер working set процесса (количество физической памяти используемой процессом) в Кбайтах
pf — Количество ошибок на страницах
ktime — время ядра процесса в миллисекундах
utime — пользовательское время процесса в миллисекундах
io_read_b — количество байт чтения процессом в процессе I/O операций
io_read_op — количество операций чтения выполненных процессом
io_write_b — количество байт записи процессом в процессе I/O операций
io_write_op — количество операций записи выполненных процессом
io_other_b — количество байт переданных процессу в течении операций отличных от чтения и записи
io_other_op — количество I/O операций выполненных процессов, отличных от операций чтения и записи
gdiobj — количество объектов GDI используемых процессом
userobj — количество объектов USER используемых процессом

Допустимые типы :
min — минимальное значение среди всех процессов с именем
max — максимальное значение среди всех процессов с именем
avg — среднее значение среди всех процессов с именем
sum — сумма значений для всех процессов с именем

Примеры:
⇒ proc_info[iexplore.exe,wkset,sum] — для получения общего количество физической памяти выделенной под все процессы Internet Explorer
⇒ proc_info[iexplore.exe,pf,avg] — для получения среднего количества ошибок на страницах для процессов Internet Explorer

Обратите внимание, что для корректной работы этого элемента данных на 64-битной системе потребуется 64-битный Zabbix агент.

Обратите внимание: Все атрибуты io_*, gdiobj и userobj доступны только в Windows 2000 и более поздних версиях Windows, не в Windows NT 4.0. service.discovery Список служб Windows. Используется низкоуровневым обнаружением. Объект JSON Поддерживается Zabbix агентом начиная с версии 3.0. service.info[служба, ] Информация о службе. Целое число — с парам равным state, startup

Строка — с парам равным displayname, path, user

Текст — с парам равным description

В частности при state:
0 — запущена,
1 — пауза,
2 — ожидание старта,
3 — ожидание паузы,
4 — ожидание продолжения,
5 — ожидание остановки,
6 — остановлена,
7 — неизвестно,
255 — такой службы не существует

В частности при startup:
0 — автоматически,
1 — автоматически (отложенный запуск),
2 — вручную,
3 — отключена,
4 — неизвестно,
5 — автоматический запуск по триггеру,
6 — автоматический отложенный запуск по триггеру,
7 — ручной запуск по триггеру служба — действительное имя службы или её отображаемое имя как в оснастке MMC Службы
парамstate (по умолчанию), displayname, path, user, startup или description Примеры:
⇒ service.info[SNMPTRAP] — состояние службы SNMPTRAP
⇒ service.info[SNMP Trap] — состояние этой же службы, но указано отображаемое имя
⇒ service.info[EventLog,startup] — состояние запуска при загрузке службы Журнала событий

Элементы данных service.info[служба,state] and service.info[служба] вернут одинаковую информацию.

Обратите внимание, что только парам равный state у этого элемента данных возвращает значение по несуществующим службам (255).

Этот элемент данных поддерживается начиная с Zabbix 3.0.0. Его необходимо использовать вместо устаревшего элемента данных service_state[служба]. services[ , , ] Список служб. 0 — если список служб пуст.

Текст — список служб, разделенных новой строкой. типall (по умолчанию), automatic, manual, disabled
состояниеall (по умолчанию), stopped, started, start_pending, stop_pending, running, continue_pending, pause_pending, paused
исключение — список служб исключенных из результата.
Исключенные службы должны быть указаны в двойных кавычках, разделенные запятой, без пробелов. Примеры:
⇒ services[,started] — список запущенных служб
⇒ services[automatic, stopped] — список остановленных служб, которые должны быть запущены
⇒ services[automatic, stopped, «service1,service2,service3»] — список остановленных служб, которые должны быть запущены, исключая службы с именами service1,service2 и service3

Параметр исключения поддерживается начиная с версии 1.8.1. wmi.get[ , ] Выполнение WMI запроса и получение первого выбранного объекта. Целое число, число с плавающией точкой, строка или текст(в зависимости от запроса.) пространство_имен — название пространства имен WMI
запрос — WMI запрос, возвращающий один объект Пример:
⇒ wmi.get[root\cimv2,select status from Win32_DiskDrive where Name like ‘%PHYSICALDRIVE0%’] — возвращает состояние первого физического диска

Этот ключ поддерживается начиная с Zabbix 2.2.0. wmi.getall[ , ] Выполнение WMI запроса и получение полного ответа.

Можно использовать для низкоуровневого обнаружения. JSON объект пространство_имен — название пространства имен WMI
запрос — WMI запрос Запросы WMI выполняются при помощи WQL [en].

Пример:
⇒ wmi.getall[root\cimv2,select * from Win32_DiskDrive where Name like ‘%PHYSICALDRIVE%’] — возвращает информацию о состоянии физических дисков

Можно использовать JSONPath предобработку при обращении к более конкретным значениям в полученном JSON.

Этот ключ поддерживается начиная с Zabbix 4.4.0. vm.vmemory.size[ ] Размер виртуального пространства в байтах или в процентах от общего размера. Целое исло — для байт

Число с плвающей точкой — для процентов тип — возможные значения:
available (доступно виртуальной памяти), pavailable (доступно виртуальной памяти, в процентах), pused (использовано виртуальной памяти, в процентах), total (всего виртуальной памяти, по умолчанию), used (использовано виртуальной памяти) Пример:
⇒ vm.vmemory.size[pavailable] → доступно виртуальной памяти, в процентах

Мониторинг статистики виртуальной памяти на основе:
Максимального количества памяти, которое может занять Zabbix агент.
Текущий предел выделенной памяти в системе или Zabbix агенте, смотря что меньше.

Этот ключ поддерживается начиная с Zabbix 3.0.7 и 3.2.3.

Мониторинг служб Windows

Это руководство содержит пошаговые инструкции по настройке мониторинга служб Windows. Предполагается, что Zabbix сервер и агент уже настроены и работают.

Шаг 1

Узнайте имя службы.

Вы можете получить имя, перейдя в оснастку MMC Службы и открыв свойства службы. На вкладке Общие вы должны увидеть поле называемое ‘Имя службы’. Значение которого и будет именем желаемой службы, которое вы будете использовать при настройке элемента данных для наблюдения.

Например, если вы хотите наблюдать службу “workstation”, то ваша служба скорее всего будет: lanmanworkstation.

Шаг 2

Элемент данных service.info[служба, ] возвращает информацию о указанной службе. В зависимости от требемой вам информации, укажите опцию парам, которая принимает следующие значения: displayname, state, path, user, startup или description. Значением по умолчанию является state, если парам не указан (service.info[служба]).

Тип возвращаемого значения зависит от выбранного парам: целое число при state и startup; строка символов при displayname, path и user; текст при description.

Имеется два преобразования значений Windows service state и Windows service startup type, которые сопоставляют числовое значение в веб-интерфейсе его текстовому представлению.

Обнаружение служб Windows

Низкоуровневое обнаружение дает возможность автоматического создания элементов данных, триггеров и графиков по различных объектам на компьютере. Zabbix может автоматически начать наблюдение за службами Windows на вашей машине, без необходимости знания точного имени службы или создания элементов данных по каждой службе вручную. Можно использовать фильтр для генерирования реальных элементов данных, триггеров и графиков только по интересующим службам.

Читайте также:  Nvidia geforce 320m driver windows
Оцените статью