[Ubuntu] Achterhaal welk script een daemon start.

Pagina: 1
Acties:

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 11:21
Ik heb een Ubuntu 10.10 server waarop Nagios draait.
Als deze server reboot, dan word er een nsca daemon gestart die op poort 5677 draait.
Echter de nsca daemon die gestart wordt gebruikt niet de juiste configuratie.
Nu probeer ik te achterhalen wie of wat deze daemon start zodat ik de configuratie of het script kan aanpassen.
En ik kom er maar niet achter hoe de daemon gestart word.

Wat heb ik gedaan:
Uiteraard de documentatie van Nagios bekeken. Hierin word gemeld dat als men de nsca plugin toevoegd je het script via inetd of xinetd kan opstarten.
Zowel initd.conf als xinetd.conf bestaan niet in /etc
Verder heb ik gekeken of er iets in /etc/rc5.d staat, of in /etc/init.d
niks...

In /etc/init.d vind ik wel een Groundwork script wat Nagios opstart., maar dat script verwijst weer naar een script in /usr/local/groundwork/ctlscript.sh
En dat ctlscript.sh start weer een aantal scripts op.
Uiteraard heb ik al die scripts doorlopen, maar nergens kom ik tegen hoe nsca wordt opgestart.

Ja, in /proc/pid#/cmdline kan ik zien hoe de daemon start, maar dan weet ik niet wie het heeft geinitieerd.
Wie o wie kan mij een beetje verder helpen, want ik zie het even niet meer.

The best thing about UDP jokes is that I don't care if you get them or not.


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 05-10 22:09

Hero of Time

Moderator LNX

There is only one Legend

Als je weet hoe de daemon start, kan je er ook op zoeken. Maar waarom zoeken naar de plek waar de daemon start, ipv de configuratie van de daemon zoeken? Heeft veel meer effect. Zou normaal in /etc moeten staan, maar je kan natuurlijk ook in Nagios kijken voor hoe of wat.

Had je zelf al wat via Google gevonden?

Commandline FTW | Tweakt met mate


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

xinetd deamons staan in /etc/xinetd.d.
Daar staat mogelijk een file die de daemon on-demand start

Heeft het proces een PPID?
ps -ef | grep <naam>

Move desnoods de executable, dan zie je tijdens het starten vanzelf welke daemon failed :)
Als er niks failed, is het waarschijnlijk een xinetd daemon.

We are pentium of borg. Division is futile. You will be approximated.


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 11:21
Hero Of Time schreef op donderdag 15 september 2011 @ 20:59:
Als je weet hoe de daemon start, kan je er ook op zoeken. Maar waarom zoeken naar de plek waar de daemon start, ipv de configuratie van de daemon zoeken? Heeft veel meer effect. Zou normaal in /etc moeten staan, maar je kan natuurlijk ook in Nagios kijken voor hoe of wat.

Had je zelf al wat via Google gevonden?
Ik weet hoe de daemon start (via cmdline in /proc/pid#) maar ik weet niet wie of wat die commandline initieert.
Als ik dat weet, dan kan ik de argumenten die meegegeven worden aanpassen.

The best thing about UDP jokes is that I don't care if you get them or not.


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 11:21
Rainmaker schreef op donderdag 15 september 2011 @ 21:58:
xinetd deamons staan in /etc/xinetd.d.
Daar staat mogelijk een file die de daemon on-demand start

Heeft het proces een PPID?
ps -ef | grep <naam>

Move desnoods de executable, dan zie je tijdens het starten vanzelf welke daemon failed :)
Als er niks failed, is het waarschijnlijk een xinetd daemon.
/etc/xinetd.d bestaat helaas niet.
Ja, proces heeft een ppid. Nagios.bin, maar waar ik ook zoek in de .cfg files en .sh scripts, nergens vind ik de regel die als argument staat in /proc/pid#/cmdline

The best thing about UDP jokes is that I don't care if you get them or not.


  • lamko
  • Registratie: December 2001
  • Laatst online: 20-10-2024
En een grep over de script map of etc naar de specifieke argumenten leverd ook niks op ?

And this !! Is to go even further beyond!!!


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 05-10 22:09

Hero of Time

Moderator LNX

There is only one Legend

