SNMP#

Angie ADC может встраиваться в инфраструктуру мониторинга корпоративного уровня (например Zabbix, Nagios). Поддерживается отправка стандартных метрик операционной системы и собственных метрик Angie ADC по протоколам SNMPv3 и SNMPv2c.

Метрики операционной системы#

Поддерживаются все системные метрики Net-SNMP.

Пример запроса объема доступной физической памяти:

snmpget -v2c -c public 127.0.0.1 1.3.6.1.4.1.2021.4.6.0

Пример ответа:

UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 743028 kB

Ниже приведены самые распростаненные метрики, которые можно отслеживать:

Метрика

OID

Тип

Описание

diskIOLoad.1

.1.3.6.1.4.1.2021.13.15.1.1.9.1

Integer

Процент времени, когда диск был занят выполнением операций ввода-вывода.

diskIOReads.1

.1.3.6.1.4.1.2021.13.15.1.1.5.1

Counter

Количество операций чтения с диска в секунду.

diskIOWrites.1

.1.3.6.1.4.1.2021.13.15.1.1.6.1

Counter

Количество операций записи на диск в секунду.

dskErrorFlag.1

.1.3.6.1.4.1.2021.9.1.100.1

Integer

Ошибка диска: становится 1, если место на диске заканчивается.

dskPercent.1

.1.3.6.1.4.1.2021.9.1.9.1

Integer

Процент занятого места на основном разделе.

ifInDiscards.X

.1.3.6.1.2.1.2.2.1.13.X

Counter

Количество входящих пакетов, отброшенных из-за переполнения буферов.

ifInErrors.X

.1.3.6.1.2.1.2.2.1.14.X

Counter

Ошибки сети. Указывает на входящие пакеты с ошибками или проблемы на физическом уровне.

ifInOctets.X

.1.3.6.1.2.1.2.2.1.10.X

Counter

Входящий трафик. Объем полученных данных на сетевом интерфейсе.

ifOutOctets.X

.1.3.6.1.2.1.2.2.1.16.X

Counter

Исходящий трафик. Объем переданных данных через сетевой интерфейс.

hrSystemProcesses.0

.1.3.6.1.2.1.25.1.6.0

Gauge

Общее количество запущенных процессов. Резкий рост может указывать на зависшие скрипты.

hrSystemUptime.0

.1.3.6.1.2.1.25.1.1.0

Ticks

Время непрерывной работы сервера. Используется для обнаружения перезагрузки сервера.

laLoad.1

.1.3.6.1.4.1.2021.10.1.3.1

String

Средняя нагрузка на CPU за одну минуту — длина очереди задач к процессору.

memAvailReal.0

.1.3.6.1.4.1.2021.4.6.0

Integer

Объем доступной физической памяти.

memCached.0

.1.3.6.1.4.1.2021.4.15.0

Integer

Память, используемая файловым кэшем для ускорения операций чтения.

memTotalFreeSwap.0

.1.3.6.1.4.1.2021.4.4.0

Integer

Свободный Swap. При снижении до 0 возможен запуск OOM Killer.

ssCpuIdle.0

.1.3.6.1.4.1.2021.11.11.0

Integer

Процент свободного ресурса. Близкое к 0 значение указывает на перегрузку CPU.

ssCpuRawWait.0

.1.3.6.1.4.1.2021.11.53.0

Counter

Время ожидания ввода-вывода. Рост значения указывает на проблемы с дисковой подсистемой или БД.

Собственные метрики Angie ADC#

Angie ADC позволяет получать по SNMP собственные метрики из Prometheus. У собственных метрик будет базовый OID .1.3.6.1.4.1.2021.50.

Пример запроса метрики базовой доступности сервиса up:

snmpget -v2c -c public 127.0.0.1 1.3.6.1.4.1.2021.50.2.1

Ответ:

UCD-SNMP-MIB::ucdavis.50.2.1 = Gauge32: 1

Ответ 1 означает, что сервис доступен.

Пример запроса всего дерева собственных метрик:

snmpwalk -v2c -c public 127.0.0.1 1.3.6.1.4.1.2021.50

Если Prometheus не доступен или метрик нет, в ответе может быть NONE или ошибка.

Ниже приведены метрики Prometheus, поддерживаемые по SNMP на данный момент. Список поддерживаемых метрик будет пополняться.

Метрика из Prometheus

OID

Тип

Описание

angie_connections_accepted

.1.3.6.1.4.1.2021.50.1.2

Counter

Принятые соединения — мониторинг общего потока входящих подключений.

angie_connections_active

.1.3.6.1.4.1.2021.50.1.1

Gauge

Активные сессии — мониторинг количества пользователей на сайте в данную секунду.

angie_connections_dropped

.1.3.6.1.4.1.2021.50.1.3

Counter

Сброшенные соединения — рост этого показателя указывает на достижение лимитов сервера.

angie_http_requests_total

.1.3.6.1.4.1.2021.50.1.4

Counter

Всего HTTP-запросов — позволяет рассчитать RPS (количество запросов в секунду).

go_goroutines

.1.3.6.1.4.1.2021.50.2.4

Gauge

Потоки — мониторинг здоровья Go-приложения (защита от утечек памяти).

go_memstats_alloc_bytes

.1.3.6.1.4.1.2021.50.2.5

Gauge

Память процесса — позволяет отслеживать, сколько оперативной памяти выделено и используется Go-процессом сейчас.

scrape_duration_seconds

.1.3.6.1.4.1.2021.50.2.2

Gauge

Время сбора данных в секундах — позволяет оценить производительность.

scrape_samples_scraped

.1.3.6.1.4.1.2021.50.2.3

Gauge

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

up

.1.3.6.1.4.1.2021.50.2.1

Gauge

Доступность — базовая health-метрика, 1 — сервис доступен, 0 — недоступен.