- Home »

Установка и настройка демона и клиента SNMP на Ubuntu 24.04
Сегодня разберёмся, как быстро и с минимальными танцами с бубном установить и настроить SNMP-демон и клиента на свежайшей Ubuntu 24.04. Если ты когда-нибудь мониторил серверы, сетевое железо или просто хотел знать, что происходит под капотом твоей инфраструктуры — SNMP (Simple Network Management Protocol) тебе точно пригодится. В этой статье расскажу, зачем он нужен, как работает, как его настроить на практике, и какие фишки можно выжать из этой связки. Всё — на реальных примерах, с командами, советами и даже парой лайфхаков.
Зачем вообще нужен SNMP?
SNMP — это такой старый, но до сих пор крайне полезный протокол для мониторинга и управления устройствами в сети. Он позволяет собирать метрики (нагрузка, память, трафик, температура, да хоть количество открытых файловых дескрипторов) и даже управлять железом (например, перезагрузить порт на свитче). В мире серверов SNMP — это стандарт де-факто для сбора статистики и интеграции с системами мониторинга вроде Zabbix, Nagios, Prometheus (через экспортеры) и других.
Почему это важно? Потому что без мониторинга ты как пилот без приборов: что-то работает, но когда что-то ломается — узнаёшь последним. SNMP позволяет автоматизировать сбор данных, реагировать на события и строить красивые графики. А ещё — это must-have, если у тебя есть железки, которые не умеют отдавать метрики по-человечески (REST, API и т.д.).
Как это работает?
- SNMP-демон (snmpd) — серверная часть, которая крутится на твоём сервере и отвечает на запросы клиентов. Он отдаёт метрики, которые ты разрешишь.
- SNMP-клиент (snmpwalk, snmpget и др.) — утилиты, которые делают запросы к демону и получают данные.
- Менеджер — обычно это система мониторинга, которая собирает данные с разных демонов.
Всё общение происходит по UDP (обычно порт 161), что важно помнить при настройке firewall. SNMP работает по принципу “запрос-ответ”: клиент спрашивает, демон отвечает. Есть несколько версий протокола (v1, v2c, v3), отличающихся уровнем безопасности. Для быстрой настройки чаще всего используют v2c (community-based), но если нужна безопасность — v3 (с авторизацией и шифрованием).
Как быстро и просто всё настроить?
Погнали по шагам. Всё ниже — для Ubuntu 24.04, но подойдёт и для других свежих дистрибутивов.
- Устанавливаем пакеты
sudo apt update
sudo apt install snmp snmpd
- Базовая настройка демона
Файл конфигурации: /etc/snmp/snmpd.conf
Для теста можно оставить дефолтную community public
, но лучше сразу поменять на свою (например, mysecret
), чтобы не стать жертвой сканеров.
# Открываем на редактирование
sudo nano /etc/snmp/snmpd.conf
Ищем строку:
rocommunity public default -V systemonly
Меняем на:
rocommunity mysecret default -V systemonly
Если нужно, чтобы SNMP был доступен не только с localhost, ищем строку:
agentAddress udp:127.0.0.1:161
Меняем на:
agentAddress udp:161,udp6:[::1]:161
(Осторожно: теперь SNMP будет слушать на всех интерфейсах! Не забудь про firewall.)
- Перезапускаем демон
sudo systemctl restart snmpd
sudo systemctl enable snmpd
- Проверяем работу клиента
snmpwalk -v2c -c mysecret localhost
Если видишь кучу строк с OID и значениями — всё работает!
Примеры, схемы, практические советы
Кейс | Что делаем | Результат | Рекомендации |
---|---|---|---|
Мониторинг CPU и RAM | snmpwalk -v2c -c mysecret localhost .1.3.6.1.4.1.2021.4 | Получаем инфу о памяти | Используй OID из UCD-SNMP-MIB |
Мониторинг сетевых интерфейсов | snmpwalk -v2c -c mysecret localhost ifDescr | Список интерфейсов | Для трафика — смотри ifInOctets, ifOutOctets |
Безопасность | Ограничить доступ по IP | SNMP доступен только с нужных адресов | Используй com2sec и access в snmpd.conf |
Интеграция с Zabbix | Добавить SNMP host | Автоматический сбор метрик | Используй шаблоны Zabbix SNMP |
Положительные и отрицательные кейсы
- Плюс: SNMP легко интегрируется с большинством систем мониторинга. Например, если у тебя Zabbix — добавляешь SNMP-хост, и всё работает из коробки.
- Минус: Если оставить community
public
и открыть порт наружу — жди сканеров и потенциальных проблем. SNMP v2c не шифрует трафик, так что лучше ограничивать доступ по IP и использовать v3, если есть возможность. - Плюс: Можно быстро получить метрики без установки дополнительных агентов.
- Минус: Не все метрики доступны по SNMP, иногда приходится писать свои MIB или использовать расширения.
Команды для быстрой работы
# Получить список доступных OID
snmpwalk -v2c -c mysecret localhost
# Получить конкретную метрику (например, загрузку CPU)
snmpget -v2c -c mysecret localhost .1.3.6.1.4.1.2021.11.9.0
# Проверить доступность SNMP с другого хоста
snmpwalk -v2c -c mysecret 192.168.1.100
Похожие решения, программы и утилиты
- Net-SNMP — основной пакет для Linux (net-snmp.org).
- snmptrapd — демон для приёма SNMP trap-сообщений (уведомления о событиях).
- snmptranslate — утилита для работы с MIB и OID.
- Prometheus SNMP Exporter — мост между SNMP и Prometheus (github.com/prometheus/snmp_exporter).
- snmp-mibs-downloader — для загрузки MIB-файлов, если хочется видеть красивые имена вместо OID.
Статистика, сравнение с другими решениями
Решение | Плюсы | Минусы |
---|---|---|
SNMP | Стандарт, поддержка железа, простота | Безопасность (v2c), не всегда удобно расширять |
SSH-агенты (например, check_by_ssh) | Гибкость, безопасность | Сложнее автоматизация, нагрузка на CPU |
REST API | Современно, удобно для кастомных сервисов | Не поддерживается железом, требует доработки |
Интересный факт: SNMP был придуман ещё в 1988 году, но до сих пор используется в дата-центрах и на предприятиях по всему миру. Даже современные IoT-устройства часто поддерживают SNMP для мониторинга.
Нестандартные способы использования
- Автоматизация: скрипты на bash/python, которые по SNMP получают метрики и принимают решения (например, если температура выше X — отправить уведомление в Telegram).
- Инвентаризация: быстро собрать список железа и версий прошивок по SNMP с десятков серверов/свитчей.
- Тестирование: использовать SNMP для проверки доступности сервисов (например, если SNMP перестал отвечать — сервер завис).
Новые возможности и автоматизация
- Интеграция с Ansible: автоматическая настройка snmpd на сотнях серверов.
- Гибкая фильтрация метрик: отдавать только нужные OID, чтобы не светить всё подряд.
- SNMP traps: получать уведомления о событиях (например, перегрев, отказ диска) без постоянного опроса.
- Скрипты для сбора кастомных метрик: расширяй snmpd через exec/extend — отдавай свои данные (например, статус RAID, температуру NVMe и т.д.).
Выводы и рекомендации
SNMP — это не только про “олдскул”, но и про надёжность, совместимость и простоту интеграции. Если тебе нужно быстро и без лишних заморочек собрать метрики с серверов, железа или даже виртуалок — SNMP подойдёт идеально. Главное — не забывай про безопасность: меняй community, ограничивай доступ по IP, используй v3, если есть возможность. Для автоматизации и скриптов SNMP — просто находка: можно собирать любые данные, строить алерты и даже управлять устройствами.
Если ты только начинаешь строить свою инфраструктуру или хочешь попробовать всё это на практике — возьми VPS или выделенный сервер, настрой SNMP, подключи к Zabbix или Prometheus и наслаждайся графиками и алертами. Проверено на бою — работает стабильно и предсказуемо.
- Для быстрого старта — VPS
- Для серьёзных задач — выделенный сервер
Официальная документация и полезные ссылки:
Пробуй, экспериментируй, автоматизируй — и пусть твои серверы всегда будут под контролем!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.