# SNMP

ИБП, коммутаторы и серверная по SNMP прямо в чате

ИБП, сеть, серверная и датчики климата по SNMP через назначенный шлюз, только чтение

## Как агент работает с SNMP

Данные с объекта забирает шлюз: служба на компьютере в сети объекта, которая отправляет данные наружу только исходящим соединением. Одно подключение соответствует одному SNMP-агенту: указываются адрес вида udp://10.0.5.30:161, версия и строка сообщества для v1 и v2c или пользователь с паролями для v3. Подключение назначается шлюзу на вкладке «Шлюзы».

OID знать не нужно: без списка тегов шлюз читает стандартные группы, на которые устройство отвечает: system, ИБП по RFC 1628 (или APC PowerNet с теми же именами тегов), датчики ENTITY-SENSOR-MIB, ресурсы хоста и интерфейсы IF-MIB. Порт называется по ifName, а не по номеру, и после рестарта агента, когда номера могут смениться, шлюз перечитывает таблицы, чтобы тег не съехал на другой порт.

Подключение только читает. Шлюз отправляет только GET и обход таблиц: SET он не посылает, ловушки не принимает и сам на портах 161 и 162 не слушает. Поэтому аварии ИБП приходят не ловушками, а тегами-флагами, которые читаются на каждом опросе, а настройки устройства агент изменить не может.

Опрос идёт раз в 30 секунд: агенты на сетевых картах ИБП и датчиков медленные. Если устройство отказывает на пачке объектов, шлюз переспрашивает их по одному, и отказ ложится на свой тег, а соседние читаются дальше. Счётчики трафика отдаются как есть, 64-битные там, где агент их держит; история копится в хранилище и читается за любой период.

## Сценарии интеграции

### ИБП на батарее
Агент прочитает, от чего питается выход ИБП, заряд и оставшееся время работы батареи, сколько ИБП уже работает от неё и нагрузку на выходе.

### Аварии ИБП
Агент покажет активные аварии ИБП: низкий заряд, перегрузку выхода, замену батареи, перегрев, работу на байпасе, и их число.

### Порты коммутатора
Агент найдёт порты, которые включены, но лежат, и покажет трафик по портам с именами вроде Gi1/0/1, а не по номерам.

### Климат серверной
Агент прочитает температуры и обороты вентиляторов со встроенных датчиков устройств и покажет, как они менялись за сутки.

### Ресурсы сервера
Агент покажет загрузку процессоров и заполнение дисков сервера по стандартной таблице ресурсов хоста.

### Задача по порогу
Агент заведёт задачу по событию: например, заряд батареи ИБП ниже порога дольше пяти минут. Задача сработает на начале и на снятии условия.

## Как подключить

**Перед подключением**

- Устройство с SNMP v1, v2c или v3: ИБП, коммутатор, сервер, датчик
- Строка сообщества только для чтения или пользователь SNMPv3
- Компьютер в сети объекта, на котором работает служба шлюза
- Доступ с этого компьютера к устройству по UDP, порт 161

### Включите SNMP на устройстве
В веб-интерфейсе ИБП, коммутатора или датчика включите SNMP-агент. Выберите v3, если устройство его поддерживает: v1 и v2c передают всё открытым текстом.

### Для v1 и v2c: сообщество на чтение
Заведите строку сообщества только для чтения. Если устройство пускает менеджеров только с известных адресов, добавьте адрес компьютера шлюза.

### Для v3: пользователь с паролями
Заведите пользователя v3 с аутентификацией (SHA-256 или другой алгоритм из списка) и шифрованием AES. Без пароля шифрования значения подписаны, но не зашифрованы.

### Откройте UDP 161 до устройства
Шлюз опрашивает агент по UDP на порт 161 со своего свободного порта. Ловушки на порт 162 он не принимает, их настраивать не нужно.

## Частые вопросы

### Как подключить SNMP?
Поставьте службу шлюза на компьютер в сети объекта и заведите его на вкладке «Шлюзы». В подключении укажите адрес устройства, например udp://10.0.5.30:161, версию и строку сообщества или пользователя v3, и назначьте подключение шлюзу. Список тегов можно оставить пустым.

### Что агент видит по SNMP?
Имя, расположение и время работы устройства, состояние ИБП, батареи, входа и выхода и его аварии, показания датчиков температуры и вентиляторов, загрузку процессоров и дисков хоста, состояние и трафик портов. Остальное читается по OID, указанным в списке тегов.

### Может ли агент изменить настройки устройства?
Нет. Шлюз не отправляет SET и не принимает ловушки: он только читает значения запросами GET и обходом таблиц, поэтому настройки ИБП, коммутатора и датчиков остаются как были.

### Устройство отвечает на часть объектов или молчит на таблицах. Что делать?
Маленькие сетевые карты бывают перегружены длинными запросами. В дополнительных полях уменьшите число объектов в запросе или число строк в запросе таблицы: шлюз будет спрашивать устройство меньшими порциями.
