Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[Java] Welk SNMP Framework/api gebruiken

Pagina: 1
Acties:

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Mensen,

Ik moet een aantal waardes monitoren (doormiddel van polling) van de infra structuur in een Java applicatie. Humidity, Temperature, Heartbeat etc.

Nu ben ik zelf vrij in de keuze welk framework of tool ik hiervoor wil gebruiken. Na enkele dingen afgespeurd te hebben zie ik door de bomen het bos niet meer.

Ik heb verschillende dingen gelezen en bekeken. Zo ben ik uitgekomen op SNMP4J, heb de Java Management Extensions SNMP Manager API Guide gelezen en gekeken naar de Java DMK.

Nu moet ik eerlijk zeggen dat ik niet begrijp welke delen ik precies nodig heb. Nogmaals het gaat om het opvragen van bekende zaken en ik vermoed dus dat dit al eens, VEEL beter dan ik het kan doen, door iemand gedaan is. Is er al een framework (hoeft niet gratis) die dit soort dingen doet en makkelijk te integreren is in een bestaand systeem.

Op zich ben ik ook erg geholpen met ervaringen van bovenstaande frameworks. Note bij dit alles is wel dat ik geen ervaring heb met SNMP. Hoop dat jullie mij kunnen / willen helpen.

Be fast .... Be furious....


  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 22:42
Gezien jouw omschrijving van de meetgegevens gaat het om allerlei sensor apparatuur, correct?
Zijn de meetgegevens zelf al bekend binnen de applicatie of moet jij juist de sensoren uitlezen?
Als dat zo is dan is Oracle's Sensor Edge Server een goede optie. Dat pakket wordt geleverd met een hele sloot drivers voor allerlei meetapparatuur en kan events op allerlei manier ontsluiten, via HTTP, JMS, Web Services (SOAP) wat je wilt.

[ Voor 8% gewijzigd door Kwistnix op 29-07-2008 20:27 ]


  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Het gaat gewoon om variabelen (als dat het juiste woord is) die gespecificeerd staan in de MIB.

De waardes moeten verkregen worden door polling of door het afvangen van traps het moet dus via SNMP.

Dit moet er grofweg gebeuren in mijn opinie:

Omzetten MIB --> Mbean? (iig object representatie)
Pollen/ontvangen van de parameter cq trap.
Indien ontvangen vergelijken met waarde Mbean (welke het is) en alarm op het scherm geven.
Indien pollen gebruik maken van de Mbean waarde bekijken indien x dan alarm op het scherm.

Komt waarde voor van bijvoorbeeld de temp op 75 dan gaat er of een SNMP trap uit of het wordt continue opgevraagd. de agent/manger (weet niet precies welke ik nou moet hebben) merkt dit en geeft een alarm. (groen/rood vlakje op een scherm)

Nu zit ik met het feit dat er zoveel zit in die frameworks dat ik niet meer zie wat ik precies nodig heb. Het lijkt mij nogal minimaal wat er noodzakelijk is.

Dingen die ik op ga vragen zijn:

Hardbeat (switches ed)
van een APC --> Humidity, Smoke, Temp en nog wat waardes.

Be fast .... Be furious....


  • LAN
  • Registratie: Oktober 2000
  • Niet online

LAN

Klink me bekend in de oren. Jaren geleden heb ik eens zo'n systeem gemaakt maar dan in een andere taal.

Wat SNMP betreft komt het op hetzelfde neer.
- Als het apparaat wat je wilt monitoren SNMP ondersteunt (er zit een SNMP agent in) dan moet je de MIB voor dat apparaat bemachtigen. Daarin staan alle parameters die uitgevraagd kunnen worden (dmv van die . notatie, 1.5.2.45.6 = Heartbeat etc)
- Identificeer alle codes die je wilt uitlezen.
- Gebruik je tooling om de actuele waarde van die code uit te lezen op het betreffende apparaat.
- En vervolgens kun je allerlei processen hierop los laten: opslaan, controle tegen een drempelwaarde, mail versturen, etc.

