Системный софт, сервисы и утилиты под BSD/UNIX: демоны, вспомогательные службы, админские инструменты.
Модераторы: alexco, GRooVE
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
CarTer
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-04-21 8:46:47
Непрочитанное сообщение
CarTer » 2011-02-26 10:37:51
Всем доброе время суток!
Встала задача снимать с сервера авторизации количество поднятых ng интерфейсов и отображать все это дело в cacti.
Был написан скрипт, который выводит количество интерфейсов:
ng_iface.sh
Код: Выделить всё
#!/bin/sh
ifconfig | grep 'ng' | grep 'UP' -c
В snmpd.conf добавлена следующая строчка:
Код: Выделить всё
extend-sh .1.3.6.1.4.1.2021.8 ng_iface /scripts/ng_iface.sh
Так вот при опросе этого oid'а выводится информация в кавычках с типом STRING
[root@PPPoE-Srv-1 /home/antony]# snmpwalk -v2c -c kisskiss localhost .1.3.6.1.4.1.2021.8
Код: Выделить всё
UCD-SNMP-MIB::extEntry.0 = INTEGER: 1
UCD-SNMP-MIB::extTable.2.1.2.8.110.103.95.105.102.97.99.101 = STRING: "/scripts/ng_iface.sh"
UCD-SNMP-MIB::extTable.2.1.3.8.110.103.95.105.102.97.99.101 = ""
UCD-SNMP-MIB::extTable.2.1.4.8.110.103.95.105.102.97.99.101 = ""
UCD-SNMP-MIB::extTable.2.1.5.8.110.103.95.105.102.97.99.101 = INTEGER: 5
UCD-SNMP-MIB::extTable.2.1.6.8.110.103.95.105.102.97.99.101 = INTEGER: 2
UCD-SNMP-MIB::extTable.2.1.7.8.110.103.95.105.102.97.99.101 = INTEGER: 1
UCD-SNMP-MIB::extTable.2.1.20.8.110.103.95.105.102.97.99.101 = INTEGER: 4
UCD-SNMP-MIB::extTable.2.1.21.8.110.103.95.105.102.97.99.101 = INTEGER: 1
UCD-SNMP-MIB::extTable.3.1.1.8.110.103.95.105.102.97.99.101 = STRING: "369"
UCD-SNMP-MIB::extTable.3.1.2.8.110.103.95.105.102.97.99.101 = STRING: "369"
UCD-SNMP-MIB::extTable.3.1.3.8.110.103.95.105.102.97.99.101 = INTEGER: 1
UCD-SNMP-MIB::extTable.3.1.4.8.110.103.95.105.102.97.99.101 = INTEGER: 0
UCD-SNMP-MIB::extTable.4.1.2.8.110.103.95.105.102.97.99.101.1 = STRING: "369"
Возможно ли сделать, чтобы вывод этого параметра был без кавычек с типом INTEGER?
CarTer
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Капитан
- рядовой
- Сообщения: 31
- Зарегистрирован: 2011-01-27 15:15:12
Непрочитанное сообщение
Капитан » 2011-02-26 13:59:00
shell работает только с типом string
для преобразования используйте конструкцию типа:
expr ' '
Капитан
-
CarTer
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-04-21 8:46:47
Непрочитанное сообщение
CarTer » 2011-02-26 21:48:31
Можно по подробней (пример) как преобразовать из string в integer. Желательно на моем скрипте.
CarTer
-
CarTer
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-04-21 8:46:47
Непрочитанное сообщение
CarTer » 2011-02-27 8:14:11
Попробовал в snmpd.conf прописать extend .1.3.6.1.4.1.2021.8 ng_iface /bin/expr 25, все равно при опросе выдает
Код: Выделить всё
UCD-SNMP-MIB::extEntry.0 = INTEGER: 1
UCD-SNMP-MIB::extTable.2.1.2.8.110.103.95.105.102.97.99.101 = STRING: "/bin/expr"
UCD-SNMP-MIB::extTable.2.1.3.8.110.103.95.105.102.97.99.101 = STRING: "'25'"
UCD-SNMP-MIB::extTable.2.1.4.8.110.103.95.105.102.97.99.101 = ""
UCD-SNMP-MIB::extTable.2.1.5.8.110.103.95.105.102.97.99.101 = INTEGER: 5
UCD-SNMP-MIB::extTable.2.1.6.8.110.103.95.105.102.97.99.101 = INTEGER: 1
UCD-SNMP-MIB::extTable.2.1.7.8.110.103.95.105.102.97.99.101 = INTEGER: 1
UCD-SNMP-MIB::extTable.2.1.20.8.110.103.95.105.102.97.99.101 = INTEGER: 4
UCD-SNMP-MIB::extTable.2.1.21.8.110.103.95.105.102.97.99.101 = INTEGER: 1
UCD-SNMP-MIB::extTable.3.1.1.8.110.103.95.105.102.97.99.101 = STRING: "25"
UCD-SNMP-MIB::extTable.3.1.2.8.110.103.95.105.102.97.99.101 = STRING: "25"
UCD-SNMP-MIB::extTable.3.1.3.8.110.103.95.105.102.97.99.101 = INTEGER: 1
UCD-SNMP-MIB::extTable.3.1.4.8.110.103.95.105.102.97.99.101 = INTEGER: 0
UCD-SNMP-MIB::extTable.4.1.2.8.110.103.95.105.102.97.99.101.1 = STRING: "25"
CarTer
-
CarTer
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-04-21 8:46:47
Непрочитанное сообщение
CarTer » 2011-02-28 22:10:41
Столько тем про установку cacti и прикручиванию скриптов, и ни кто не может толком объяснить как прикрутить скрипт (какие параметры он должен выдавать и в каком формате, для snmp 5.5) к snmp по средством функции extend, так чтобы он обрабатывался в cacti.
Люди добрые помогите!!!
CarTer
-
rmn
- старшина
- Сообщения: 427
- Зарегистрирован: 2008-10-03 18:52:02
Непрочитанное сообщение
rmn » 2011-02-28 22:42:30
CarTer писал(а):Столько тем про установку cacti и прикручиванию скриптов, и ни кто не может толком объяснить как прикрутить скрипт (какие параметры он должен выдавать и в каком формате, для snmp 5.5) к snmp по средством функции extend, так чтобы он обрабатывался в cacti.
Люди добрые помогите!!!
видимо, у тебя уникальная машина. У меня на любой стринги выдаются без кавычек. snmp ставится, как зависимость к php52:
Код: Выделить всё
gw1# pkg_info | grep snmp
net-snmp-5.5_4 An extendable SNMP implementation
php52-snmp-5.2.17 The snmp shared extension for php
может вместо
extend заюзать
exec, если мой пьяный мосг правильно понял, о чем речь?
Код: Выделить всё
gw1# cat /usr/local/share/snmp/snmpd.conf | grep exec
# exec NAME PROGRAM [ARGS ...]
exec echotest /bin/echo hello world
exec online_users /usr/local/freebit/get_online
exec in_packet_size /usr/local/freebit/get_packet_size in
exec out_packet_size /usr/local/freebit/get_packet_size out
exec nat_sessions /usr/local/freebit/get_nat_sessions
rmn
-
CarTer
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2008-04-21 8:46:47
Непрочитанное сообщение
CarTer » 2011-03-01 14:31:24
Большое спасибо за функцию exec, именно с ней данные выдаются без кавычек, хотя тип остался STRING
Есть предположение что скрипты написанные на bash всегда выдает все данные с типом STRING.
Есть ли возможность выложить какой-нибудь рабочий простой скрипт для обработки какти со строчкой применения в snmpd.conf
CarTer