@whatisit1
sysdmin

Как создать триггер в Zabbix 3.2 при превышении % CPU для процесса sqlservr.exe?

Задача: создать триггер, который будет сообщать о сбое при превышении 50% использования всего CPU процессом sqlservr.exe. Т.е. 50% и больше.
Создал элемент данных, с ключом
perf_counter[\Process(sqlservr)\% Processor Time]

Тип "Zabbix агент", Тип данных "Десятичный".
Как создать триггер ?
Получилось как то так, но не уверен что верно...
{Server-name:perf_counter[\Process(sqlservr)\% Processor Time].max(#100)}>50

59f9c2f51a264933818810.pngp.s. для самых умных, которым нечего ответить - уже читал и гуглил. Настраиваю первый раз и надо сейчас решить вопрос. Как стану гуру забикса, обязательно сообщу.
  • Вопрос задан
  • 1777 просмотров
Решения вопроса 1
@whatisit1 Автор вопроса
sysdmin
Решение не мое, коллега помог

# Получение процента загруженность CPU для службы Windows (для англ. локализации)
$ServiceName = "MSSQLSERVER";
$ServicePID = (get-wmiobject win32_service | where { $_.name -eq $ServiceName}).processID;
$cpu_cores = (Get-WMIObject Win32_ComputerSystem).NumberOfLogicalProcessors;
$proc_path = ((Get-Counter "\Process(*)\ID Process" -ErrorAction SilentlyContinue).CounterSamples | ? {$_.RawValue -eq $ServicePID}).Path;
$prod_percentage_cpu = [Math]::Round(((Get-Counter ($proc_path -replace "\\id process$","\% Processor Time")).CounterSamples.CookedValue) / $cpu_cores)
$prod_percentage_cpu
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sflyer
Не назвал себя бы про zabbix, но по мне лучше выглядит вариант
{Server-name:perf_counter[\Process(sqlservr)\% Processor Time].last(#1)}>50

Т.е. если последнее значение больше 50
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы