Munin plugint probalok irni ami lekerdezne egyik nyomtatom allapotat SNMP-n keresztül az alap SNMP lekerdezo pluginok amit munin-node-configure-snmp configol abban van irva.
SNMPWALK al siman letudom kerdezni, mar kiprobalgattam melyik OID kene nekem :
snmpwalk -v 1 -c public 192.168.1.91 1.3.6.1.2.1.43.10.2.1.4
Ez szepen ki is dobja a kivant erteket :
SNMPv2-SMI::mib-2.43.10.2.1.4.1.1 = Counter32: 177136
Viszont a perl kodom vlmi hibat dob :
use Net::SNMP;
# requires a hostname and a community string as its arguments
($session,$error) = Net::SNMP->session(Hostname => $ARGV[0],
Community => $ARGV[1]);
die "session error: $error" unless ($session);
$result = $session->get_request("1.3.6.1.2.1.43.10.2.1.4");
die "request error: ".$session->error unless (defined $result);
$session->close;
print "Disk Percent 1: ".$result->{"1.3.6.1.2.1.43.10.2.1.4"}."\n";
Ezt irja :
request error: Received noSuchName(2) error-status at error-index 1 at ./proba line 10.
A PERL a default etch, azaz 5.8.8
- 1803 megtekintés
Hozzászólások
a kod az jo, "1.3.6.1.2.1.43.10.2.1.4" ezzel nem stimmel vmi :P
- A hozzászóláshoz be kell jelentkezni
akkor SNMPWALK al miert mukodik ?
- A hozzászóláshoz be kell jelentkezni
SNMPv2-SMI::mib-2.43.10.2.1.4.1.1 = Counter32: 177136
snmp ezt irja neked
te meg ezt irod lekerdezesbe:
1.3.6.1.2.1.43.10.2.1.4.
nem biztos, hogy ez a hiba de azert nezd meg
- A hozzászóláshoz be kell jelentkezni
oszinten szolva nem ertek annyira SNMP meg MIB meg ilyesmikhez ennyire
viszont ha megnezed akkor snmpwalk nak azt a parametert adom meg amit perl kodban is irtam.
Aza masik szam az valahogy az OID egy resz csak amit nyomtato ad vissza SNMP keresre valaszkent, tehat
"snmpwalk -v 1 -c public 192.168.1.91 1.3.6.1.2.1.43.10.2.1.4"
az utolsó paraméter az OID, azt adtam perl nek is.
Természetesen probaltam azt a masik szamot is megadni de azzal semmi nem adott normalis kimenetet.
Workaround kent most megirtam bash+awk+snmpwalk al a munin plugint, de valsz perl gyorsabb lenne.
- A hozzászóláshoz be kell jelentkezni
pedig a hibauzenet azt jelzi, hogy vmi az oidel nemjo
- A hozzászóláshoz be kell jelentkezni
Te SNMP get et használsz és nem walk-ot. Ha megy a get parancssorból utána gondolkozzál mi a baj.
- A hozzászóláshoz be kell jelentkezni
Értem....
snmpget -v 1 -c public 192.168.1.91 1.3.6.1.2.1.43.10.2.1.4
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: SNMPv2-SMI::mib-2.43.10.2.1.4
De akkor hogyan tudom kideriteni hogy :
"SNMPv2-SMI::mib-2.43.10.2.1.4.1.1 = Counter32: 177170"
Ennek mennyi az OID je ? vagy GET el ezt hogyan tudom lekeredzni ?
- A hozzászóláshoz be kell jelentkezni
Ennek mennyi az OID-je?
Hát ott van, ennyi: SNMPv2-SMI::mib-2.43.10.2.1.4.1.1
-On kapcsolóval el tudod tüntenti a szöveges nevet, ezzel numerikusan fogja kiírni...
1.3.6.1.2.1.43.10.2.1.4.1.1-et keresed...
- A hozzászóláshoz be kell jelentkezni
koszonom segitseget, holnap kiprobalom...
- A hozzászóláshoz be kell jelentkezni
OT, de ha tudod, hogy ezt kell lekérdezned, akkor elárulod nekem, hogy ez minek az OID-ja? (Mert a kódodból úgy tűnik, valami hálózati nyomtató háttértárának mérete/szabad területe, és az én nyomtatómnak is van ilyene, de háttértára aztán nincsen :-) )
- A hozzászóláshoz be kell jelentkezni
Hát lehet hogy szabvány szerint ez az, viszont ez 1 brother 6050DN nyomtato, megneztem webes feluleten mennyi a nyomtatott oldal szam.
Aztan fogtam SNMPWALK ot es addig maszkaltam benne, valtoztatgatva kicsit az OID kodot amig meg nem kaptam azt a szamot.
Szoval en a nyomtatott oldalak szamat kerestem.
- A hozzászóláshoz be kell jelentkezni
Köszi az infót, nálam is úgy tűnik, hogy stimmel. Legalábbis én is azt kapom a nyomtató webes felületén amit ez a lekérdezés ad ("Engine page count: XXX" a weboldalon a válasz. Már csak azt kéne tudni, ez pontosan mit is jelent, mert eddig már 2x volt cserélve a fekete toner (5000-s!) és egyszer a henger, ami meg elvben 20000, de tény, hogy elképesztő ütemben csökken az az érték, amit én eddig a hátralevő oldalak számaként értelmeztem.)
- A hozzászóláshoz be kell jelentkezni
kicist dolgozni kell vele de ki lehet deriteni mit, hol ad vissza SNMP ben:
snmpwalk -v 1 -c public 192.168.1.91
Aztán az itt kapott értékek kozul kikeresgeled hogy melyik kell neked.
Ha van valami webes/GUI-s feluleted a nyomtato fele ott megtudod pl. nezni mi mennyi eppen, es arra GREP elsz elozo prg kimeneten.
- A hozzászóláshoz be kell jelentkezni
Köszi, ezen túl vagyok. Pont ilyen snmpwalk-kal jottem ra a különböző tonereim "elvi" telítettségére, de tekintettel arra, hogy a beépített web-felület katasztrofálisan használhatatlanul kevés infót adott vissza, nem tűnt fel benne ez a konkrét (és kb egyetlen használható) érték. (Az én nyomtatóm csak kb 5 baromira kicicomázott színes/rajzos állapotoldal kinyomtatásával képes pl. azt az infót kiadni, hogy mennyire vannak tele a tonerjei - a weben ez nem látszik :-( )
- A hozzászóláshoz be kell jelentkezni
Valoban, csak man-t kellett volna olvasni -On kapcsoloval az snmpwalk kiirja a talalt OID ket, es tenyleg az amit irtal.
Igy mar jo is :
#!/usr/bin/perl
use Net::SNMP;
# requires a hostname and a community string as its arguments
($session,$error) = Net::SNMP->session(Hostname => $ARGV[0],Community => $ARGV[1]);
die "session error: $error" unless ($session);
$result = $session->get_request(".1.3.6.1.2.1.43.10.2.1.4.1.1");
die "request error: ".$session->error unless (defined $result);
$session->close;
print "Nyomtatott oldalak : ".$result->{".1.3.6.1.2.1.43.10.2.1.4.1.1"}."\n";
- A hozzászóláshoz be kell jelentkezni
A perl-es megoldas piciket gyorsabb, es ez kozel sem elhanyagolhato mivel ez egy munin plugin lesz:
Perl
real 0m0.647s
user 0m0.128s
sys 0m0.016s
real 0m0.303s
user 0m0.120s
sys 0m0.016s
real 0m0.509s
user 0m0.120s
sys 0m0.012s
Bash+snmpwalk (regi megoldasom :)
real 0m0.998s
user 0m0.248s
sys 0m0.016s
real 0m0.951s
user 0m0.228s
sys 0m0.032s
real 0m0.963s
user 0m0.208s
sys 0m0.056s
Köszönöm a segítséget....
- A hozzászóláshoz be kell jelentkezni
Pottyentsd mar oda a topic cimebe lecci, hogy megoldva...
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni