Discussion:
Iets starten als een DHCP event op treed ?
(te oud om op te antwoorden)
Niels Basjes
2008-04-17 20:28:14 UTC
Permalink
Hallo,

Ik ben een beetje aan het klooien met een idee dat ik een tijd terug
had. Omdat te realiseren is het nodig dat op het moment dat er een IP
adres uitgedeeld wordt door de DHCP server (ik gebruik nu de 3.0.5 van
ISC want die zit standaard bij CentOS).

Ik heb een tijd geleden iets gemaakt door in de dhcpd.conf extra log
acties op te nemen en dan een stukje software dat het betere
'grep | xargs ' werk los laat op de /var/log/messages .

Mijn vraag: Kan het beter?

Is er een interface (OMAPI ?? ) die het mogelijk maakt een extern stukje
software een subscription te laten doen op wijzigingen / renewals / etc ??
--
Groeten,

Niels Basjes
Niels.Basjes.nl
Niels Basjes
2008-04-17 20:30:18 UTC
Permalink
[ Ik moet leren mijn zinnen af te maken ....]
Hallo,

Ik ben een beetje aan het klooien met een idee dat ik een tijd terug
had. Omdat te realiseren is het nodig dat op het moment dat er een IP
adres uitgedeeld wordt door de DHCP server (ik gebruik nu de 3.0.5 van
ISC want die zit standaard bij CentOS) een stukje software starten die
die gebeurtenis afhandelt.

Ik heb een tijd geleden iets gemaakt door in de dhcpd.conf extra log
acties op te nemen en dan een stukje software dat het betere
'grep | xargs ' werk los laat op de /var/log/messages .

Mijn vraag: Kan het beter?

Is er een interface (OMAPI ?? ) die het mogelijk maakt een extern stukje
software een subscription te laten doen op wijzigingen / renewals / etc ??
--
Groeten,

Niels Basjes
Niels.Basjes.nl
Hans
2008-04-18 18:43:36 UTC
Permalink
On Thu, 17 Apr 2008 22:30:18 +0200, Niels Basjes
Post by Niels Basjes
Mijn vraag: Kan het beter?
Is er een interface (OMAPI ?? ) die het mogelijk maakt een extern stukje
software een subscription te laten doen op wijzigingen / renewals / etc ??
Geen idee of het iets is maar wellicht heb je hier iets aan:

http://www.internetnews.com/dev-news/article.php/3586801

<quote>
a feature that is expected to debut in the 2.6.17 Linux kernel will make
it even easier to deal with disconnection/reconnection events. The most
current Linux kernel release is 2.6.15 with 2.6.16 currently at the
release candidate 4 stage.
</>

Hans
--
IM: ***@xs4all.nl
http://lonki.xs4all.nl
"" @jenp.punt.net>
2008-04-17 20:40:47 UTC
Permalink
"Niels Basjes"
Post by Niels Basjes
Hallo,
Ik ben een beetje aan het klooien met een idee dat ik een tijd terug had.
Omdat te realiseren is het nodig dat op het moment dat er een IP adres
uitgedeeld wordt door de DHCP server (ik gebruik nu de 3.0.5 van ISC want
die zit standaard bij CentOS).
Ik heb een tijd geleden iets gemaakt door in de dhcpd.conf extra log
acties op te nemen en dan een stukje software dat het betere
'grep | xargs ' werk los laat op de /var/log/messages .
Mijn vraag: Kan het beter?
Is er een interface (OMAPI ?? ) die het mogelijk maakt een extern stukje
software een subscription te laten doen op wijzigingen / renewals / etc ??
--
Groeten,
Niels Basjes
Niels.Basjes.nl
hallo Niels

ik ben zelf ook best wel aan het kloten met linux.
wel een heel andere verzie. namelik debian
en ik ben ook geen linux exper ver van zelfs.
maar een ding weet ik wel namelik dat ik uit uw berigt niet egt wijs word.
dus mijn vraag is wat u presies wil.
want wie weet heb ik tog wel een oplosing of iedee of sugesties of tips 2
weten tenslote altijd nog meer dan 1

groeten: peter

