> можете подсказать в чем плюсы snmp в управлении?Если вам это еще актуально, то самая большая разница:
snmp - это машинный API (хреновенький по нынешним временам но как есть). Это значит что к нему есть документация "формальные контракты" и прочее. Т.е. известно хотя-бы примерно что на входе, что должно быть на выходе. Есть MIB файлы, схема и перечислены переменные. В том числе описано в каком формате что отдается.
cli - это суть человеческий интерфейс, это интерфейс который строился в расчете на то, что туда смотрит ЧЕЛОВЕК глазами, не машина.
Пример: Если вчера колонка в табличке вывода называлась ip, а в значении вчера было 1.1.1.1 255.255.255.255. А сегодня там написано ipv4 и 1.1.1.1/32 соответственно, то человек спокойно это дело скушает и поймет. В случае с машинным интерфейсом у вас тут же поломается парсер, либо если у вас хороший программист писал софт и сделал проверку на входе, то программа упадет по какому-нибудь valueError. Потому что машина будет ожидать ровно то, что прописано в контракте (документации если угодно).
Все сказаное выше справедливо и для управления (т.е. парсер железки ругнулся на новый синтаксис, вы этот ответ прочитали и тут же ввели команду в другом формате).
В современных же реалиях больших сетей почти никто не управляет всем этим в ручную (через cli). У вас либо есть какой-нибудь NMS на стероидах, либо ansible (puppet, chef, you name it) в который вы через CI/CD либо еще как-то доставляете нормализованные входные данные. После тестирования изменений на пригодность и безопасность система сама эти самые измнения деплоит (наливает в устройства). Потом делает тесты после внесения изменений. Если необходимо откатывает изменения в случае если что-то пошло не так.