Wat betreft de library SNMP4j, lees eens http://www.snmp4j.org/doc/index.html?org/snmp4j/Snmp.html daar staat denk ik wel in wat je nodig hebt.
Zowiezo is de API van een library een bron van informatie, dus lezen (:

[ Voor 22% gewijzigd door LAN op 30-07-2008 14:00 ]


  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Ik heb de api al doorgelezen. Waar ik het meeste moeite mee hebt is het precies identificeren van de benodigde classes en interfaces. Het komt bij mij over als een overkill voor een simpele taak. Vandaar dat ik hier ook een hulp lijntje post;)

Be fast .... Be furious....


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Bl4ckviper schreef op woensdag 30 juli 2008 @ 14:41:
Ik heb de api al doorgelezen. Waar ik het meeste moeite mee hebt is het precies identificeren van de benodigde classes en interfaces. Het komt bij mij over als een overkill voor een simpele taak. Vandaar dat ik hier ook een hulp lijntje post;)
:? Ik zie 4 classes? Peer, Parameters, SNMP Session en SNMP Request. Da's toch geen rocketscience? Ik kan je zonder het lezen van de docs nog wel voorspellen waar ze voor dienen...
Maar ik denk dat het verstandig(er) is als je je gewoon even verdiept in de materie (SNMP in dit geval) voordat je aan 't devven slaat.

[ Voor 11% gewijzigd door RobIII op 30-07-2008 14:55 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • ari3
  • Registratie: Augustus 2002
  • Niet online
Het Log4j framework wordt geleverd met een SNMP-appender. Hiermee kun de applicatie zelf berichten naar de SNMP-server laten overbrengen. Desnoods doe je dit met een scheduler die periodiek alles polt en naar de SNMP-server logt. Mischien is dit wel iets?

"Kill one man, and you are a murderer. Kill millions of men, and you are a conqueror. Kill them all, and you are a god." -- Jean Rostand


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
ari3 schreef op woensdag 30 juli 2008 @ 15:59:
Het Log4j framework wordt geleverd met een SNMP-appender. Hiermee kun de applicatie zelf berichten naar de SNMP-server laten overbrengen. Desnoods doe je dit met een scheduler die periodiek alles polt en naar de SNMP-server logt. Mischien is dit wel iets?
Ik zie het verband niet :?
Bl4ckviper schreef op dinsdag 29 juli 2008 @ 15:14:
Ik moet een aantal waardes monitoren (doormiddel van polling) van de infra structuur in een Java applicatie. Humidity, Temperature, Heartbeat etc.
Het gaat over monitoren, niet loggen.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • ari3
  • Registratie: Augustus 2002
  • Niet online
RobIII schreef op woensdag 30 juli 2008 @ 16:01:
[...]

Ik zie het verband niet :?

[...]

Het gaat over monitoren, niet loggen.
Je laat gewoon de Java applicatie zichzelf monitoren en de meetgegevens naar de SMNP-server sturen. Dat is net andersom als de TS het verteld, maar net zo effectief en waarschijnlijk eenvoudiger te implementeren.

"Kill one man, and you are a murderer. Kill millions of men, and you are a conqueror. Kill them all, and you are a god." -- Jean Rostand


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
ari3 schreef op woensdag 30 juli 2008 @ 16:04:
[...]
Je laat gewoon de Java applicatie zichzelf monitoren en de meetgegevens naar de SMNP-server sturen. Dat is net andersom als de TS het verteld, maar net zo effectief en waarschijnlijk eenvoudiger te implementeren.
Ah, het kwartje valt nu; het is maar hoe je de TS interpreteert:
Bl4ckviper schreef op dinsdag 29 juli 2008 @ 15:14:
Ik moet een aantal waardes monitoren ... in een Java applicatie.etc.
Ik lees dat hij "ergens" van de waardes moet monitoren, "met" een Java app.
En jij leest dat hij in een Java app waardes heeft die gemonitord moeten kunnen worden.

Toch?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Ik moet inderdaad elders de waardes monitoren vanuit de applicatie niet waardes die in de applicatie of JVM zitten.

Betreft dat verdiepen dat moet dus snel want de deadline komt dichterbij (ja heb deze opdracht ook erg laat gekregen)

Heb het inmiddels voor elkaar met snmp4j een PDU uit te kunnen sturen. Ik mis nu echter alleen iets die een repsonse kan nadoen om te kijken of ik ook met de juiste OID iets terug krijg.

Be fast .... Be furious....


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Bl4ckviper schreef op donderdag 31 juli 2008 @ 10:13:
Betreft dat verdiepen dat moet dus snel want de deadline komt dichterbij (ja heb deze opdracht ook erg laat gekregen)
With all due respect, daar hebben wij natuurlijk niets mee te schaften; omdat je krap tegen een deadline aan zit gaan wij echt niet harder rennen of meer voorkauwen. We hebben zelf ook deadlines ;)
Daarbij moet je dat dan gewoon aankaarten bij je leidinggevende.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • LAN
  • Registratie: Oktober 2000
  • Niet online