ps: sorrie voor mijn taal en schrijf fouten maar ik heb deceleksie
Niels Basjes
2008-04-17 21:03:34 UTC
Permalink
Post by "" @jenp.punt.net>
"Niels Basjes"
Post by Niels Basjes
Ik ben een beetje aan het klooien met een idee dat ik een tijd terug had.
Omdat te realiseren is het nodig dat op het moment dat er een IP adres
uitgedeeld wordt door de DHCP server (ik gebruik nu de 3.0.5 van ISC want
die zit standaard bij CentOS).
Ik heb een tijd geleden iets gemaakt door in de dhcpd.conf extra log
acties op te nemen en dan een stukje software dat het betere
'grep | xargs ' werk los laat op de /var/log/messages .
Mijn vraag: Kan het beter?
Is er een interface (OMAPI ?? ) die het mogelijk maakt een extern stukje
software een subscription te laten doen op wijzigingen / renewals / etc ??
ik ben zelf ook best wel aan het kloten met linux.
wel een heel andere verzie. namelik debian
en ik ben ook geen linux exper ver van zelfs.
maar een ding weet ik wel namelik dat ik uit uw berigt niet egt wijs word.
dus mijn vraag is wat u presies wil.
Ik wil een stuk software starten op het moment dat er iets door de DHCP
server wordt gedaan. Dat stukje software moet beschikken over een aantal
(alle?) attributen zoals MAC, IP, hostname, UUID, etc. welke op het
specifieke event slaan.
Post by "" @jenp.punt.net>
ps: sorrie voor mijn taal en schrijf fouten maar ik heb deceleksie
Ik heb spelling controle die rode golfjes laat zien (Thunderbird).
Daarmee beperk je het tot rare zinsbouw en dat valt het hier niemand op ;)
--
Groeten,

Niels Basjes
Niels.Basjes.nl
richard lucassen
2008-04-17 21:34:31 UTC
Permalink
On Thu, 17 Apr 2008 23:03:34 +0200
Niels Basjes
Post by Niels Basjes
Ik wil een stuk software starten op het moment dat er iets door de
DHCP server wordt gedaan. Dat stukje software moet beschikken over een
aantal (alle?) attributen zoals MAC, IP, hostname, UUID, etc. welke op
het specifieke event slaan.
Kun je niks met /var/lib/dhcp/dhcpd.leases? Je zou daar een fifo van
kunnen maken en dhcpd daar naartoe laten schrijven en die fifo weer
uitelezen met een script a la:

#!/bin/sh

while true
do
while read LINE
do
/path/naar/jouw/script/script ${LINE} </dev/null
done < /var/lib/dhcp/dhcpd.leases
done

Op het moment dat dhcpd iets wegschrijft wordt het door jouw script
gejast. The sky is the limit dan lijkt me zo ;-)
Post by Niels Basjes
Post by "" @jenp.punt.net>
ps: sorrie voor mijn taal en schrijf fouten maar ik heb deceleksie
Ik heb spelling controle die rode golfjes laat zien (Thunderbird).
Daarmee beperk je het tot rare zinsbouw en dat valt het hier niemand op ;)
Vallen spelfouten hier ueberhaupt op? ;-)
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
Niels Basjes
2008-04-18 14:22:22 UTC
Permalink
Richard,
Post by richard lucassen
Post by Niels Basjes
Ik wil een stuk software starten op het moment dat er iets door de
DHCP server wordt gedaan. Dat stukje software moet beschikken over een
aantal (alle?) attributen zoals MAC, IP, hostname, UUID, etc. welke op
het specifieke event slaan.
Kun je niks met /var/lib/dhcp/dhcpd.leases? Je zou daar een fifo van
kunnen maken en dhcpd daar naartoe laten schrijven en die fifo weer
#!/bin/sh
while true
do
while read LINE
do
/path/naar/jouw/script/script ${LINE} </dev/null
done < /var/lib/dhcp/dhcpd.leases
done
Op het moment dat dhcpd iets wegschrijft wordt het door jouw script
gejast. The sky is the limit dan lijkt me zo ;-)
Leuk idee !
Helaas staat in die file niet alles wat ik nodig heb. Ik ben o.a.
geïnteresseerd in het UUID dat met een PXE request door de client wordt
mee gestuurd. Daarbij komt dat op mijn systeem gebruik ik de LDAP patch
door Brian Masney en bij mij is de laatste update van de lease file van
gisteren avond. En dat terwijl er een aantal systemen 24x7 DHCP updates
vragen (blijkt ook uit /var/log/messages).

Ik kom dan toch weer op mijn 'daemon die een tail -f | grep | xargs'
doet op de logfile. Misschien is dat de 'enige' oplossing ?
--
Groeten,

