Skip to content
/ briseis Public

Multiprocessor and multithreaded tool for polling network equipment via SNMP

License

Notifications You must be signed in to change notification settings

xcme/briseis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Briseis - многопроцСссорный ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ poller для сбора ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ с сСтСвых устройств ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ SNMPv2 ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈΡ… Π² Graphite. Написан Π½Π° Python ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ Unix-Π΄Π΅ΠΌΠΎΠ½.

ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сСрвиса

БСрвис создан для сбора большого количСства ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π·Π° нСбольшоС врСмя ΠΈ использования, прСимущСствСнно, Π² сСтях ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² (ISP). Π’ Ρ‚Π°ΠΊΠΈΡ… сСтях ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ большим, поэтому ΠΈΡ… сбор ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя. Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (сбор, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ статистики) Briseis Π²ΠΏΠΎΠ»Π½Π΅ справится с нСсколькими тысячами ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π² сСкунду.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Briseis ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ошибки сСтСвых интСрфСйсов ΠΈ ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ
  • Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ устройств: ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ, Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ, Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π½Π° внСшний TFTP-сСрвСр
  • ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ CPU, Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ, состояния интСрфСйсов ΠΈ Ρ‚.Π΄.
  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π°ΡƒΠ΄ΠΈΡ‚ сСти (ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сноровкС :)

ВозмоТности Briseis

  • ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ большого количСства ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π·Π° нСбольшой ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
  • Установка Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ SNMP (опСрация snmpset)
  • ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π² Graphite (Carbon)
  • ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΠΈ ΡƒΡ‡Π΅Ρ‚ Π² статистикС устройств Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

  • Π Π°Π±ΠΎΡ‚Π° систСмным сСрвисом (daemon) ΠΏΠΎΠ΄ Linux ΠΈ FreeBSD
  • Гибкая систСма конфигурирования, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ собствСнныС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… Ρ‚ΠΈΠΏ, способ ΠΈ порядок опроса
  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ привязки ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ Π²Π΅Π½Π΄ΠΎΡ€Ρƒ
  • Запуск Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… процСссов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ опрос ΠΈ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… устройств ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ нСсколько запросов Π² ΠΎΠ΄ΠΈΠ½ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° устройств Π½Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ: опрос производится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для доступных Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ устройств
  • Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° устройств Π² памяти ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°: самыС ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ устройства ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ послСдними, самыС быстрыС - ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ
  • Π’Π΅Π΄Π΅Π½ΠΈΠ΅ статистики ΠΏΠΎ доступности устройств, числу собранных ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°
  • ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ сСрвСра Graphite, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвиса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ

ВрСбования

  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Linux ΠΈΠ»ΠΈ FreeBSD
  • Python2 с модулям py-snmp, MySQLdb ΠΈ python-psycopg2
  • Доступ ΠΊ MySQL- ΠΈΠ»ΠΈ PostgreSQL-сСрвСру для получСния списка устройств
  • Доступ ΠΊ MySQL-сСрвСру для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ статистики (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Briseis Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. Π§Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» обновляСт ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL/PostgreSQL список устройств для опроса. Запрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с полями 'id', 'ip', 'write_community'.
  2. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ модСль для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ устройства ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ snmpget ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ словаря.
  3. ΠŸΡ‹Ρ‚Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС для устройств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ опроса.
  4. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ доступного устройства выполняСт Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ snmpset ΠΈΠ»ΠΈ snmpwalk (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚ настроСк).
  5. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ доступного устройства выполняСт Π½Π°Π±ΠΎΡ€ ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (snmpwalk ΠΈΠ»ΠΈ snmpset, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ).
  6. ΠŸΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ собранныС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° сСрвСра Graphite (Carbon).
  7. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… MySQL статистику послСднСго опроса.

Π‘Π°ΠΌ опрос Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚Π°ΠΊ:

  • ΠžΠΏΡ€ΠΎΡ запускаСтся Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… процСссах. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ список устройств. ВсС эти Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ.
  • ПослС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ опроса Briseis Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ устройства врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ всСх Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ опросом устройства ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ самыС быстрыС ΠΈΠ· Π½ΠΈΡ… ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ опроса Π² памяти оказываСтся нСсколько ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ. Π˜Ρ… ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ· прСфикса (задаСтся Π² свойствах ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвСра), IP-адрСса хоста, ΠΈΠΌΠ΅Π½ΠΈ Π½Π°Π±ΠΎΡ€Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 'RX_CRC') ΠΈ ΠΊΠ»ΡŽΡ‡Π°. ВмСстС эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:

prefix.oct#1.oct#2.oct#3.oct#4.name.key

