PowerShell — Zabbix Agent Deployment Script GPO

Предлагаю вашему вниманию скрипт для автоматизированного разворачивания zabbix-agent на доменные компьютеры с помощью gpo.

Удобство в том, что при изменении файлов агента, конфига или при появлении новых скриптов, используемых агентом, агент останавливается, обновляет файлы и запускается заново. Это позволяет обновлять хоть версию самого агента, хоть его конфиг, обновляя файл на сетевой шаре, а не на каждом клиенте.

Все комментарии внесены в сам скрипт, который находится в самом конце инструкции.

Статья в стиле «краткая инструкция».

Читать далее

Реклама

PowerShell — Zabbix — Json

PowerShell v3 и выше!

Сижу я, смотрю на поделки zabbix-админов и прям улыбка не сползает и слёзы))

Например для автообнаружения процессоров используется вот это:

{

$items = Get-WmiObject Win32_PerfFormattedData_PerfOS_Processor | select name  |where-object {$_.name -ne '_Total'}

write-host -NoNewline "{"
write-host -NoNewline "`"data`":["

$line =  "{`"{#PROCNUM}`":`"" + $items[0].Name + "`"}"
write-host -NoNewline $line

for($c = 1; $c -lt $items.Count; ++$c) {
$line =  ",{`"{#PROCNUM}`":`"" + $items[$c].Name + "`"}"
write-host -NoNewline $line
}

write-host -NoNewline "]"
write-host -NoNewline "}"

бла бла бла... 

Ужас…

Читать далее

PowerShell Send-ZabbixTrap

Подумали мы и решили, что для одной из проверок мы не хотим использовать автообнаружение со стороны заббикса, мы хотим делать все на стороне проверяемого сервера без участия заббикса. Наш взгляд привлекла штатная утилита zabbix_sender.exe, но у него есть один неудобный момент — он может отправлять либо одно значение, либо файл с массивом значений. Неудобно, идем в интернет, информации не так много, но нашлось пара ссылок в документации и ссылка на русскоязычный форум с примером кода на C#. https://zabbix.org/wiki/Docs/protocols/zabbix_sender/2.0

О! C#  — значит есть вероятность отделаться малой кровью при портировании на PowerShell!

Читать далее