Snmp ������ ��� linux

Linux SNMP: Simple Network Management Protocol:

Installing and using SNMP on Linux

Related YoLinux Tutorials:

SNMP or Simple Network Management Protocol, is a technology standard for alert messages (trap), monitoring (get), and configuring (set) network devices. SNMP comes in three varieties: v1, v2 and v3, of which v3 is the only version to be considered secure.

The variables associated with a network device configuration is defined in the Management Information Base, or MIB. The MIB is a collection of information for managing the network element and is comprised of managed objects identified by the Object Identifier (OID). Each OID is unique and identifies a special characteristic of the managed network device. SNMP is built upon a client (SNMP manager) — server (SNMP agent/network device) architecture pattern with a message schema defined by the MIB and sent over UDP port 161 (SNMP agent) and port 162 (SNMP manager). Each of the data values defined by the MIB are associated with an OID identified by a hierarchy of numbers separated by periods.

Installation:

  • CentOS/RedHat: sudo yum install net-snmp-utils net-snmp net-snmp-devel
    (RPMs also included with CentOS/RHEL 6 and 7 install DVDs)
  • Ubuntu: sudo apt-get install snmp snmpd snmp-mibs-downloader

Configure:

  • System file /etc/snmp/snmpd.conf
    This file default restricts access to localhost only.
  • User file

Start:

  • CentOS/RedHat:
    • sudo systemctl enable snmpd.service
    • sudo systemctl start snmpd.service
    • sudo systemctl status snmpd.service
  • Ubuntu:
    • sudo systemctl enable snmpd.service
    • sudo systemctl start snmpd.service
    • sudo systemctl status snmpd.service
  • snmpwalk -v 1 localhost -c public .1.3.6.1
  • snmpwalk -v 1 localhost -c public system

[Potential Pitfall] : open up the firewall rules:

  • Open firewall to everything (if using iptables): sudo iptables -F
    or
  • if using firewald: sudo firewall-cmd --permanent --new-service=snmp
    this command will add service to directory /etc/firewalld/services/

Note: Ports 161 and 162 need to be available. See /etc/services:

  • RHEL 7: snmpget -v 1 -c public localhost sysDescr.0 Ubuntu: snmpget -v 1 -c public localhost .1.3.6.1.2.1.1.1.0
  • RHEL 7: snmptranslate -Tp | less

MIB files have to be installed on your system so that it understands the schema hierarchy of the system you want to query.

net-snmp-config --default-mibs --default-mibdirs

