snmp+внешний скрипт+cacti

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
CarTer
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-04-21 8:46:47

snmp+внешний скрипт+cacti

Непрочитанное сообщение 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?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.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

Re: snmp+внешний скрипт+cacti

Непрочитанное сообщение Капитан » 2011-02-26 13:59:00

shell работает только с типом string
для преобразования используйте конструкцию типа:
expr ' '

CarTer
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-04-21 8:46:47

Re: snmp+внешний скрипт+cacti

Непрочитанное сообщение CarTer » 2011-02-26 21:48:31

Можно по подробней (пример) как преобразовать из string в integer. Желательно на моем скрипте.

Аватара пользователя
Капитан
рядовой
Сообщения: 31
Зарегистрирован: 2011-01-27 15:15:12

Re: snmp+внешний скрипт+cacti

Непрочитанное сообщение Капитан » 2011-02-27 0:26:35

попробуйте
'ifconfig | grep ng | grep UP -c'

CarTer
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-04-21 8:46:47

Re: snmp+внешний скрипт+cacti

Непрочитанное сообщение 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
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-04-21 8:46:47

Re: snmp+внешний скрипт+cacti

Непрочитанное сообщение CarTer » 2011-02-28 22:10:41

Столько тем про установку cacti и прикручиванию скриптов, и ни кто не может толком объяснить как прикрутить скрипт (какие параметры он должен выдавать и в каком формате, для snmp 5.5) к snmp по средством функции extend, так чтобы он обрабатывался в cacti.
Люди добрые помогите!!!

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: snmp+внешний скрипт+cacti

Непрочитанное сообщение 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

CarTer
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-04-21 8:46:47

Re: snmp+внешний скрипт+cacti

Непрочитанное сообщение CarTer » 2011-03-01 14:31:24

Большое спасибо за функцию exec, именно с ней данные выдаются без кавычек, хотя тип остался STRING
Есть предположение что скрипты написанные на bash всегда выдает все данные с типом STRING.
Есть ли возможность выложить какой-нибудь рабочий простой скрипт для обработки какти со строчкой применения в snmpd.conf