Главная > unix > Взаимодействие стандартного snmpd и net-snmp в AIX

Взаимодействие стандартного snmpd и net-snmp в AIX

14 июля 2010 vagabond 172 просмотра К комментариям

С появлением у нас на работе серверов с AIX возникла необходимость их мониторинга уже существующим пакетом Cacti по snmp. Начав настраивать хосты в Cacti, я столкнулся с тем, что стандартный snmpd не включает некоторые MIBы, нужные «в хозяйстве», например очень много полезных вещей мониторятся с помощью ucd-snmp, ucd-diskio MIBов и т.д.

Попытки подключить нужные MIBы к стандатрному snmpd не привели к успеху (mosy отказался построить список определений по нужному мне MIBу, выдавая ругань на синтаксические ошибки), равно как и попытки подключить MIBы от AIX snmpd к net-snmp. В очередной раз перекапывая Гугл в поисках подсказки, я, совершенно случайно, наткнулся на пост Paul Mininni на форуме Zenoss с помощью которого мне удалось настроить одновременную работу родного snmpd AIX и net-snmp на разных портах и проксирование OIDов AIX из net-snmp в родной snmpd.

  1. Устанавливаем net-snmpd. Скачать можно с сайта Michael Perzl. Возможно, потребуется сначала установить openssl.
  2. Переносим net-snmp на порт 1610 чтобы он не конфликтовал со стандартным snmpd. Для этого нужно отредактировать файл опций запуска net-snmp – /opt/freeware/etc/snmp/snmpd.options:
    OPTIONS="-A -Lf /var/log/net-snmpd.log -p /var/run/snmpd.pid -a udp:1610"
  3. Теперь нужно отредактировать файл ротации логов net-snmp чтобы при ротации происходил перезапуск net-snmp, а не родного snmpd, редактируем файл /opt/freeware/etc/logrotate.d/snmpd:
    /var/log/net-snmpd.log {
        notifempty
        missingok
        postrotate
            /etc/rc.d/init.d/snmpd restart 2> /dev/null > /dev/null || true
        endscript
    }
    
  4. Настраиваем проксирование неизвестных OIDов в родной snmpd AIX, редактируем конфиг net-snmp (/opt/freeware/etc/snmp/snmpd.conf) и добавляем следующие строки:

    ## AIX
    # Proxy IBM Agent Requests for port number
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.4.1.2.2.1.1.0
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.4.1.2.2.1.1.1.0
    
    # Proxy iftable(IF-MIB: Interface Names & Stats), iptable and ifalias
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.2.1
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.2.1.4.20.1
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.2.1.31
    
    # Proxy RFC1213-MIB (Route Info)
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.2.1.4.21.1
    
    # Proxy SysUptime (netsnmp doesn't work)
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.2.1.25.1.1.0
    
    # Proxy the SNMP Descr so OS shows up properly in zenoss parsing
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.2.1.1.1.0
    
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.4.1.2
    proxy -v 1 -c public 127.0.0.1:161 1.3.6.1.2.1.2
    
  5. Для полноты картины нужно внести изменения в конфиги стандартного snmpd.
    В /etc/snmpd.conf добавить строку:

    community       public  127.0.0.1
    

    Соответствующая часть /etc/snmpdv3.conf должна выглядеть примерно следующим образом:

    VACM_GROUP group1 SNMPv1	public  -
    
    #VACM_VIEW defaultView	internet				- included -
    VACM_VIEW defaultView	1.3.6.1.4.1.2.2.1.1.1.0	- included -
    #VACM_VIEW defaultView	1.3.6.1.4.1.2.6.191.1.6	- included -
    
    # exclude snmpv3 related MIBs from the default view
    VACM_VIEW defaultView	snmpModules			- excluded -
    VACM_VIEW defaultView	1.3.6.1.6.3.1.1.4	- included -
    VACM_VIEW defaultView	1.3.6.1.6.3.1.1.5	- included -  
    
    VACM_VIEW defaultView	1.3.6.1.4.1.2.6.191	- included -
    VACM_VIEW defaultView	system				- included -
    VACM_VIEW defaultView	interfaces			- included -
    VACM_VIEW defaultView	tcp					- included -
    VACM_VIEW defaultView	icmp				- included -
    VACM_VIEW defaultView	internet			- included -
    VACM_VIEW defaultView	enterprises			- included -
    VACM_VIEW defaultView	1.3.6.1.2.1			- included -
    VACM_VIEW defaultView	1.3.6.1.4.1.2		- included -
    VACM_VIEW defaultView	1.3.6.1.4.1.2.2		- included -
    VACM_VIEW defaultView	1.3.6.1.4.1.2.3		- included -
    VACM_VIEW defaultView	1.3.6.1.4.1.2.5		- included -
    VACM_VIEW defaultView	1.3.6.1.4.1.2.6		- included -
    VACM_VIEW defaultView	internet			- included -
    VACM_VIEW defaultView	directory			- included -
    VACM_VIEW defaultView	mgmt				- included -
    VACM_VIEW defaultView	mib-2				- included -
    VACM_VIEW defaultView	system				- included -
    VACM_VIEW defaultView	aix					- included -
    VACM_VIEW defaultView	xmd					- included -
    VACM_VIEW defaultView	ibm					- included -
    VACM_VIEW defaultView	ibmAgents			- included -
    
    # exclude aixmibd managed MIBs from the default view
    VACM_VIEW defaultView	1.3.6.1.4.1.2.6.191	- excluded -
    
    VACM_ACCESS  group1 - - noAuthNoPriv SNMPv1  defaultView - defaultView -
    
  6. Перезапускаем родной AIX snmpd и его суб-агенты (порядок запуска важен):

    stopsrc -s snmpd; stopsrc -s hostmibd; stopsrc -s snmpmibd; stopsrc -s aixmibd
    startsrc -s snmpd; startsrc -s hostmibd; startsrc -s snmpmibd; startsrc -s aixmibd
    
  7. Запускаем net-snmpd:

    /etc/rc.d/init.d/snmpd start
    
  8. Убеждаемся, что все работает и net-snmpd отдает MIBы AIX, напоминаю net-snmp у нас теперь работает на порту 1610, запросим список примонтированных разделов:

    snmpwalk -c public -v 1 <aix_server_ip>:1610 .1.3.6.1.4.1.2.6.191.6.2.1.2
    

    Видим примерно следующее:

    SNMPv2-SMI::enterprises.2.6.191.6.2.1.2.1 = STRING: "/dev/hd4"
    SNMPv2-SMI::enterprises.2.6.191.6.2.1.2.2 = STRING: "/dev/hd2"
    SNMPv2-SMI::enterprises.2.6.191.6.2.1.2.3 = STRING: "/dev/hd9var"
    SNMPv2-SMI::enterprises.2.6.191.6.2.1.2.4 = STRING: "/dev/hd3"
    SNMPv2-SMI::enterprises.2.6.191.6.2.1.2.5 = STRING: "/dev/hd1"
    SNMPv2-SMI::enterprises.2.6.191.6.2.1.2.6 = STRING: "/dev/hd11admin"
    SNMPv2-SMI::enterprises.2.6.191.6.2.1.2.7 = STRING: "/proc"
    SNMPv2-SMI::enterprises.2.6.191.6.2.1.2.8 = STRING: "/dev/hd10opt"
    
  9. Осталось не забыть указать порт 1610 в настройках хоста в Cacti. Это все.
VN:F [1.9.0_1079]
Rating: 0.0/10 (0 votes cast)
Категории:unix Метки:, , ,

Spam Protection by WP-SpamFree