Вы хотите использовать snmpwalk
команда для этого, это пробегается через все объекты ниже того, который Вы указываете в дереве MIB.
У меня нет ничего для запросов, но Вы могли считать каждую строку и фильтр на тексте с чем-то вид подобных следующее в оболочке:
while read line; do
if $(echo $line | grep NULL); then
echo $line
fi
done < <(snmpwalk -Os -c public -v 1 zeus system)
То, что вы описали, сработает.
Однако, если он в основном предназначен только для чтения, вы будете часто иметь дело с более простым ответом - заглянуть в кеш-память или распределенные кеши. Так, например, когда ваши веб-серверы запускаются, они загружают "x" данных либо в память на вашем веб-сервере, либо на кеш-сервер.
Все пользовательские запросы будут отправляться в кэш в памяти (очень быстро) . Любые обновления могут привести к тому, что кеш вернется к базе данных и получит последнюю копию для будущих запросов.
Взгляните на систему Windows Server App Fabric. Если вам нужна настоящая высокая доступность, тот же набор функций доступен в Windows Azure и сделает вещи еще более избыточными.