LAN

Het ligt er even aan wat je precies wilt doen met de meetgegevens, maar is het een idee om een off-the-shelf pakket te kopen?
Dit soort technologie is al behoorlijk uitgekauwd. Er zijn genoeg commerciele tools die een hoop kunnen. (Bijv intergratie met SMS services zodat je een SMSje krijgt als een harde schijf uitvalt, of als de airco in de serverruimte oververhit raakt)
Als je dit soort functionaliteit zelf gaat bouwen ben je waarschijnlijk duurder uit en heb je te maken met het hele traject om van nieuwe/buggy software naar volwassen software te komen (kan duur zijn).

Als je de SNMP monitoring strak wilt integreren met een bestaand systeem dan wordt het verhaal iets anders maar ook nog het overwegen waard.

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
RobIII schreef op donderdag 31 juli 2008 @ 11:40:
[...]

With all due respect, daar hebben wij natuurlijk niets mee te schaften; omdat je krap tegen een deadline aan zit gaan wij echt niet harder rennen of meer voorkauwen. We hebben zelf ook deadlines ;)
Daarbij moet je dat dan gewoon aankaarten bij je leidinggevende.
Nee klopt ;) Ik vroeg toch ook niet om voorgekauwde zaken :D code request is tegen de policy ;)

Enige wat ik wil weten zijn ervaringen en misschien duwtje in de juiste richting met noodzakelijke dingen .

Be fast .... Be furious....


  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
LAN schreef op donderdag 31 juli 2008 @ 11:52:
Het ligt er even aan wat je precies wilt doen met de meetgegevens, maar is het een idee om een off-the-shelf pakket te kopen?
Dit soort technologie is al behoorlijk uitgekauwd. Er zijn genoeg commerciele tools die een hoop kunnen. (Bijv intergratie met SMS services zodat je een SMSje krijgt als een harde schijf uitvalt, of als de airco in de serverruimte oververhit raakt)
Als je dit soort functionaliteit zelf gaat bouwen ben je waarschijnlijk duurder uit en heb je te maken met het hele traject om van nieuwe/buggy software naar volwassen software te komen (kan duur zijn).

Als je de SNMP monitoring strak wilt integreren met een bestaand systeem dan wordt het verhaal iets anders maar ook nog het overwegen waard.
Ik heb er naar gekeken maar het punt is dat het maar om een paar vars gaat. En het moet binnen een bestaande applicatie komen. het mooiste zou zijn als er wat was wat simpelweg gewoon te hangen is aan de applicatie.

Be fast .... Be furious....

Pagina: 1