Доброго времени суток
Есть необходимость в винде отправлять JSON данные для low-level discovery через zabbix_sender в item типа «zabbix trapper» из powershell. В powershell у меня есть текст с переводами строк, тип объекта - System.String
Прямо классика - «К кому обращаться за помощью? - к психиатру». Но без powershell не обойтись, т.к. данные нужно вытягивать через vsphere powercli
И получаю большой геморрой. У zabbix_sender есть два варианта - передача key/value прямо через cmdline ( -i key -o value ), либо через промежуточный файл ( в каждой строке «host key value» )
В первом случае нужно как-то экранировать строку, чтобы передать её как один параметр. И это не получается - экранировки одинарными кавычками нет. Каких-либо способов преобразовать строку в экранированную ( аналог перлового quotemeta ) не нашёл
Во втором случае придётся менять функцию преобразования данных в json для zabbix. Пока это основной вариант, так и делаю.
Так вот. Кто-нибудь уже реализовывал подобный изврат? Как вы обошли подводные камни винды?
linux при том, что сервер zabbix'а работает на linux, мониторинг делаю для вполне unix-образного esxi, и позже постараюсь переписать с powercli на perl'овом vsphere cli