Look in /usr/share/snmp/mibs/ for a full list of system MIB files.

  • Print table: snmptable -v 1 -c public localhost sysORTable
    (CentOS/RHEL only)
  • Print system uptime: snmpget -v 1 localhost -c public .1.3.6.1.2.1.1.3.0
  • Print CPU 15 minute load: snmpget -v 1 localhost -c public .1.3.6.1.4.1.2021.10.1.3.3
  • Command Description
    snmpcmd options and behavior common to most of the Net-SNMP command-line tools
    snmpwalk retrieve a subtree of management values using SNMP GETNEXT requests
    snmpget communicates with a network entity using SNMP GET requests
    snmpset communicates with a network entity using SNMP SET requests
    snmptrap sends an SNMP notification to a manager (also snmpinform)
    snmpgetnext communicates with a network entity using SNMP GETNEXT requests to get the next variable that is lexicographically «next» in the remote entity’s MIB
    snmptable retrieve an SNMP table and display it in tabular form
    snmpdelta Monitor delta differences in SNMP Counter values
    snmptest flexible SNMP application that can monitor and manage information on a network entity
    snmpdf display disk space usage on a network entity via SNMP
    snmpusm creates and maintains SNMPv3 users on a network entity
    snmpstatus retrieves a fixed set of management information from a network entity
    snmpnetstat display networking status and configuration information from a network entity via SNMP
    snmpbulkget SNMP application that uses the SNMP GETBULK request to query a network entity efficiently for information
    snmpbulkwalk retrieve a subtree of management values using SNMP GETBULK requests
    snmp.conf configuration files for the Net-SNMP applications
    SNMP Variables Format of specifying variable names to SNMP tools

    The Object Identifiers (OID)s are used to identify a specific characteristic of a managed device.

    There are two types of Managed OIDs:

    1. Scalar: managed object with a single instance (a single key to a key-value pair)
    2. Tabular: multiple data instances such as the rows of a table (e.g. CPU with multiple cores each with its’ own specific charateristics)

    SNMP uses ASN.1 (Abstract Syntax Notation One) to define the data types used to build an SNMP message and uses Basic Encoding Rules (BER) to define the data types.

    Two data types each with multiple sub-types:

    • Primitive Type: type/length(bytes)/data
      • integer
      • octet (byte, char)
      • string
      • null
      • boolean
      • OID
    • Complex Type: type/length/(type/length/data)(type/length/data)
      • sequence
      • SNMP PDU (Protocol Data Unit) — complex data types specific to SNMP
    OID Description
    CPU Statistics
    .1.3.6.1.4.1.2021.10.1.3.1 Load 1 minute
    .1.3.6.1.4.1.2021.10.1.3.2 Load 5 minute
    .1.3.6.1.4.1.2021.10.1.3.3 Load 15 minute
    .1.3.6.1.4.1.2021.11.9.0 percentage of user CPU time
    .1.3.6.1.4.1.2021.11.50.0 raw user cpu time
    .1.3.6.1.4.1.2021.11.10.0 percentages of system CPU time
    .1.3.6.1.4.1.2021.11.52.0 raw system cpu time
    .1.3.6.1.4.1.2021.11.11.0 percentages of idle CPU time
    .1.3.6.1.4.1.2021.11.53.0 raw idle cpu time
    .1.3.6.1.4.1.2021.11.51.0 raw nice cpu time
    Memory Statistics
    .1.3.6.1.4.1.2021.4.3.0 Total Swap Size
    .1.3.6.1.4.1.2021.4.4.0 Available Swap Space
    .1.3.6.1.4.1.2021.4.5.0 Total RAM in machine
    .1.3.6.1.4.1.2021.4.6.0 Total RAM used
    .1.3.6.1.4.1.2021.4.11.0 Total RAM Free
    .1.3.6.1.4.1.2021.4.13.0 Total RAM Shared
    .1.3.6.1.4.1.2021.4.14.0 Total RAM Buffered
    .1.3.6.1.4.1.2021.4.15.0 Total Cached Memory
    Disk Statistics
    .1.3.6.1.4.1.2021.9.1.2.1 Disk path where disk is mounted
    .1.3.6.1.4.1.2021.9.1.3.1 Path of the device for the partition
    .1.3.6.1.4.1.2021.9.1.6.1 Total size of the disk/partition (kBytes)
    .1.3.6.1.4.1.2021.9.1.7.1 Available space on the disk
    .1.3.6.1.4.1.2021.9.1.8.1 Used space on the disk
    .1.3.6.1.4.1.2021.9.1.9.1 Percentage of space used on disk
    .1.3.6.1.4.1.2021.9.1.10.1 Percentage of inodes used on disk
    System Statistics
    .1.3.6.1.2.1.1.3.0 System uptime
    .1.3.6.1.2.1.1.5.0 Host name

    Installation:

    • CentOS/RedHat: sudo yum install net-snmp-gui
      (uses EPEL repository)
    • Ubuntu: sudo apt-get install tkmib

    Run: tkmib localhost


    Select the «walk» button to traverse the OIDs.

    Источник

    Примеры snmpwalk для Windows и Linux

    В конце 1980-х, SNMP или Простой протокол управления сетью впервые возник как решение для управления узлами в сети. С тех пор данные SNMP использовались для измерения производительности устройств среди бесчисленных поставщиков, чтобы обеспечить работоспособность сетей. Сегодня SNMP является одним из самых популярных сетевых протоколов в мире и snmpwalk стал методом сканирования для сканирования нескольких узлов одновременно.

    Как работает SNMP?

    Однако, прежде чем мы рассмотрим команду snmpwalk, нам сначала нужно посмотреть, как работает SNMP. На устройствах с поддержкой SNMP Агент SNMP собирает информацию с устройства и хранит его в База управленческой информации (MIB) где хранятся эти данные, чтобы к ним можно было обращаться каждый раз, когда менеджер SNMP опрашивает агента SNMP.

    Когда SNMP Manager запрашивает SNMP-агент, данные берутся из MIB и отправляются в SNMP Manager, где их можно просматривать с помощью инструмента сетевого мониторинга. Существует много разных команд, которые вы можете использовать для запроса агента SNMP. Наиболее распространенными способами являются использование ПОЛУЧИТЬ или GET-Next команда. Команда GET используется для Идентификатор объекта (OID) Из MIB. Команда GET-Next немного более продвинута и проходит через дерево MIB от OID до OID, получая информацию. Здесь приходит snmpwalk.

    Что такое snmpwalk?

    snmpwalk это имя, данное приложение SNMP, которое автоматически выполняет несколько запросов GETNEXT. Запрос SNMP GETNEXT используется для запроса устройства и получения данных SNMP с устройства. Команда snmpwalk используется потому, что она позволяет пользователю объединять запросы GETNEXT вместе, не вводя уникальные команды для каждого OID или узла в поддереве..

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

    Установка snmpwalk в Windows

    Для пользователей Windows процесс установки snmpwalk в Windows невероятно прост.

    1. Сначала вам нужно скачать и извлечь следующий файл из zip-файла:
      https://sourceforge.net/projects/net-snmp/files/net-snmp/
    2. Когда у вас есть файл snmpwalk.exe на вашем компьютере, нажмите Начало > поиск CMD и нажмите Войти. Это покажет окно командной строки.
    3. Перетащите snmpwalk.exe файл в черное окно.

    Если вы не хотите запускать файл из командной строки, вы можете скачать установщик .exe по этой ссылке здесь (обратите внимание, что вы хотите выбрать самую последнюю версию, которую можете): http://sourceforge.net/projects/net-snmp/files/net-snmp/

    Установка snmpwalk в Linux

    На устройствах Linux snmpwalk доступен в виде пакета для установки. Процесс этого зависит от вашего дистрибутива Linux. Однако вы можете установить Linux, введя следующие команды:

    • Redhat / Fedora / CentOs: yum install net-snmp-utils
    • Ubuntu: apt-get установить snmp

    Параметры и параметры Snmpwalk в Windows и Linux

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

    • имя хоста — Имя агента SNMP.
    • сообщество -Тип читаемого сообщества.
    • object_id — Укажите идентификатор объекта для возврата всех объектов SNMP под ним. Если NULL, то корень объектов SNMP принимается как object_id.
    • Тайм-аут — количество микросекунд до первого таймаута.
    • повторы — Сколько раз повторить попытку подключения в случае тайм-аута.
    • -Операционные системы — Показывает последний символический элемент OID.
    • -Устанавливает строку сообщества.
    • -v — указывает версию SNMP, которую вы хотите использовать.

    Как минимизировать информацию, которую вы видите с помощью snmpwalk

    Первое, что вы заметите при запуске snmpwalk, — это слишком много результатов, чтобы вы могли их прочитать. Вы можете легко получить тысячи разных результатов. Чтобы обойти это, поставщики помогут вам, предоставив вам MIB файл. Файл MIB используется для указания того, какие OID доступны на устройстве.. Многие поставщики предоставляют вам MIB-файл для каждого вашего устройства. Наличие файла MIB позволяет вам выполнить запрос, специфичный для этого файла, а не проходить через все.

    Смотрите также: Инструменты SMNP

    Примеры Snmpwalk

    При использовании snmpwalk на устройстве агент SNMP предоставит вам диапазон значений. Вы будете проходить через OID от вашего начального OID и далее. Если вы введете команду snmpwalk на устройстве, отобразится результат, подобный следующему:

    $ snmpwalk -v1 -c public 10.10.1.224
    SNMPv2-MIB :: sysDescr.0 = STRING: APC Web / Карта управления SNMP
    SNMPv2-MIB :: sysObjectID.0 = OID: SNMPv2-SMI :: enterprises.318.1.3.7
    SNMPv2-MIB :: sysUpTime.0 = Timeticks: (47372422) 5 дней, 11: 35: 24.22
    SNMPv2-MIB :: sysContact.0 = STRING: Comparitech
    SNMPv2-MIB :: sysName.0 = STRING: APC-3425
    SNMPv2-MIB :: sysLocation.0 = sTRING: 3425EDISON
    SNMPv2-MIB :: sysServices.0 = INTEGER: 72
    IF-MIB :: ifNumber.0 = INTEGER: 1
    IF-MIB :: ifIndex.1 = INTEGER: 1
    IF-MIB :: ifDescr.1 = STRING: veya
    .
    SNMPv2-MIB :: snmpOutGetResponses.0 = Counter32: 338
    SNMPv2-MIB: snmpOutTraps.0 = Counter32: 0
    SNMPv2-MIB :: snmpEnableAuthenTraps.0 = INTEGER: 0
    $

    Как видите, много информации генерируется одной командой. Большинство строк состоит из информации, полученной из MIB.

    В приведенном ниже примере вы можете увидеть пример snmpwalk без MIB. Второе число в первой строке или .1.3.6.1.4.1.318 — это OID, с которого мы начали.

    $ snmpwalk -v1 -c public 10.10.1.224 .1.3.6.1.4.1.318
    SNMPv2-SMI :: enterprises.318.1.1.1.1.1.1.0 = STRING: «Silcon DP340E»
    SNMPv2-SMI :: enterprises.318.1.1.1.1.1.2.0 = STRING: «UPS_IDEN»
    SNMPv2-SMI :: enterprises.318.1.1.1.1.2.1.0 = STRING: «314.10.D
    .

    Однако, если у вас есть определенный MIB, вы можете получить более подробную информацию, возвращенную вам из объектов, которые вы хотите просмотреть. В приведенном ниже примере команда -m обозначает MIB, который будет запрашиваться.

    $ snmpwalk -v1 -c public -m «./APC-POWERNET.txt» 10.10.1.224 apc
    PowerNet-MIB :: upsBasicIdentModel.0 = STRING: «Silcon DP340E»
    PowerNet-MIB :: upsBasicIdentName.0 = STRING: «UPS_IDEN»
    PowerNet-MIB :: upsAdvIdentFirmwareRevision.0 = STRING: «314.10.D»
    .

    Ниже приведен пример команды snmpwalk для Linux. Как вы можете видеть, эта функция работает примерно так же, проходя через OID для извлечения соответствующей информации из подключенных устройств:

    #% snmpwalk-v 1 локальная публичная система # system.sysDescr.o = «SunOS name sun4c»
    # system.sysObjectID.o = OID: enterprises.ucdavis.ucdSnmpAgent.sunos4
    # system.sys.UpTime.o = Timeticks (595637548) 68 дней, 22:32:55
    # system.sysContact.o = «[email protected]>»
    # system.sysName.o = «Ridyadh_o8_WS»
    # system.sysLocation.o = «Ридьяд, КСА»
    # system.sysServices.o = 72

    Экономьте время с snmpwalk

    snmpwalk кажется сложной концепцией, но на самом деле это не так. Команда snmpwalk просто сокращенный способ использовать несколько запросов GETNEXT без необходимости вводить множество различных команд. С помощью одной команды snmpwalk вы можете запустить множество различных GETNEXT и просмотреть состояние своей инфраструктуры..

    Если вы используете команду snmpwalk, важно помнить, чтобы максимально сократить объем получаемой информации. Указание MIB позволит вам видеть конкретную информацию, а не данные, собранные из всей базы данных идентификаторов объектов!

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

    Использование MIB с агентом SNMP

    Агенты SNMP собирают информацию о сетевых устройствах и сохраняют ее в базе управляющей информации (MIB) и становятся доступными для мощных инструментов SNMP.

    Мониторинг SNMP, MIB и OID Paessler с помощью PRTG (БЕСПЛАТНАЯ ПРОБНАЯ ВЕРСИЯ)

    С Paessler’s PRTG Сетевой монитор, Вы можете развернуть SNMP, MIBS и OID с одной интуитивно понятной панели. PRTG использует SNMP для мониторинга вашей сети и для обработки ваших MIB и OID. После настройки PRTG может начать сбор всех соответствующих данных на каждом из устройств в вашей сети и на программном обеспечении, с которым они работают. Информация хранится в древовидной и ветвистой структуре, при этом каждый поставщик составляет ветвь дерева, помогая вам идентифицировать и устранять неполадки на каждом из устройств в вашей сети..

    Сетевой монитор PRTG доступен на 30-дневной бесплатной пробной версии..

    Мониторинг SNMP, MIB и OID Paessler с помощью PRTG Загрузить 30-дневную бесплатную пробную версию

    Смотрите также: Лучшие инструменты мониторинга SNMP

    Источник

    Читайте также:  Мигает экран приветствия windows 10
    Оцените статью