Помимо этого, каТдая ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ собствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ. На простом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ становится понятно, ΠΊΠ°ΠΊ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ всС упомянутыС Π²Ρ‹ΡˆΠ΅ значСния. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ устройства с адрСсом '10.90.90.95' Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ список ошибок Π½Π° интСрфСйсах. Π­Ρ‚Π° ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΎΠ±Ρ‰Π΅Π΅ имя, Π² нашСм случаС RX_CRC. Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ модуля устройства это имя являСтся ΠΊΠ»ΡŽΡ‡ΠΎΠΌ для ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ OID ('.1.3.6.1.2.1.16.1.1.1.8'). Упомянутый Π²Ρ‹ΡˆΠ΅ прСфикс задаСтся Π² настройках для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвСра Graphite. ΠŸΡƒΡΡ‚ΡŒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ€Π°Π²Π΅Π½ 'sw.'. ВсС эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ извСстны Π΅Ρ‰Π΅ Π΄ΠΎ опроса оборудования, Π° послС опроса становятся извСстны ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅. Π’Π°ΠΊ, индСксы интСрфСйсов Π² нашСм случаС Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой key, Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ значСния - value. ВрСмя, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° - это timestamp (ΠΏΡƒΡΡ‚ΡŒ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Ρ‹ΠΌ '1451595600').

Π˜Ρ‚Π°ΠΊ, ΠΏΡ€ΠΈ выполнСния опроса ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ OID ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ список:

.1.3.6.1.2.1.16.1.1.1.8.1  = Counter32: 84
.1.3.6.1.2.1.16.1.1.1.8.2  = Counter32: 0
...
.1.3.6.1.2.1.16.1.1.1.8.28 = Counter32: 0

ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ интСрфСйсу (key) соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика (value). Если ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ OID (ΠΎΠ½ называСтся 'tag') Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ OID, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, Ρ‚ΠΎ получится этот самый key:

ОписаниС Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ .1.3.6.1.2.1.16.1.1.1.8.28
Π£ΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ .1.3.6.1.2.1.16.1.1.1.8
Π Π°Π·Π½ΠΈΡ†Π° (key) 28

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΠΈΡ… значСния ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ:

sw.10.90.90.95.RX_CRC.1 84 1451595600
sw.10.90.90.95.RX_CRC.2  0 1451595600
...
sw.10.90.90.95.RX_CRC.28 0 1451595600

ИмСнно Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° сСрвСра Graphite.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ОписаниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π΅ bconfig.py

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
snmp_wcomm SNMP write-community.
snmp_timeout Π’Π°ΠΉΠΌΠ°ΡƒΡ‚ оТидания ΠΎΡ‚Π²Π΅Ρ‚Π°.
snmp_retries ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ получСния ΠΎΡ‚Π²Π΅Ρ‚Π°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "1" ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ прСдпринята 1 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° опроса, Ρ‚.Π΅. всСго опросов Π±ΡƒΠ΄Π΅Ρ‚ 2.
no_retries Бписок ΠΊΠΎΠΌΠ°Π½Π΄ snmpset, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ retries всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 0. РСсурсозатратныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² этот список.
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
max_processes Максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ количСство Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… процСссов.
max_devices_in_process МаксимальноС количСство устройств, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… процСссом. Если Ρƒ вас 1000 устройств ΠΈ Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ с двумя процСссами, ΡΡ‚Π°Π²ΡŒΡ‚Π΅ 500-600 (большС ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹) - Π½Π΅ ΠΎΡˆΠΈΠ±Π΅Ρ‚Π΅ΡΡŒ.
max_threads Максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².
max_requests_in_thread МаксимальноС количСство запросов Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅. Под этим Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ количСство устройств, ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, слСдуСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с 4 Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ процСссами, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄ΠΎ 8 ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄ΠΎ 12 устройств Π·Π° Ρ€Π°Π·. ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΡ этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Ссли Ρƒ вас большая ΡΠ΅Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ этом Π²Ρ‹ Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‡Π΅Π½ΡŒ быстро. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ для отрисовки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ RX/TX являСтся Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π² 5 ΠΌΠΈΠ½ΡƒΡ‚. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ быстрСС, Ρ‡Π΅ΠΌ Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚. ΠŸΡ€ΠΈ этом ΠΌΡ‹ столкнСмся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ трудностями:

  • ΠžΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ устройства ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ поступлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти. ΠœΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡƒΠ½Π΄Ρ‹ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ. :)
  • Запустив слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ядро процСссора, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ² Ρ‚Π΅ΠΌ самым врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  • Π”ΠΎΠ±Π°Π²ΠΈΠ² Π΅Ρ‰Π΅ процСссов (ΠΏΠΎ сути - ядСр, Ρ‚.ΠΊ. Π½ΠΎΠ²ΠΎΠΌΡƒ процСссу систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ядро) ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅Π·ΠΊΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ число ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сокСтов ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²ΠΈΠ΄Π° "kernel: sonewconn: pcb 0xfffff80075b06000: Listen queue overflow: 25 already in queue awaiting acceptance" (для FreeBSD).

