W dniu 2010-03-14 02:09, Andrzej Banach pisze:
Witam; Tworze statystyki pobierane przez snmp ze switchy blokowych. Kazdy klient jest przydzielony do okreslonego portu okreslonego switcha. Utknalem na skrypcie wykonujacym rrdupdate. Dla ulatwienia dane pobieram tylko ze switcha o id=204. Pliki rrd juz sa wygenerowane w postaci id-urzadzenia_port-switcha (w moim przykladzie to bedzie 204_1.rrd, 204_2.rrd itd.
########script_parser############ #!/bin/bash rrdupdate="/usr/bin/rrdupdate" home="/home/rrd" haslo_snmp="haslo"
{result = SELECT netdev, port FROM nodes}\ {for (r=0; r<number(result); r++)}\ {if ( result[r].netdev == 204 )}\
$rrdupdate $home'/{result[r].netdev}_{result[r].port}.rrd' N:`snmpget -v 1 -c $haslo_snmp -Oqv 192.168.15.15 IF-MIB::ifInOctets.{result[r].port}`:`snmpget -v 1 -c snmp_public -Oqv 192.168.15.15 IF-MIB::ifOutOctets.{result[r].port}`
{/if}\ {/for}\ #################################
Teraz pytanie - jak zamienic adres ip 192.168.15.15 na pobrany z bazy (urzadzenie sieciowe o id tozsamym z result[r].netdev). Kombinuje juz jak kon pod gore, ale nie wychodzi cos mi to :(
pozdrawiam
inet_ntoa() zwraca adres z bazy nodes.netdev to id netdevices.id