The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"OpenNews: mini_snmpd - SNMP сервер в минималистичном исполне..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"OpenNews: mini_snmpd - SNMP сервер в минималистичном исполне..."  
Сообщение от opennews (??) on 29-Сен-08, 09:31 
Вышла (http://freshmeat.net/projects/minisnmpd/?branch_id=75988&rel...) первая полнофункциональная версия программы mini_snmpd (http://members.aon.at/linuxfreak/linux/mini_snmpd.html). Объем архива программы всего 28 Кб. В mini_snmpd реализована поддержка SNMP протокола версий 1 и  2c, например, поддерживаются операции get/getnext/getbulk, аутентификация по строке имени "community", допустима работа только в режиме чтения, имеется возможность отдачи системной статистики, касающейся состояния CPU, памяти, диска и сетевых интерфейсов.

Программа нацелена на использование в маломощных системах с ограниченными дисковыми и процессорными ресурсами (по заявлению разработчика mini_snmpd потребляет в 10 раз меньше ОЗУ по сравнению с net-snmp). Тем не менее, функциональности mini_snmpd вполне достаточно, для работы совместно с большинством популярных систем мониторинга.

URL: http://freshmeat.net/projects/minisnmpd/?branch_id=75988&rel...
Новость: http://www.opennet.me/opennews/art.shtml?num=18152

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "mini_snmpd - SNMP сервер в минималистичном исполнении"  
Сообщение от _Kuzmich email(??) on 29-Сен-08, 09:31 
Спрошу про net-snmp:
На роутере есть несколько gre интерфесов, так вот, если один из них, например gre1 положить, а потом снова поднять, индекс в snmp у него увеличивается, т.е. если был 4, станет, например 11. Статистика в кактусе, естественно уплывет.
Как на роутере жёстко привязать имена интерфейсов к номерам snmp ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "mini_snmpd - SNMP сервер в минималистичном исполнении"  
Сообщение от uldus (ok) on 29-Сен-08, 10:59 
>Спрошу про net-snmp:
>На роутере есть несколько gre интерфесов, так вот, если один из них,
>например gre1 положить, а потом снова поднять, индекс в snmp у
>него увеличивается, т.е. если был 4, станет, например 11. Статистика в
>кактусе, естественно уплывет.
>Как на роутере жёстко привязать имена интерфейсов к номерам snmp ?

Каждый раз придется номер индекса вычислять по символьной маске. В mrtg, например, для такого преобразования нужно указать \имя_интерфейса:комьюнити@сервер (\ppp0:public@gw.test.ru)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "mini_snmpd - SNMP сервер в минималистичном исполнении"  
Сообщение от gentoouser on 30-Сен-08, 17:16 
может быть велосипед, жду критики и предложений - но я делаю вот так (далее почему именно так):
цель: отдавать по снмп данные по трафику со всем интерфейсов (более 100 вланов)

1) выбираем данные по трафику
после работы с снмп пришел к выводу что заставить его не менять индекс интерфейса проблемматично - далее снимал данные с фаервола (минус - много ненужных правил)
теперь собираю из /proc/net/dev. Сразу оговарюсь почему программа спит и выбор идет 2 раза - все дело в том что трафик считается покругу (32 бита), и при превышении предела 4294967296 байт секунду на конец минуты счетчик уже пойдет 2й круг
ну и пускаем по крону с интервалом в 1 минуту

#!/bin/bash
sleep 28
IFS="
"
i=0
statfile=(`cat /proc/net/dev | grep "[0-9]:"`)
while true
    do
    if [ ${statfile[$i]} ]
        then
            line=`echo ${statfile[$i]}| sed 's/:/ /g'`
            interface=`echo $line | awk {'print $1'}`
            indata1=`echo $line | awk {'print $2'}`
            outdata1=`echo $line | awk {'print $10'}`
#           if [ ! -f /etc/snmp/scr/db/$interface ]
#              then echo "0 0 0 0" > /etc/snmp/scr/db/$interface
#           fi
            intline=`cat /etc/snmp/scr/db/$interface`
            indata0=`echo $intline | awk {'print $2'}`
            outdata0=`echo $intline | awk {'print $4'}`

            if [ $indata0 -le $indata1 ]
                then indata=`expr $indata1 - $indata0`
                else indata=`expr 4294967296 - $indata0 + $indata1`
            fi
            if [ $outdata0 -le $outdata1 ]
                then outdata=`expr $outdata1 - $outdata0`
                else outdata=`expr 4294967296 - $outdata0 + $outdata1`
            fi
            outline[$i]=`echo "$indata $indata1 $outdata $outdata1"`
            i=`expr $i + 1`
        else
            break
    fi
    done