Наблюдая Π·Π° Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ систСму ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя быстро ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
log_file Имя Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π°.
log_size Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π° ΠΏΡ€ΠΈ достиТСнии ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ начинаСтся ротация.
log_backupcount ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ ΠΆΡƒΡ€Π½Π°Π»Π°.
query_interval Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π», Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ начинаСтся Π½ΠΎΠ²Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» опроса (см. шаги выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹).
sleep_interval ΠŸΠ°ΡƒΠ·Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° выполняСтся Π² бСсконСчном Ρ†ΠΈΠΊΠ»Π΅, отсутствиС ΠΏΠ°ΡƒΠ·Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ 100% Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ CPU.
sleep_after_set_requests ΠŸΠ°ΡƒΠ·Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ snmpset-запросов. ПослС Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ устройство ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ занято Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ, для этого ΠΈ прСдусмотрСна ΠΏΠ°ΡƒΠ·Π° ΠΏΠ΅Ρ€Π΅Π΄ дальнСйшим опросом.
set_iter_delay ΠŸΠ°ΡƒΠ·Π°, которая выдСрТиваСтся послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ set. Π­Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (сохранСниС, Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ°, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€).
datasend_right_border ВрСмя Π² сСкундах, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ истСчСния query_interval, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Π»Π°ΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Graphite. Π’Π°ΠΊ, ΠΏΡ€ΠΈ query_interval Π² 300 сСкунд ΠΈ datasend_right_border Π² 30 сСкунд, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… начнСтся Ρ‡Π΅Ρ€Π΅Π· 270 сСкунд послС Π½Π°Ρ‡Π°Π»Π° Ρ†ΠΈΠΊΠ»Π° опроса.
try_fix_query_errors Число ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ для пСрСзапроса Π΄Π°Π½Π½Ρ‹Ρ…, Ссли Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² Π½ΠΈΡ…. Ошибка, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, связана с самим Python ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ net-snmp. Π’ процСссС написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ послС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ошибки пСрСстали ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ, Π½ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΈΡ… устранСния остался.
try_fix_counters Π€Π»Π°Π³, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ счСтчиков, Ссли ΠΈΡ… значСния аномально высокиС. Если установлСн Π² True, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ значСния ΠΎΠ±Π½ΡƒΠ»ΡΡŽΡ‚ΡΡ. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΈΠΊΠΎΠ² Π² ΠΏΠ΅Ρ‚Π°Π±Π°ΠΉΡ‚Π°Ρ… Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ… Ссли счСтчик Π±Ρ‹Π» ΡΠ±Ρ€ΠΎΡˆΠ΅Π½ Π½Π° самом устройствС Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ опроса.
walk_before_set Π€Π»Π°Π³, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ порядок walk/set-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Если установлСн Π² True, Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ walk/get Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ.
allow_empty_data ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ допустимо Π»ΠΈ использованиС Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΈΠ΄Π° "пустая строка", ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ netsnmp Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ опроса, Π²Π΅Ρ€Π½ΡƒΠ²ΡˆΠ΅Π³ΠΎ ΠΏΡƒΡΡ‚ΡƒΡŽ строку, ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π½Π΅ Π²Π΅Ρ€Π½ΡƒΠ²ΡˆΠ΅Π³ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ. ΠŸΡ€ΠΈ сборС числовых ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ трСбуСтся Π½Π΅ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ, Π°, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ. Π’ основном это Π½ΡƒΠΆΠ½ΠΎ для snmpset-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ устройство ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΎ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ссли ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° устройство ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для сохранСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ нСсколько сСкунд. Π’ это врСмя устройство ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слишком Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ - Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° TFTP-сСрвСр. Π’ этом случаС сСрвСр ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½ΠΎ ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Для Π΅Π΅ сниТСния частоту Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пСрСчислСнных Π²Ρ‹ΡˆΠ΅ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ².

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
mysql_addr АдрСс MySQL-сСрвСра, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ список устройств для опроса.
mysql_user Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
mysql_pass ΠŸΠ°Ρ€ΠΎΠ»ΡŒ.
mysql_base Имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
postgresql_addr АдрСс PostgreSQL-сСрвСра, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ список устройств для опроса.
postgresql_user Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
postgresql_pass ΠŸΠ°Ρ€ΠΎΠ»ΡŒ.
postgresql_base Имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
use_postgresql ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈ MySQL Π»ΠΈΠ±ΠΎ ΠΆΠ΅ PostgreSQL (ΠΊΠΎΠ³Π΄Π° установлСн Π² True).
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
db_query Запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… для получСния списка устройств. Запрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²ΠΈΠ΄Π° 'id', 'ip', 'write_community'.
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
useMySQLstat ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ статистика ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² MySQL. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния True ΠΈ False.
mysql_stat_addr АдрСс MySQL-сСрвСра, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ статистика.
mysql_stat_user Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
mysql_stat_pass ΠŸΠ°Ρ€ΠΎΠ»ΡŒ.
mysql_stat_base Имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
mysql_stat_cset Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°.
mysql_stat_tabl Имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ статистики.
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
GraphiteCarbonList Бписок сСрвСров Graphite. КаТдая запись Π² этом спискС Ρ‚Π°ΠΊΠΆΠ΅ прСдставляСт собой список, содСрТащий ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сСрвСра.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ записи:

[True, "graphite.localhost", 2003, "sw.", ['RX', 'TX', 'RX_CRC', 'CT', 'CPU']]
β„– ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
1 Π€Π»Π°Π³ использования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ записи. ΠŸΡ€ΠΈ True ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° этот сСрвСр выполняСтся, Π° ΠΏΡ€ΠΈ False Π½Π΅Ρ‚.
2 АдрСс сСрвСра Graphite, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.
3 ΠŸΠΎΡ€Ρ‚ сСрвСра.
4 ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ для ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.
5 Бписок сокращСнных ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π½Π° сСрвСр.

Briseis Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с сСрвСрами Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ пСрСчислСны Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ GraphiteCarbonList.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
models_by_desc Бписок соотвСтствий описаний ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ устройств ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌ. Π‘Π°ΠΌΠΎ соотвСтствиС прСдставлСно Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Ρ‹ 'ΠΊΠ»ΡŽΡ‡' : 'Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅'.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° models_by_desc:

models_by_desc = [
    {'DES-3200-28/C1' : 'DES-3200-28_C1'},
    {'DES-3200-28'    : 'DES-3200-28'},
    {'DES-3200-18/C1' : 'DES-3200-18_C1'},
    {'DES-3200-18'    : 'DES-3200-18'},
    {'DES-3200-10'    : 'DES-3200-10'},
    {'DES-3028G'      : 'DES-3028G'},
    {'DES-3028'       : 'DES-3028'},
]

Когда Briseis ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ с устройства ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ· sysDescr, sysContact ΠΈ sysName, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ словаря Π²Π½ΡƒΡ‚Ρ€ΠΈ списка models_by_desc. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ совпадСнии ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ считаСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ словаря. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, sysDescr (.1.3.6.1.2.1.1.1.0) содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DES-3200-28/C1 Fast Ethernet Switch. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ models_by_desc Π±Ρ‹Π»ΠΎ установлСно, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ DES-3200-28/C1 Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ устройства Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DES-3200-28_C1. ΠŸΡ€ΠΈ этом ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΠΎ sysContact ΠΈ ΠΏΠΎ sysName, Ρ‚.Π΅. ΠΏΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ sysContact, ΠΏΠΎ своСй сути, являСтся 'Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΎΠΌ' ΠΏΡ€ΠΈ опросС устройств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ простым запросом ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ число ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠΎΡ€Ρ‚ΠΎΠ² (ΠΏΠ»Π°ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ Cisco Catalyst!:). ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ sysDescr ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ нСльзя, Π° sysName часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. А Π²ΠΎΡ‚ sysContact ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ свободно. Если ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π°ΠΌ Cat2950G-24 ΠΈΠ»ΠΈ ΠΆΠ΅ Cat2950G-48, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° смоТСт ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ эти ΠΌΠΎΠ΄Π΅Π»ΠΈ устройств Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ sysContact ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ sysDescr, Π° sysName Π½Π°Π΄ sysContact.