Niels Basjes
Niels.Basjes.nl
richard lucassen
2008-04-18 14:53:57 UTC
Permalink
On Fri, 18 Apr 2008 16:22:22 +0200
Niels Basjes
Post by Niels Basjes
Post by richard lucassen
Op het moment dat dhcpd iets wegschrijft wordt het door jouw script
gejast. The sky is the limit dan lijkt me zo ;-)
Leuk idee !
Helaas staat in die file niet alles wat ik nodig heb. Ik ben o.a.
geïnteresseerd in het UUID dat met een PXE request door de client
wordt mee gestuurd. Daarbij komt dat op mijn systeem gebruik ik de
LDAP patch door Brian Masney en bij mij is de laatste update van de
lease file van gisteren avond. En dat terwijl er een aantal systemen
24x7 DHCP updates vragen (blijkt ook uit /var/log/messages).
Ik kom dan toch weer op mijn 'daemon die een tail -f | grep | xargs'
doet op de logfile. Misschien is dat de 'enige' oplossing ?
Met "dhcpd -d" kun je naar stdout laten schrijven. Met supervise van Dan
Bernstein [1] http://cr.yp.to/daemontools.html kun je "dhcpd -d" draaien
en die stdout via een fd naar /service/dhcpd/log/run laten schrijven,
waar je dan weer dat script in runt. Zo kun je eruit greppen wat je
wilt. Je kunt zelfs multilog met de "e" optie zowel naar disk als naar
stderr laten schrijven. Ook hier is de sky weer de limit ;-)

R.

[1] Jaja, ik weet het: het is een hork, maar zijn software is fraai en
ja, qmail is ook mooi maar te oud voor dit internet
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
Fred Mobach
2008-04-18 15:08:22 UTC
Permalink
Post by Niels Basjes
Helaas staat in die file niet alles wat ik nodig heb. Ik ben o.a.
geïnteresseerd in het UUID dat met een PXE request door de client
wordt mee gestuurd. Daarbij komt dat op mijn systeem gebruik ik de
LDAP patch door Brian Masney en bij mij is de laatste update van de
lease file van gisteren avond. En dat terwijl er een aantal systemen
24x7 DHCP updates vragen (blijkt ook uit /var/log/messages).
Ik kom dan toch weer op mijn 'daemon die een tail -f | grep | xargs'
doet op de logfile. Misschien is dat de 'enige' oplossing ?
Een hele aanpak kan ook :
- men neme de source,
- men zoeke waar de gewenste log meldingen worden uitgevoerd,
- op dat punt prop je de gewenste data naar een pipe ofzo
- jouw daemon leest netjes die pipe uit.
--
Fred Mobach - ***@mobach.nl - ***@mobach.nl
website : http://fred.mobach.nl
.... In God we trust ....
.. The rest we monitor ..
Aart Koelewijn
2008-04-18 18:27:51 UTC
Permalink
Post by Fred Mobach
Post by Niels Basjes
Helaas staat in die file niet alles wat ik nodig heb. Ik ben o.a.
geïnteresseerd in het UUID dat met een PXE request door de client wordt
mee gestuurd. Daarbij komt dat op mijn systeem gebruik ik de LDAP patch
door Brian Masney en bij mij is de laatste update van de lease file van
gisteren avond. En dat terwijl er een aantal systemen 24x7 DHCP updates
vragen (blijkt ook uit /var/log/messages).
Ik kom dan toch weer op mijn 'daemon die een tail -f | grep | xargs'
doet op de logfile. Misschien is dat de 'enige' oplossing ?
- men neme de source,
- men zoeke waar de gewenste log meldingen worden uitgevoerd, - op dat
punt prop je de gewenste data naar een pipe ofzo - jouw daemon leest
netjes die pipe uit.
Ik heb dit weleens op de volgende wijze gedaan:
veel programma's kennen een aantal debug levels, zoek het niveau dat het
beste met jouw wensen overeenkomt.

Pas dit niveau zo aan in de source dat je precies de informatie krijgt
die je wilt.

Start nu het programma in dat debug level. De debug output kun je b.v.
naar een pipe laten schrijven.

Deze wijze heb ik ooit gebruikt om dosemu zodanig aan te passen dat ik de
communicatie tussen een dos programma en een microprocessor kon loggen
waarna ik een perl programma kon schrijven waarmee ik alles wat in die
microprocessor gebeurde kon loggen. (Het dos programma gaf alleen
momentane waarden en kon niet loggen, de microprocessor gaf eens in de 2
a 3 weken een storing die er beslist uitmoest)
--
Aart
Fred Mobach
2008-04-18 19:39:07 UTC
Permalink
Post by Aart Koelewijn
Post by Fred Mobach
Post by Niels Basjes
Ik kom dan toch weer op mijn 'daemon die een tail -f | grep | xargs'
doet op de logfile. Misschien is dat de 'enige' oplossing ?
- men neme de source,
- men zoeke waar de gewenste log meldingen worden uitgevoerd, - op
dat punt prop je de gewenste data naar een pipe ofzo - jouw daemon
leest netjes die pipe uit.
veel programma's kennen een aantal debug levels, zoek het niveau dat
het beste met jouw wensen overeenkomt.
Pas dit niveau zo aan in de source dat je precies de informatie krijgt
die je wilt.
Dat werkt ook, maar ik ben liever lui dan moe. :-)