Remco schreef op donderdag 15 september 2011 @ 22:27:
[...]
Ik weet hoe de daemon start (via cmdline in /proc/pid#) maar ik weet niet wie of wat die commandline initieert.
Als ik dat weet, dan kan ik de argumenten die meegegeven worden aanpassen.
lamko schreef op donderdag 15 september 2011 @ 22:51:
En een grep over de script map of etc naar de specifieke argumenten leverd ook niks op ?
code:
1
grep -R "zoek wat je wilt" /waar/je/wilt/



Overigens, lijst met bestanden uit dat package, gevonden op http://packages.ubuntu.com/natty/amd64/nsca/filelist:
/etc/init.d/nsca
/etc/nsca.cfg
/etc/send_nsca.cfg

/usr/sbin/nsca
/usr/sbin/send_nsca
/usr/share/doc/nsca/NEWS.Debian.gz
/usr/share/doc/nsca/README.Debian
/usr/share/doc/nsca/README.gz
/usr/share/doc/nsca/changelog.Debian.gz
/usr/share/doc/nsca/copyright
/usr/share/doc/nsca/examples/nsca.xinetd
/usr/share/lintian/overrides/nsca
/usr/share/man/man1/nsca.1.gz
/usr/share/man/man1/send_nsca.1.gz
Die eerste 3 lijken toch wel redelijk belangrijk. Twee config files, een init.d script.

[ Voor 35% gewijzigd door Hero of Time op 15-09-2011 23:57 . Reden: file list toegevoegd ]

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 11:21
Hero Of Time schreef op donderdag 15 september 2011 @ 23:38:
Die eerste 3 lijken toch wel redelijk belangrijk. Twee config files, een init.d script.
Klopt, maar helaas staan ze niet op die locatie maar in; /usr/local/groundwork/nagios/etc
Ik zal morgen eens met een grep op die argumenten zoeken. Had ik nog niet aan gedacht.

The best thing about UDP jokes is that I don't care if you get them or not.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 05-10 22:09

Hero of Time

Moderator LNX

There is only one Legend

Snippet van /etc/nsca.cfg:
code:
1
2
3
4
5
# PORT NUMBER
# Port number we should wait for connections on.
# This must be a non-priveledged port (i.e. > 1024).

server_port=5667

Duidelijk toch? Het staat dus in de nsca.cfg die bij jou blijkbaar in /usr/local/ground/nagios/etc staat.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 11:21
Ja, dat is vrij duidelijk, maar niet wat ik bedoel.
Als ik de server boot, dan start automatisch de nsca daemon, en ook op de juiste poort.
Als ik nu in de cmdline van het proces kijk, dan zie ik dit staan:
code:
1
/usr/local/groundwork/nagios/bin/.nagios.bin-d/usr/local/groundwork/nagios/etc/nagios.cfg

Maar op één of andere vreemde reden werkt nsca dan niet.
Als ik het proces kill, en nsca handmatig opstart dan werkt het wel. De handmatig opgestart nsca geeft een cmdline van:
code:
1
/usr/local/groundwork/common/bin/nsca-s-c/usr/local/groundwork/common/etc/nsca.cfg

Een duidelijk verschil dus.

Ik wil dus:
1. configuratie van de nsca aanpassen die automatisch opstart.
of
2. uitvinden hoe de nsca wordt opgestart zodat ik deze opstartregel kan aanpassen naar de juiste.

Wat betreft 1.:
Ik heb alle .cfg en bestanden met nsca erin bekeken, en ik zie geen foutieve configuratie in die bestanden. De poorten kloppen, als ook de commandfile parameter.
Dus ik weet niet welke configuratie er gebruikt wordt.
Je zou denken dat er dan informatie mist uit de nagios.cfg. Maar ik heb nog een server waarop het wel goed werkt. Ik heb deze nagios.cfg's met elkaar vergeleken, en ze zijn gelijk.

En betreft 2.:
Waar ik in deze thread dus naar op zoek ben: Wie of wat start nu die nsca daemon op. Ik kan het nergens terugvinden.

The best thing about UDP jokes is that I don't care if you get them or not.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 05-10 22:09

Hero of Time

Moderator LNX

There is only one Legend

Hmm, tja, in zo'n geval is het zoeken hoe je Nagios precies geïnstalleerd hebt. Pas dan kan je gaan traceren hoe 't start. Voor hetzelfde geld staat er ergens in een crontab van een gebruiker de start parameter achter @boot oid. Die kan je vinden in /var/spool/cron. Of wordt het via Apache gestart als module oid.

Commandline FTW | Tweakt met mate


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 02-10 22:42

CAPSLOCK2000

zie teletekst pagina 888

Remco schreef op donderdag 15 september 2011 @ 17:37:
Ik heb een Ubuntu 10.10 server waarop Nagios draait.

In /etc/init.d vind ik wel een Groundwork script wat Nagios opstart., maar dat script verwijst weer naar een script in /usr/local/groundwork/ctlscript.sh
En dat ctlscript.sh start weer een aantal scripts op.
Uiteraard heb ik al die scripts doorlopen, maar nergens kom ik tegen hoe nsca wordt opgestart.
Hoe heb je Nagios geinstalleerd ? Groundwork zegt me helemaal niks. Google suggereert me dat het een extern product is. Zit het zo in Ubuntu of heb je het met de hand geinstalleerd?
Als het inderdaad een latere toevoeging is, dan is het maar moeilijk om te raden waar het boeltje gestart wordt. Het script uit /etc/init.d volgen lijkt mij ook de beste oplossing.

Overigens kan het goed dat de commandline wordt samengesteld en dat greppen op het volledige commando je dus niks gaat opleveren.

This post is warranted for the full amount you paid me for it.

Pagina: 1