sleep 30
i=0
statfile=(`cat /proc/net/dev | grep "[0-9]:"`)
while true
    do
    if [ ${statfile[$i]} ]
        then
            line=`echo ${statfile[$i]}| sed 's/:/ /g'`
            interface=`echo $line | awk {'print $1'}`
            indata1=`echo $line | awk {'print $2'}`
            outdata1=`echo $line | awk {'print $10'}`
            indata=`echo ${outline[$i]}| awk {'print $1'} `
            indata0=`echo ${outline[$i]}| awk {'print $2'} `
            outdata=`echo ${outline[$i]}| awk {'print $3'} `
            outdata0=`echo ${outline[$i]}| awk {'print $4'} `
            if [ $indata0 -le $indata1 ]
                then indata=`expr $indata + $indata1 - $indata0`
                else indata=`expr 4294967296 - $indata0 + $indata1 + $indata`
            fi
            if [ $outdata0 -le $outdata1 ]
                then outdata=`expr $outdata + $outdata1 - $outdata0`
                else outdata=`expr 4294967296 - $outdata0 + $outdata1 + $outdata`
            fi
            echo "$indata $indata1 $outdata $outdata1" > /etc/snmp/scr/db/$interface
            i=`expr $i + 1`
        else
            break
    fi
    done
exit 0


2) бросаем данные в снмп
- в качестве параметра быдем отдовать название интерфейсы

#!/bin/bash
ARGS=1;
intline=`cat /etc/snmp/scr/db/$1`
indata=`echo $intline | awk {'print $1'}`
outdata=`echo $intline | awk {'print $3'}`
echo "$indata $outdata"
exit 0

3) описываем интерфейсы в снмп
для етого в snmpd.conf придется описать нужные интерфейсы
exec eth0     /etc/snmp/scr/net_stat_cat eth0             # 1
exec eth1     /etc/snmp/scr/net_stat_cat eth1             # 2
exec eth2     /etc/snmp/scr/net_stat_cat eth2             # 3
и т.д

4) и в удаленном месте дергаем
разбираем кладем в rrd - вобщем что кому надо

/usr/local/bin/snmpget -v1 -c public IP extOutput.1
/usr/local/bin/snmpget -v1 -c public IP extOutput.2
/usr/local/bin/snmpget -v1 -c public IP extOutput.3

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "mini_snmpd - SNMP сервер в минималистичном исполнении"  
Сообщение от gentoouser on 01-Окт-08, 18:11 
grep "4294967296 байт секунду"| sed 's/секунду/минуту/g'
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "mini_snmpd - SNMP сервер в минималистичном исполнении"  
Сообщение от avector on 29-Сен-08, 10:21 
Никак. Снимать нужно по именам интерфейсам, а не по номерам.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "mini_snmpd - SNMP сервер в минималистичном исполнении"  
Сообщение от Zamir email(??) on 29-Сен-08, 10:38 
а я считаю это большой проблемой
у меня крутиться vpn сервер pptp на 1000 абонентов
1) net-snmp не удаляет индекс старого интерфейса
2) индекс ppp интерфейсов приближается к бесконечности

возникшие проблемы:
1) cacti отваливается по timeout, так с учётом не удалившихся индексов в snmp (если его не перезапускать) могут накопиться сотни тысяч записей О ЯКОБЫ СУЩЕСТВУЮЩИХ ИНТЕРФЕЙСАХ
2) mrtg начитает ужасно долго собирать статистику если указать сбор по имени интерфейса или ip адресу (не по индексу) и при этом генерить много трафика, так в таком случаи он сначала запрашивает информацию О ВСЕХ сотнях тысяч интерфейсов

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "mini_snmpd - SNMP сервер в минималистичном исполнении"  
Сообщение от weec email(??) on 29-Сен-08, 14:11 
>В настоящее время поддерживается только платформа Linux, пользователям BSD систем рекомендуется обратить внимание на проект bsnmpd.

Begemot идет в базовой поставке с FreeBSD

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру