Home »

Удалённая команда
 

Удалённая команда

 

Prapor
(@prapor)
Эникей
Присоединился: 2 месяца назад
Сообщения: 3
Topic starter  

На хосте(ах) в конфигах создан UserParameter и EnableRemoteCommands=1 ,и LogRemoteCommands=1

UserParameter = CpuTop20, powershell -noninteractive -File "C:\Program Files\Zabbix Agent\CPU_top.ps1" .

Он работает в шаблоне, выплёвывает топ CPU текст , такой вариант имеет своё место для суточного мониторинга нагрузки отдельного ПК. Но нужно выполнение по триггеру , создано действие .

Тип операции - Удаленная команда

Тип - Пользовательский скрипт

Выполнять на - Zabbix агент

"system.run[powershell.exe -NoProfile -NoLogo -ExecutionPolicy Bypass -File "C:\Program Files\Zabbix Agent\CPU_top.ps1" ]"

Пробовал - просто CpuTop20 или zabbix_agentd -p 

Подскажите как правильно ...


ОтветитьЦитата
Zerox
(@zerox)
Honorable Member Admin
Присоединился: 7 лет назад
Сообщения: 669
 

Я честно говоря никогда не пробовал запускать скрипты на Windows. Все время только на Linux. Там достаточно было написать bash скрипт и в действиях указать только путь к этому скрипту и все. Никаких дополнительных параметров и окружение. Только сам скрипт. Дальше если что-то не работает, смотреть лог на агенте. Там должен быть отражен запуск скрипта по событию триггера. 


ОтветитьЦитата
Prapor
(@prapor)
Эникей
Присоединился: 2 месяца назад
Сообщения: 3
Topic starter  

@zerox Посмотреть лог , мысль светлая . Я увеличил DebugLevel=4. Буду  пробовать методом подбора .


ОтветитьЦитата
Prapor
(@prapor)
Эникей
Присоединился: 2 месяца назад
Сообщения: 3
Topic starter  

Доброго день! Сам задал , сам победил :)

Если кому интересно , то сам запуск скрипта ps1 работает . И отправка через zabbix_sender .А вот скрипт пришлось допилить .

$CPU_top =Get-CPUPercent
function Get-CPUPercent

{
$CPUPercent = @{
Name = 'CPUPercent'
Expression = {
$TotalSec = (New-TimeSpan -Start $_.StartTime).TotalSeconds
[Math]::Round( ($_.CPU * 100 / $TotalSec), 2)
}
}
Get-Process | Select-Object -Property Name, $CPUPercent, Description | Sort-Object -Property CPUPercent -Descending | Select-Object -First 10 | ft -HideTableHeaders | out-string
}
$CPU_top
& "C:\Zabbix\bin\zabbix_sender.exe" -z ip.ip.ip.ip -s "name PC" -k 12345 -o "($CPU_top)"

И тогда красиво прилетает табличка топ10 cpu


Zerox лайков
ОтветитьЦитата