Het ging hier over DHCP. En als je ziet hoeveel logregels je moet
combineren om de gegevens van een enkele client bijeen te rapen kun je
gaan overwegen om :
- een goede parser te gaan bouwen, of
- een extra regel met alle benodigde gegevens uit te voeren.
Gegeven voldoende clients (met dooreen lopende logregels) is de laatste
optie redelijk aantrekkelijk.

Dat geldt trouwens niet alleen voor DHCP, onlangs kreeg ook OpenVPN hier
nog een behandeling.
--
Fred Mobach - ***@mobach.nl - ***@mobach.nl
website : http://fred.mobach.nl
.... In God we trust ....
.. The rest we monitor ..
Niels Basjes
2008-04-18 20:20:19 UTC
Permalink
Post by Fred Mobach
Post by Niels Basjes
Helaas staat in die file niet alles wat ik nodig heb. Ik ben o.a.
geïnteresseerd in het UUID dat met een PXE request door de client
wordt mee gestuurd. Daarbij komt dat op mijn systeem gebruik ik de
LDAP patch door Brian Masney en bij mij is de laatste update van de
lease file van gisteren avond. En dat terwijl er een aantal systemen
24x7 DHCP updates vragen (blijkt ook uit /var/log/messages).
Ik kom dan toch weer op mijn 'daemon die een tail -f | grep | xargs'
doet op de logfile. Misschien is dat de 'enige' oplossing ?
- men neme de source,
- men zoeke waar de gewenste log meldingen worden uitgevoerd,
- op dat punt prop je de gewenste data naar een pipe ofzo
- jouw daemon leest netjes die pipe uit.
Tsja, misschien heb ik te veel met subscription en notification achtige
systemen gewerkt waarbij je 'gewoon' een subscription neemt op de voor
jouw deel relevante events.
--
Groeten,

Niels Basjes
Niels.Basjes.nl
Jan Claeys
2008-04-18 22:21:53 UTC
Permalink
Post by Niels Basjes
ik ben zelf ook best wel aan het kloten met linux. wel een heel andere
verzie. namelik debian en ik ben ook geen linux exper ver van zelfs.
maar een ding weet ik wel namelik dat ik uit uw berigt niet egt wijs
word. dus mijn vraag is wat u presies wil.
Ik wil een stuk software starten op het moment dat er iets door de DHCP
server wordt gedaan. Dat stukje software moet beschikken over een aantal
(alle?) attributen zoals MAC, IP, hostname, UUID, etc. welke op het
specifieke event slaan.
In Debian heb je '/etc/dhcp3/dhclient-enter-hooks.d/' en '/etc/dhcp3/
dhclient-exit-hooks.d/', maar ik weet niet precies uit het hoofd hoe de
scripts in die directories de nodige info doorkrijgen.

Of anders zijn de gelijkaardige directories onder '/etc/network/'
misschien ook nuttig.

(Maar dat kan uiteraard allemaal verschillen per distro...)
--
JanC
Niels Basjes
2008-04-19 10:53:08 UTC
Permalink
Post by Jan Claeys
Post by Niels Basjes
ik ben zelf ook best wel aan het kloten met linux. wel een heel andere
verzie. namelik debian en ik ben ook geen linux exper ver van zelfs.
maar een ding weet ik wel namelik dat ik uit uw berigt niet egt wijs
word. dus mijn vraag is wat u presies wil.
Ik wil een stuk software starten op het moment dat er iets door de DHCP
server wordt gedaan. Dat stukje software moet beschikken over een aantal
(alle?) attributen zoals MAC, IP, hostname, UUID, etc. welke op het
specifieke event slaan.
In Debian heb je '/etc/dhcp3/dhclient-enter-hooks.d/' en '/etc/dhcp3/
dhclient-exit-hooks.d/', maar ik weet niet precies uit het hoofd hoe de
scripts in die directories de nodige info doorkrijgen.
Dat is precies wat ik wil.... aan de client kant.
Wat ik zoek is voor aan de server kant zodat het voor alle clients
werkt. Ook die nog bezig zijn hun OS te laden (b.v. PXE) of closed zijn
(b.v. Netwerk printer).
--
Groeten,

Niels Basjes
Niels.Basjes.nl
Loading...