Подсказка: Для случаСв, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚ нСобходимости Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ модСль, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» модуля сразу для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… устройств. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько стандартных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ SW-Common-26.py, SW-Common-28.py, SW-Common-50.py ΠΈ Ρ‚.Π΄., Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ SymLink'ΠΈ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ· списка models_by_desc.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
PassSetSet Набор ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ для set-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ являСтся порядковый Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ опроса, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ - список ΠΊΠΎΠΌΠ°Π½Π΄.
PassSetWalk Набор ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ для walk-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ являСтся порядковый Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ опроса, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ - список сокращСнных ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ.

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ производится поиск максимального значСния ΠΊΠ»ΡŽΡ‡Π°, ΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π°. Π—Π°Ρ‚Π΅ΠΌ для этого ΠΊΠ»ΡŽΡ‡Π° опрСдСляСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ PassSetSet ΠΈ PassSetWalk:

PassSet  = {
      1 : [],
     48 : ['SaveConf'],
     72 : ['UploadConf_3028'],
     96 : ['UploadConf_3200_C'],
    144 : ['UploadConf_3200_AB'],
    }

PassWalk = {
    1 : ['RX', 'TX', 'RX_CRC', 'CT', 'CPU', 'CNS', 'DS', 'UP', 'FW'],
    2 : ['RX', 'TX', 'RX_CRC', 'CT', 'CPU', 'CNS', 'DS', 'UP',     ],
    }

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ 48-Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° опроса выполняСтся сохранСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ("ΠΊΠΎΠΌΠ°Π½Π΄Π°" 'SaveConf'). А ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ 2-ΠΉ Ρ†ΠΈΠΊΠ» ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° 'FW' Π½Π΅ ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
oids_set Набор ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… OID, ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для set-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ 'oids_set' прСдставляСт собой ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π° значСния содСрТат ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° oids_set:

oids_set = {
    'DES-3200-28' : {
        'SaveConf'           : 'sms_CfgSave',
        'UploadConf_3200_AB' : 'sms_CfgUpload',
    },
...
    },
    'DES-3028':{
        'SaveConf'           : 'sms_CfgSave',
        'UploadConf_3028'    : 'sms_CfgUpload',
    }
}

ΠŸΡ€ΠΈ стартС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вмСсто sms_CfgSave ΠΈ sms_CfgUpload Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Ρ‹ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… устройств.

Π’Π°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ€ Π² ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ выглядит Ρ‚Π°ΠΊ:

[ [tag1,iid1,val1,type1],[tag2,iid2,val2,type2],...,[tagN,iidN,valN,typeN]] ]

ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, содСрТащиСся Π²ΠΎ "внСшнСм" списка Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ snmpset-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для всСх пСрСчислСнных Π²Π½ΡƒΡ‚Ρ€ΠΈ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ set-request. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для экономии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π»ΠΈΠ±ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ трСбованиями оборудования для управлСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

[tag,iid,val,type] - список Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для snmpset ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
tag fully qualified, dotted-decimal, numeric OID
iid the dotted-decimal, instance identifier
val the SNMP data value
type SNMP data type

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

sms_CfgSave = [
    ['.1.3.6.1.4.1.171.12.1.2.6', '0', '2', 'INTEGER'],
    ]

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ['.1.3.6.1.2.1.17.7.1.4.3.1.2','777','\x00\x00\x00\xf0\x00\x00\x00\x00','OCTETSTR']

ЭквивалСнтная SNMP-ΠΊΠΎΠΌΠ°Π½Π΄Π°: snmpset -v2c -c private <IP> .1.3.6.1.2.1.17.7.1.4.3.1.2.777 x 000000f000000000

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ относятся ΠΊ самому ΠΌΠΎΠ΄ΡƒΠ»ΡŽ netsnmp, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌΡƒ Briseis. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ здСсь, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ нСдоступСн.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
oids_walk Набор ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… OID для walk-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ 'oids_walk' прСдставляСт собой ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ с названиями ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ списками ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° oids_walk:

oids_walk = {
'DGS-3000-26TC'      : [ 'ms_RxTx', 'ms_RX_CRC', 'ms_DS', 'ms_CPU', 'ms_UpTime', 'ms_Temp', 'ms_FWVer', 'ms_CNS' ],
'DGS-3000-24TC'      : [ 'ms_RxTx', 'ms_RX_CRC', 'ms_DS', 'ms_CPU', 'ms_UpTime', 'ms_Temp', 'ms_FWVer', 'ms_CNS' ],
'DES-3200-28_C1'     : [ 'ms_RxTx', 'ms_RX_CRC', 'ms_DS', 'ms_CPU', 'ms_UpTime', 'ms_Temp', 'ms_FWVer', 'ms_CNS' ],
...
'QSW-3470-52T'       : [ 'ms_Rx', 'ms_Tx',  'ms_RX_CRC', 'ms_DS',           'ms_UpTime',                         ], # SymLink to SW-Common-52
}

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт списка (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ms_RxTx) прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ структурой:

{'metric_name1':'metric_oid1','metric_name2':'metric_oid2',}

metric_name - ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ имя ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

metric_oid - OID, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

ΠžΠΏΡ€ΠΎΡ Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ выполняСтся Π² Ρ‚ΠΎΠΌ порядкС, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ пСрСчислСны Π² спискС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Π±ΠΎΡ€Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ:

ms_RxTx = {
    '~RX.1'     : '.1.3.6.1.2.1.31.1.1.1.6.1',
    '~RX.2'     : '.1.3.6.1.2.1.31.1.1.1.6.2',
...
    '~TX.27'    : '.1.3.6.1.2.1.31.1.1.1.10.27',
    '~TX.28'    : '.1.3.6.1.2.1.31.1.1.1.10.28',
}

Π’Π°ΠΆΠ½ΠΎ: Бпособ опроса устройства зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°Π΄Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ metric_name. Если Π² ΠΈΠΌΠ΅Π½ΠΈ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ словаря присутствуСт Ρ‚ΠΎΡ‡ΠΊΠ°, Ρ‚ΠΎ всС OID ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² get-request. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС OID ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² walk-request.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ значСния ifHCInOctets (RX, 64 bit) с интСрфСйсов устройства. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°/OID ΠΊΠ°ΠΊ Rx = {'~RX':'.1.3.6.1.2.1.31.1.1.1.6'}. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΎΡ‡ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ '~RX' отсутствуСт, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ walk-запрос ΠΈ ΠΏΠ΅Ρ€Π΅Π±Π΅Ρ€Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ OID. Аналогично ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΈ с ifHCOutOctets (TX, 64bit), описав Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΠ°Ρ€Ρƒ Tx = {'~TX':'.1.3.6.1.2.1.31.1.1.1.10',}. ΠŸΡ€ΠΈ этом Rx ΠΈ Tx ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой словари ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ списка, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ oids_walk:

oids_walk = {
    'DES-3200-28' : [ 'Rx', 'Tx' ],
}

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСт walk для Rx, Π·Π°Ρ‚Π΅ΠΌ, пСрСбирая список, Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС для Tx.

ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ walk-запрос ΠΏΠΎ сути являСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Когда ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ tag, выходящСС Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ OID, ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ считаСтся Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ запрос - это сСтСвая транзакция, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π§Π΅ΠΌ большС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² сСти, Ρ‚Π΅ΠΌ большС ΠΌΡ‹ ΠΆΠ΄Π΅ΠΌ поступлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΡ… случайных ΠΏΠΎΡ‚Π΅Ρ€ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π° Ρ…ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒ - ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Rx ΠΈ Tx ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Для этого создадим Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ RxTx = {'~RX':'.1.3.6.1.2.1.31.1.1.1.6','~TX':'.1.3.6.1.2.1.31.1.1.1.10',} ΠΈ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π² спискС:

oids_walk = {
    'DES-3200-28' : [ 'RxTx' ],
}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ walk-запроса ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ сразу Π΄Π²Π° адрСса ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠŸΡ€ΠΈ этом количСство Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡΡ Π²Π΄Π²ΠΎΠ΅. ЕдинствСнноС условиС здСсь - ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ OID Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ (Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΈ опросС Ρ‚Π°ΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Rx ΠΈ Tx, Π½ΠΎ вовсС Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях), Ρ‚.ΠΊ. опрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ.

Но ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ ΠΈ дальшС. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ запрос ΠΊΠ°ΠΊ get, явно ΡƒΠΊΠ°Π·Π°Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ OID для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… интСрфСйсов. Π’Π΅ΠΏΠ΅Ρ€ΡŒ наш Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

RxTx = {
    '~RX.1' :'.1.3.6.1.2.1.31.1.1.1.6.1',
    '~RX.2' :'.1.3.6.1.2.1.31.1.1.1.6.2',
...
    '~RX.28':'.1.3.6.1.2.1.31.1.1.1.6.28',
    '~TX.1' :'.1.3.6.1.2.1.31.1.1.1.10.1',
    '~TX.2' :'.1.3.6.1.2.1.31.1.1.1.10.2',
...
    '~TX.28':'.1.3.6.1.2.1.31.1.1.1.10.28',
}

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π·Π°Π΄Π°Π΅ΠΌ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ словаря со списком ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, Π½ΠΎ лишь ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ. Имя ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² любом случаС обрСзаСтся Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‚.Π΅. Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π»ΠΈΠ±ΠΎ 'RX', Π»ΠΈΠ±ΠΎ 'TX'. Π’ ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ послС ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠ»ΡŽΡ‡, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ рассказано Π²Ρ‹ΡˆΠ΅. Наш список Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ случаС:

oids_walk = {
    'DES-3200-28' : [ 'RxTx' ],
}

Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ наш запрос содСрТит всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ OID сразу. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ отправляСм всСго лишь ΠΎΠ΄ΠΈΠ½ запрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ всСго лишь ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Π²Π΅Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹ сразу 56 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ!

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ

ИмСна ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ этим ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ОписаниС
. ΠœΠ΅Π½ΡΠ΅Ρ‚ Ρ‚ΠΈΠΏ запроса с walk Π½Π° get. ΠŸΡ€ΠΈ этом Π² ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ добавляСтся ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл ΠΈΠ· OID, сколько Ρ‚ΠΎΡ‡Π΅ΠΊ содСрТится Π² ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, для OID '.1.3.6.1.4.1.171.11.113.1.3.2.2.2.1.4.1.100' ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° '..' ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ Π½Π΅ '100', Π° '1.100'.
~ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ счСтчик. Π’Ρ‹ΡˆΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΌΡ‹ использовали ΠΈΠΌΠ΅Π½Π° '~RX' ΠΈ '~TX'. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ хранятся Π² памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ слуТСбныС. Когда ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€ΠΎΡˆΠ΅Π½Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·, для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ посчитана Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’Π°ΠΊ Π² памяти появятся Π΅Ρ‰Π΅ Π΄Π²Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ собой счСтчики - 'RX' ΠΈ 'TX'. ИмСнно эти ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π² Graphite.
~~ 32-Π±ΠΈΡ‚Π½Ρ‹ΠΉ счСтчик. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ 64-Π±ΠΈΡ‚Π½ΠΎΠΌΡƒ.

ΠœΠΎΠ΄ΡƒΠ»ΠΈ

Для удобства использования ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ oids_set ΠΈ oids_walk описаны Π² bconfig.py, Π½ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π½ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… модулях. КаТдой ΠΌΠΎΠ΄Π΅Π»ΠΈ устройства соотвСтствуСт ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, располоТСнный Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /devices. ΠŸΡ€ΠΈ запускС Brises Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ эти ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π² памяти ΠΏΠΎΠ»Π½ΡƒΡŽ структуру oids_set ΠΈ oids_walk.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ‚ΠΎΡ‡Π½ΠΎ такая ΠΆΠ΅, ΠΊΠ°ΠΊ Ρƒ swtoolz-core. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ находятся словари ΠΈΠ»ΠΈ списки. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ словаря:

ms_CPU = {
#    CPU           .1.3.6.1.4.1.171.12.1.1.6.3                          agentCPUutilizationIn5min
    'CPU.'      : '.1.3.6.1.4.1.171.12.1.1.6.3.0'
}

Π’ этом словарС описана ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° для получСния Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ CPU устройства.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ списка:

sms_CfgSave = [
#     .1.3.6.1.4.1.171.12.1.2.18.4                                      agentBscFileSystemSaveCfg
    ['.1.3.6.1.4.1.171.12.1.2.18.4', '0', '2', 'INTEGER'],
    ]

Π’ этом спискС описан Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для snmpset, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для сохранСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ устройства.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ конфигурация содСрТит ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ Π² Π΅Π΅ уровнях. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ конфигурирования, рСкомСндуСтся Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Π°ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ прСфиксы. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ms_ для Get/Walk-словарСй ΠΈ sms_ для Set-списков.

Бтатистика опроса устройств

Briseis ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ статистику опроса устройств Π² Π±Π°Π·Ρƒ MySQL. ЗначСния сохраняСмых ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС
device_id ID устройства Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ список устройств.
host IP-адрСс устройства.
mname ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ имя устройства.
set_timestamp ΠœΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹ set-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ устройством.
walk_timestamp ΠœΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹ walk-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ устройством.
queries ΠžΠ±Ρ‰Π΅Π΅ количСство опросов устройства с Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
avail ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π· с Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° устройство ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΎ Π½Π° запрос.
metrics ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎ SNMP ΠΎΡ‚ устройства Π² послСдний Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
errors ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ошибок, Π²ΠΎΠ·Π½ΠΈΠΊΡˆΠΈΡ… для устройств Π² послСдний Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
time Π‘ΡƒΠΌΠΌΠ°Ρ€Π½ΠΎΠ΅ врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с устройством, с Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Установка ΠΏΠΎΠ΄ Linux (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Centos 7)

  • Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: git clone https://github.com/xcme/briseis.git
  • Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» 'briseis.service' ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ './linux/centos/' Π² '/etc/systemd/system/'.
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ firewall Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ SNMP-запросы.
  • ЗапуститС сСрвис ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ systemctl start briseis.
  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ автозапуск сСрвиса ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ systemctl enable briseis.

