Протокол SNMP, что нужно знать для начала.
Как системные администраторы узнают, что какой-то сервер не отвечает? или на нем зависла отдельная служба? греется процессор от неисправной системы отвода тепла? либо он уже второй день обрабатывает запросы от жителей целых ЖК, будучи доступным только по одному провайдеру сети интернет, так как на резервном перегорел SFP трансивер. Они не обновляют страницы состояния инфраструктуры, не читают каждые 10 минут логи и не сидят круглосуточно перед десятками консолей. За них это делает верный и чуткий помощник, мимо которого не проскочит не замеченной ни одна проблема в инфраструктуре. Вашему вниманию протокол SNMP (Simple Network Management Protocol) разработанный еще в 1988 году этот парень остается крутым в своем деле. Если вы только начинаете с ним знакомиться, то в этой статье я постараюсь расписать все, что о нем знаю (в рамках объяснения) сделаем пару практических примеров и составим хороший фундамент, для дальнейшего продвижения в этой большой сфере Мониторинга, обнаружения ошибок в инфраструктуре.
Первое, с чего хочется начать, это структура протокола, он состоит из двух частей:
Менеджер - это система запроса, обработки, хранения и отображения информации, полученной от проверяемых хостов, что и как спрашивать он узнает из специально подготовленной и бесплатно нам предоставленной базы MIB (Management Information Base) мы не будем его открывать и читать, потому что во первых испугаемся, во вторых нам это не нужно, оно само работает без нашего участия;
Агент: - знает все, о хосте и готов ответить на любые "вопросы" заданные менеджером (как в реальной жизни да? отправил агента - получаешь информацию по запросу) вопросы, он получает на особом "языке" OID (Object Identifier) читать их тоже не надо, за нас это сделает агент, они уже готовые и заранее записанные в MIB.
Наверно, вы сейчас подумаете "ну ничего себе симпл, что ты еще там предложишь? объекты да интерфейсы писать и соединять их в систему мониторинга?" нет, со сложностями мы закончили, дальше будем все вышеописанное, обсуждать на понятном языке. Менеджер, уже рассмотренный нами, работает в составе решений мониторинга, самые известные из них: Zabbix, Nagios и даже новомодный Prometheus через свой прокси, но чтобы не нагружать вас сразу всеми существующими технологиями, обойдемся обычными запросами с самого сервера, где и будем смотреть полученную информацию, то есть да, будем отправлять запросы из менеджера вручную, чтобы было понимание как оно работает "под капотом".
Но, как бы хорошо мы не знали ту или иную технологию, нам не удастся объяснить ее на пальцах и наш случай не исключение, поэтому нам понадобится полигон для наших тестов, им будет машина с установленным самым обычным Linux Debian. Давайте установим саму систему мониторинга, а также саму базу MIB, обновим список доступных для установки пакетов: apt update и выполним саму установку apt install snmp snmp-mibs-downloader