LINUX.ORG.RU
ФорумAdmin

Тонкая настройка snmpd.conf

 ,


1

1

Мы настроили систему мониторинга по SNMP. На одной из виртуальных машин на SUSE (suse-vm) общий ресурс подключен к машине Windows (win-cifs) по протоколу cifs, допустим, он смонтирован в /share. А если от win-cifs нет ответа (перезагружается или интернет-канал нестабильный), соответственно не работает «df -h» или «ls/», то и на все остальные OID ответа нет.

Если отключить опрос OID, который отслеживает /share и связь с win-cifs теряется, проблем нет. Но мне нужно его мониторить.

Можно ли настроить snmpd.conf так, чтобы, когда /share недоступен, другие OID отвечали, не дожидаясь доступности win-cifs?

Буду признателен за любую помощь или костыль. Вожусь уже неделю.

Мой snmpd.conf

###########################################################################
#
# snmpd.conf
#
#   - created by the snmpconf configuration program
#
###########################################################################
# SECTION: Access Control Setup
#
#   This section defines who is allowed to talk to your running
#   snmp agent.

# rocommunity: a SNMPv1/SNMPv2c read-only access community name
#   arguments:  community [default|hostname|network/bits] [oid]

rocommunity public 127.0.0.1
rocommunity  name_community 192.168.1.1

###########################################################################
# SECTION: System Information Setup
#
#   This section defines some of the information reported in
#   the "system" mib group in the mibII tree.

# syslocation: The [typically physical] location of the system.
#   Note that setting this value here means that when trying to
#   perform an snmp SET operation to the sysLocation.0 variable will make
#   the agent return the "notWritable" error code.  IE, including
#   this token in the snmpd.conf file will disable write access to
#   the variable.
#   arguments:  location_string

syslocation Server Room

# syscontact: The contact information for the administrator
#   Note that setting this value here means that when trying to
#   perform an snmp SET operation to the sysContact.0 variable will make
#   the agent return the "notWritable" error code.  IE, including
#   this token in the snmpd.conf file will disable write access to
#   the variable.
#   arguments:  contact_string

syscontact Sysadmin (root@localhost)

#
# Unknown directives read in from other files by snmpconf
#
dontLogTCPWrappersConnects yes


Последнее исправление: rybyanets (всего исправлений: 2)

IMHO Нужно создать свой OID для мониторинга

snmpd умеет вызывать внешниые программы при обращении к заданным OID.

Скриптом проверять доступность хоста с оффтопиком, потом смотреть наличие установленного tcp-соединения на 445 порт и только потом делать df.

Для одного OID там совсем все просто.

vel ★★★★★
()
Ответ на: комментарий от vel

vel, спасибо за ответ.

Но это не совсем то, что мне нужно)

Мне нужно чтобы при недоступности /share отвечали остальные OID. Про «df -h и ls /» я написал для понимания ситуации.

Сейчас происходит так:

  1. Мониторинг нормально работает
  2. Связь с win-cifs теряется
  3. Мониторинг перестаёт работать. Совсем перестаёт. Нет ответа ни об утилизации процессора, ни о количестве процессов и тд. Т.е. не отвечает ни один OID пока не восстановится соединение с win-cifs и не примапится сетевая шара.

А нужно чтобы было так:

  1. Мониторинг работает нормально
  2. Связь с win-cifs теряется
  3. Нет ответа от OID, ответственного за мониторинг /share, а остальные отдают информацию.
rybyanets
() автор топика
Ответ на: комментарий от rybyanets

гм. там (в snmpd) скорее всего тупо делается statfs() без доп. проверок.

Так что есть несколько вариантов:

Можно монтировать cifs с указанием таймаутов (handletimeout, echo_interval), тогда оно, возможно, не будет умирать на очень длительное время.

Попробовать ограничить время выполнения команд в snmpd.

Заменить реализацию OID-ов для мониторнига /share.

snmp не единственный способ получения данных для мониторинга. Воспользоваться другими средствами.

vel ★★★★★
()
Ответ на: комментарий от mrjaggers

vel, mrjaggers, ваши ответы мне помогли.

В файле /etc/fstab в опции монтирования я добавил echo_interval=1. И теперь даже при выключенной win-cifs просто получаю следующий ответ

suse-vm:~ # ls -lh /share
ls: reading directory '/share': Host is down
total 0

Это именно то, что было нужно. Большое спасибо!

rybyanets
() автор топика