Вот что получилось. Может кому поможет:
Должен быть установлен sshpass
Скриптик вот такой получился (для девайса Ubiquiti Nanostation). Положить в /usr/local/share/zabbix/externalscripts (можно реализовать и на Bash, но мне в данном случае удобнее php)
#!/usr/bin/php
<?php
// Filename: ubnt
$host = $argv[1];
$user = $argv[2];
$pass = $argv[3];
exec("sshpass -p $pass ssh -o StrictHostKeyChecking=no -l $user $host mca-status", $out);
$search = array("ccq",
"signal",
"wlanPollingCapacity",
"wlanPollingQuality",
"wlanConnections",
"noise",
"wlanRxRate",
"wlanTxRate",
"apMac"
);
foreach ($out as $k) {
$v = explode("=", $k);
if (in_array($v[0], $search)) {
$result[$v[0]] = $v[1];
}
continue;
}
echo $result["apMac"] . "\n";
foreach ($result as $item => $value) {
exec("zabbix_sender -z 127.0.0.1 -s $host -k $item -o $value", $output);
}
?>
У каждого хоста в макросах должно быть {$LOGIN} и {$PASSWORD}
Ну и в шаблоне создаем один Item с типом External check и Key = ubnt["{HOST.CONN}","{$LOGIN}","{$PASSWORD}"]. Тип выставить в Text. Этим мы инициируем сбор информации с устройства.
А для нужных Item ставим тип Zabbix Trapper и Key = нужный ключ (из массива $search).
Работает без проблем. Спасибо
neol за хинт с zabbix_sender.