Разъяснение по поводу агента и менеджера SNMP

Разъяснение по поводу агента и менеджера SNMP

Мне трудно понять некоторые термины, используемые при обсуждении SNMP, и в частности, кто отвечает за MIB — агент или станция управления.

Давайте рассмотрим простой сценарий:

  • Я отслеживаю свою машину Linux по известному OID (например, загрузку ЦП)
  • Когда я отправляю SNMP-запрос на OID загрузки ЦП, кто обрабатывает запрос — агент или станция управления?
  • Если все, что делается, это считывание данных из MIB, какова здесь роль агента?
  • У агента есть API синхронизации для get, но если я перехожу напрямую к хранилищу, зачем мне этот get.

Может ли кто-нибудь помочь мне понять этот простой пример CPU OID, что там происходит?

решение1

На самом деле все очень просто.

Агент SNMP работает на машине, которой вы хотите управлять, и может считывать (и, возможно, устанавливать) данные с машины произвольным образом (считывать запись /proc, взаимодействовать с процессом через IPC, считывать из файла или любым другим методом, который кто-то может придумать). Затем он представляет эти данные в соответствии с одним или несколькими файлами определений, MIB, в хорошо структурированном виде.

Затем станция управления (или SNMP-клиент) может взаимодействовать с агентом для считывания (или установки) данных с агента в соответствии с этой MIB.

Кроме того, некоторые агенты (которые обычно действуют только по запросу станции управления) могут быть настроены на отправку сообщений на станцию ​​управления при выполнении некоторого условия, чтобы информировать ее об этом. Это называется SNMP-ловушкой.

Для примера с ЦП:

  • Агент запущен на машине и может считывать системные данные.
  • Станция управления является агентом опроса OID загрузки ЦП.
  • Агент ищет, как получить данные для этого OID, считывает точку данных (загрузку ЦП) и отправляет ее обратно на станцию ​​управления.

Связанный контент