Zabbix: External check. Как в Zabbix передать массив со значениями из скрипта?
Как вариант - в скрипте дёргать zabbix_sender, который уже будет заталкивать в сервер пачку значений (ему можно передать файлик со списком).
Вот что получилось. Может кому поможет:
Должен быть установлен 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.