- Zabbix + Windows + Perfect Counter ( Zabbix Windows client configuration. )
- Мониторинг счетчик производительность Windows
- Блог белорусского сисадмина
- полезные записки
- Zabbix и счетчики производительности (perf counters)
- Zabbix и счетчики производительности (perf counters) : 8 комментариев
- Zabbix Documentation 5.2
- Sidebar
- Table of Contents
- Специфичные ключи элементов данных для Windows
- Ключи элементов данных
- Мониторинг служб Windows
- Обнаружение служб 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
Sidebar
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.
Обратите внимание, что выбор не журнального типа информации для этого элемента данных приведет к потере локального штампа времени, а также важности журнала и информации о источнике.
Смотрите дополнительную информацию о мониторинге файлов журналов.
Обратите внимание, что включение/отключение некоторых компонентов Windows могут изменить порядок имён интерфейсов в Windows.
В некоторых версиях Windows (к примеру, Server 2008) может потребоваться установка последних обновления для поддержки не-ASCII символов в именах интерфейсов.
период — последние N секунд для сохранения усредненного значения.
Значение период должно быть равно значению с 1 до 900 секунд (включительно), значение по умолчанию 1.
Смотрите также: Счетчики производительности в Windows.
период — последние N секунд для сохранения усредненного значения.
Значение период должно быть равно значению с 1 до 900 секунд (включительно), значение по умолчанию 1.
Вы можете найти список строк на Английском языке, заглянув в следующую ветку реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009 .
Поддерживается Zabbix агентом начиная с версий 4.0.13 и 4.2.7.
— запрашиваемый атрибут процесса.
— тип представления (имеет смысл, когда есть более одного процесса с одним именем)
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.
Строка — с парам равным displayname, path, user
Текст — с парам равным description
В частности при state:
0 — запущена,
1 — пауза,
2 — ожидание старта,
3 — ожидание паузы,
4 — ожидание продолжения,
5 — ожидание остановки,
6 — остановлена,
7 — неизвестно,
255 — такой службы не существует
В частности при startup:
0 — автоматически,
1 — автоматически (отложенный запуск),
2 — вручную,
3 — отключена,
4 — неизвестно,
5 — автоматический запуск по триггеру,
6 — автоматический отложенный запуск по триггеру,
7 — ручной запуск по триггеру
парам — 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[служба].
Текст — список служб, разделенных новой строкой.
состояние — 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 запрос, возвращающий один объект
⇒ wmi.get[root\cimv2,select status from Win32_DiskDrive where Name like ‘%PHYSICALDRIVE0%’] — возвращает состояние первого физического диска
Этот ключ поддерживается начиная с Zabbix 2.2.0.
Можно использовать для низкоуровневого обнаружения.
запрос — WMI запрос
Пример:
⇒ wmi.getall[root\cimv2,select * from Win32_DiskDrive where Name like ‘%PHYSICALDRIVE%’] — возвращает информацию о состоянии физических дисков
Можно использовать JSONPath предобработку при обращении к более конкретным значениям в полученном JSON.
Этот ключ поддерживается начиная с Zabbix 4.4.0.
Число с плвающей точкой — для процентов
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 на вашей машине, без необходимости знания точного имени службы или создания элементов данных по каждой службе вручную. Можно использовать фильтр для генерирования реальных элементов данных, триггеров и графиков только по интересующим службам.