CentOS использует SNMP для отображения использования интерфейса

У меня есть блок мониторинга SNMP, и я хочу отслеживать использование интерфейса на сервере кластерной базы данных. Я пытаюсь определить правильный OID для мониторинга - мне просто нужно, чтобы SNMP возвращал общую пропускную способность интерфейса в данный момент времени.

Блок SNMP уже настроен и будет корректно отображать его. Все руководства, которые я могу найти, рассказывают о настройке Catci или MRTG, и это хорошо, но то, что мне нужно, кажется проще, но я не могу найти то, что ищу. В поле SNMP уже настроено правильное имя сообщества и т. д., поэтому теоретически это должно быть очень просто.

Любая помощь с благодарностью получена

Спасибо


person btongeorge    schedule 24.07.2012    source источник


Ответы (2)


Когда вы говорите «использование интерфейса», я предполагаю, что вы имеете в виду использование интерфейса Ethernet. Если это предположение верно, необходимо исследовать пару OID:

  • 1.3.6.1.2.1.2.2.1.10ifInOctets возвращает общее количество октетов, полученных на интерфейсе, включая символы кадрирования.
  • 1.3.6.1.2.1.2.2.1.16ifOutOctets возвращает общее количество октетов, переданных из интерфейса, включая символы кадрирования.
  • 1.3.6.1.2.1.31.1.1.1.6 – ifHCInOctets возвращает общее количество октетов, полученных интерфейсом, включая символы кадрирования (это 64-разрядная версия ifInOctets).
  • 1.3.6.1.2.1.31.1.1.1.10 – ifHCInOctets возвращает общее количество октетов, переданных из интерфейса, включая символы кадрирования (это 64-разрядная версия ifOutOctets).

Каждый OID является частью таблицы и будет иметь связанный индекс, который связывает его с описанием интерфейса (например, eth0 или br1).

Эти OID обеспечивают подсчет полученных и переданных октетов, поэтому их нужно немного помассировать, чтобы получить желаемые коэффициенты использования. В прошлом, когда я отслеживал эти OID, я запрашивал два значения с разницей в несколько секунд, а затем вычислял скорость.

(QueryResult2 - QueryResult1) / (SecondsElapsed)

Я предполагаю, что Cacti (который, как я предполагаю, вы используете, поскольку вы пометили им свой вопрос) имеет какой-то способ расчета скорости на основе значений SNMP, однако я никогда не использовал его, поэтому я не уверен.

Еще одно важное замечание: в snmpd.conf по умолчанию, включенном в CentOS, эти OID могут быть не включены. Если вы запускаете snmpwalk для 1.3.6.1.2.1.2 и 1.3.6.1.2.1.31 и получаете пустые результаты, отредактируйте /etc/snmpd.conf, чтобы настроить демон SNMP для ответа на эти OID. Я не могу вспомнить точный синтаксис, но я думаю добавить строку вроде

view   all   included   .1

активирует все доступные OID на сервере.

person lostriebo    schedule 25.07.2012
comment
Спасибо за этот комментарий, вы правы, я имею в виду использование интерфейса Ethernet. Я запустил snmpwalk и получил следующий вывод: [root@node1 ~]# snmpwalk -v 1 -c public localhost ifSpeed IF-MIB::ifSpeed.1 = Gauge32: 10000000 IF-MIB::ifSpeed.2 = Gauge32: 10000000 IF-MIB::ifSpeed.3 = Gauge32: 1000000000 IF-MIB::ifSpeed.4 = Gauge32: 1000000000 IF-MIB::ifSpeed.5 = Gauge32: 1000000000 IF-MIB::ifSpeed.6 = Gauge32: 10000000 IF-MIB::ifSpeed.7 = Gauge32: 0 - person btongeorge; 25.07.2012
comment
Извините, я хотел сказать, что это, похоже, дает мне скорость соединения (например, 10 Мбит / с / 100 Мбит / с / гигабит и т. Д.), А не использование интерфейса? - person btongeorge; 25.07.2012
comment
@btongeorge Ты прав! У меня не было удобной коробки для проверки OID, чтобы убедиться, что я даю вам правильную информацию. Извините, что повел вас по ложному пути. - person lostriebo; 25.07.2012
comment
@btongeorge Я пересмотрел свой ответ на то, что я действительно успешно использовал в прошлом. Я надеюсь, что это помогает! - person lostriebo; 25.07.2012
comment
никаких проблем, спасибо за дополнительную информацию. Я надеялся на SNMP OID, который сделает массаж за меня, но увидит, что я могу сделать с входными и выходными октетами. - person btongeorge; 25.07.2012

http://namhuy.net/908/how-to-install-iftop-bandwidth-monitoring-tool-in-rhel-centos-fedora.html

Требования: libpcap: модуль предоставляет информацию и статистику захвата сетевых пакетов на уровне пользователя. libncurses: это библиотека программирования API, которая позволяет программистам предоставлять текстовые интерфейсы в терминале. gcc: Коллекция компиляторов GNU (GCC) — это система компиляторов, созданная проектом GNU, поддерживающая различные языки программирования.

Установите libpcap, libnurses, gcc через yum

yum -y install libpcap libpcap-devel ncurses ncurses-devel gcc

Скачайте и установите ифтоп

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
./configure
make
make install
person Alan Gardner    schedule 23.12.2013
comment
Почему за это проголосовали? Похоже, чтобы решить мою проблему без необходимости заниматься математикой в ​​результирующих запросах SNMP. - person btongeorge; 28.10.2015