Немного не понятно вот это место: «у меня для гарантированного опроса 9 свичей, из которых 3 48-портовых, и 5 24-портовых и 1 16-портовый, потребовалось установить время выполнения скрипта в 15 секунд». Скрипт же выполняется для каждого порта, причем тут количество свичей?
Для увеличения производительности я бы рекомендовал сделать такой финт: при первом запросе таблиц с портами с маками сохранить их и дату во временном хранилище, при последующих запросах брать данные уже из этого файла, а если дата в файле просрочена на 5 минут например, запустить процесс обновления табличек. Тогда скрипт не будет каждый раз получать одну и ту же информацию.
Скрипт выполняется для каждого порта, но как я понял, для 48-портового устройства Zabbixом будет запущено сразу 48 скриптов, и устройства не всегда вовремя отвечают. Поэтому я привел статистику, что при 9 таких устройствах максимальное время работы скрипта ни разу за месяц не превышало 15 секунд.
Да, это невероятно удобно для поиска на каком порту висит та или иная железка.
Учитывая, что диапазоны mac адресов заняты своим производителем, можно доработать и понять какая железка висит на том или ином порту.
Вы подали интересную мысль, спасибо. Я поискал базы mac-адресов, и нашел эту. Вроде вполне полная, и обновляется ежедневно. Попробую прикрутить ее к этому скрипту как-нибудь на досуге. Если получится — выложу сюда, и наконец добавлю в wiki заббикса… А вообще — очень рад, что статья показалась вам полезной.
Получаем списки mac-адресов на портах управляемых свичей в Zabbix