Установка ΠΏΠΎΠ΄ FreeBSD

  • Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» briseis Π² '/usr/local/etc/rc.d/', Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² '/usr/local/etc/briseis/'.
  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ строку briseis_enable="YES" Π² Ρ„Π°ΠΉΠ» '/etc/rc.conf'.
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ firewall Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ SNMP-запросы.
  • ЗапуститС сСрвис ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ service briseis start.

Бписок измСнСний

[4.1.25] - 2018.01.25

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ распознавания ΠΌΠΎΠ΄Π΅Π»ΠΈ устройства ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ NoneType

[4.1.23] - 2018.01.23

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° PostgreSQL Π² качСствС источника Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ sysContact
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° IP-адрСса Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ
  • Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… с устройства ΠΏΠΎ SNMP, для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ статистики
  • ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ "пустых" Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ allow_empty_data, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅
  • Ротация Π»ΠΎΠ³ΠΎΠ²
  • Π€Π°ΠΉΠ» для запуска Π΄Π΅ΠΌΠΎΠ½Π° Π½Π° Centos 7

ИзмСнСно

  • ΠŸΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½Π° структура oids_walk, Π² связи с Ρ‡Π΅ΠΌ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
  • ΠŸΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½Ρ‹ всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ устройств ΠΈ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ начинаСтся с ΠΏΡ€Π΅Ρ„ΠΈΠΊΠ° 'ms_' (metric set) Π»ΠΈΠ±ΠΎ 'sms_' (для snmpset)
  • Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ нСдоступныС ΠΌΠΎΠ΄Π΅Π»ΠΈ (None) ΠΈ нСизвСстныС ΠΌΠΎΠ΄Π΅Π»ΠΈ (Unknown)
  • Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π»ΠΎΠ³ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π΅Π³ΠΎ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ (severity)
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ default_info ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² identify_oids ΠΈ ΡƒΠ±Ρ€Π°Π½ Π² Ρ‚Π΅Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ количСству ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, Π² Π»ΠΎΠ³ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выводится ΠΈ количСство ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎ SNMP
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ errors Π² статистикС Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ обнуляСтся ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² тСкстС
  • ОписаниС Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π² соотвСтствии с измСнСниями

[2.6.30] - 2016.06.30

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΡ‹Π»Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ строго Π² ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ счСтчики ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ всплСсков Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ…
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ walk-опросы Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ set
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° нСсколько сСрвСров Graphite
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ запросы Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ

ИзмСнСно

  • МодСли Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² swtoolz-core
  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ размСщаСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… модулях, ΠΊΠ°ΠΊ Ρƒ swtoolz-core
  • ИзмСнСн ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°Π±ΠΎΡ€Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ
  • ОписаниС Π±Ρ‹Π»ΠΎ сущСствСнно ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ошибки

Π£Π΄Π°Π»Π΅Π½ΠΎ

  • ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки для Graphite
  • ВзаимодСйствиС с Attractor, Ρ‚.ΠΊ. с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ этот сСрвис Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ отличаСтся ΠΎΡ‚ Graphite.
  • Π€Π°ΠΉΠ» userdict.py

[1.1.0] - 2015.07.11

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ set_iter_delay для опрСдСлСния ΠΏΠ°ΡƒΠ·Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ итСрациями ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ set-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ
  • Π€Π°ΠΉΠ» SQL для создания Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ 'stats'

ИзмСнСно

  • ВмСсто ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° нСдоступности устройства Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ статистики Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ записываСтся число опросов устройства
  • ΠšΠ»ΡŽΡ‡ΠΈ словарСй oids_set ΠΈ oids_walk Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² памяти
  • ИзмСнСна докумСнтация Π² соотвСтствии со сдСланными измСнСниями

Π£Π΄Π°Π»Π΅Π½ΠΎ

  • Π€Π°ΠΉΠ» changelog.txt

[1.0.2] - 2015.03.18

ИзмСнСно

  • НСбольшиС космСтичСскиС измСнСния ΠΊΠΎΠ΄Π°

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ошибка, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ статистики ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π½Π΅ всС устройства

[1.0.0] - 2015.03.05

Π Π΅Π»ΠΈΠ· вСрсии 1.0.0

About

Multiprocessor and multithreaded tool for polling network equipment via SNMP

Resources

License

Stars

Watchers

Forks

Packages

No packages published