puppet herstart daemon niet na config change

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Hoihoi

Ik heb wat raars met puppet, het ip van mijn nagios machine is veranderd dus moet ik de nrpe config op mijn puppet-clients aangepast hebben zodat deze de nieuwe nagios machine allowen.
Prima, change gemaakt in nrpe.cfg die via puppet wordt geserveerd.
Als ik nu puppet draai op mijn webserver:
root@www:~# puppet agent --test 
info: Caching catalog for www
info: Applying configuration version '1325897985'
notice: /Stage[main]/Denyhosts/Service[denyhosts]/ensure: is stopped, should be running (noop)
notice: /Stage[main]/Nrpe/Service[nagios-nrpe-server]/ensure: is stopped, should be running (noop)
notice: /Stage[main]/Munin-node/Service[munin-node]/ensure: is stopped, should be running (noop)
notice: Finished catalog run in 0.89 seconds
root@www:~# 
Top.


Als ik nu echter check lijkt nrpe niet herstart; ik kan geen requests ernaar doen en mijn IP wordt geweigerd. Herstart ik NRPE daarna met de hand dan werkt dat. Conclusie: de puppet run heeft NRPE niet herstart.

Mijn recipe:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class nrpe {
    package { 'nagios-nrpe-server':
      ensure => present,
      before => File['/etc/nagios/nrpe.cfg'],
    }

   file { "/etc/nagios/nrpe.cfg":
        owner   => root,
        group   => root,
        mode    => 600,
    ensure  => file,
        source  => "puppet:///modules/nrpe/nrpe.cfg"
    }

    service { 'nagios-nrpe-server':
      ensure     => running,
      enable     => true,
      hasrestart => true,
      hasstatus  => true,
      # FYI, those last two attributes default to false, since
      # bad init scripts are more or less endemic.
      subscribe  => File['/etc/nagios/nrpe.cfg'],
    }
}

Het grappige is dat de nrpe.cfg wel goed gesynced is.
Op zich is de service netjes op de config gesubscribed... en ook zowel initscript als config bestaat:
code:
1
2
3
4
root@www:~# ls -al /etc/nagios/nrpe.cfg
-rw------- 1 root root 8463 Jan  7 01:28 /etc/nagios/nrpe.cfg
root@www:~# ls -al /etc/init.d/nagios-nrpe-server
-rwxr-xr-x 1 root root 1913 Sep  4  2009 /etc/init.d/nagios-nrpe-server


Weet iemand wat hier fout gaat?

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

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

CAPSLOCK2000

zie teletekst pagina 888

Puppet heeft een '--noop' modes. Ik zie 'noop' in je output staan, dus misschien is dat je probleem.

Controleer of de 'status' en 'restart' commando's van het nagios initscript ook echt werken. Kijk niet alleen naar de tekst-output maar ook naar de exit-code. Het commentaar in je config staat daar niet voor niets. In mijn eigen config negeer ik het nagios-nrpe-server initscript en doe ik alles met de hand. Ik heb net de versie die nu in Debian Unstable gezit en die lijkt goed te zijn. YMMV.

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


Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 09:53

Kees

Serveradmin / BOFH / DoC
Voer puppet eens uit met 'puppet agent --debug --verbose --no-daemonize'

Verder zie ik inderdaad noop, dus dan doet hij weinig. Verder heb ik inderdaad ook erg vaak meegemaakt dat (voornamelijk) de status volledig bogus is (omdat het init script eindigt met exit 0 om maar iets te noemen). Hierdoor raakt puppet in de war en moet hij hem checken in ps -ef, en het kan zijn dat je daar een aparte pattern voor moet opgeven.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Ik heb de noop en de zonder-noop gedraaid en even creatief gecopy-paste zie ik :P.
Maw: hij is ook zonder noop gedraaid dus dat zou het niet moeten zijn.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
root@www:~# /etc/init.d/nagios-nrpe-server stop
Stopping nagios-nrpe: nagios-nrpe.
root@www:~# echo  $?
0
root@www:~# /etc/init.d/nagios-nrpe-server start
Starting nagios-nrpe: nagios-nrpe.
root@www:~# echo  $?
0
root@www:~# /etc/init.d/nagios-nrpe-server restart
Stopping nagios-nrpe: nagios-nrpe.
Starting nagios-nrpe: nagios-nrpe.
root@www:~# echo  $?
0
root@www:~# /etc/init.d/nagios-nrpe-server foo
Usage: {start|stop|restart|reload|force-reload} ... failed!
root@www:~# echo  $?
1

Return values; zien er prima de bima uit.... maar het nagios-nrpe-server script heeft geen status mogelijkheid.

Hoe zouden jullie dit doen? Ik snap wat je wil met ps -ef maar zie niet in hoe ik dat in puppet moet hangen. Alternatief is het zelf in het initscript hacken en dat initscript dan maar via puppet deployen. Betekent dat ik w el weer iets meer moet maintainen :/.

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • Freestyler87
  • Registratie: November 2005
  • Laatst online: 03-10 19:29
Kan je geen gebruik maken van notify, dan krijg je zoiets:
code:
1
2
3
4
5
6
7
8
file { "/etc/nagios/nrpe.cfg":
        owner   => root,
        group   => root,
        mode    => 600,
        ensure  => file,
        notify  => Service["nagios-nrpe-server"],
        source  => "puppet:///modules/nrpe/nrpe.cfg"
    }

Dan weet puppet dat de service herstart moet worden.

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 09:53

Kees

Serveradmin / BOFH / DoC
Boudewijn schreef op zaterdag 07 januari 2012 @ 15:21:
Return values; zien er prima de bima uit.... maar het nagios-nrpe-server script heeft geen status mogelijkheid.
Geen status mogelijkheid, maar je hebt wel 'hasstatus => true' in je recipe staan. Dus voert hij uit: /etc/init.d.nrpe status. Op basis van de returncode zal hij dan verschillende dingen doen:
0 = running = restart
1 = not running = start

Maar start mislukt, want de service draait al.

Dus hasstatus => false, en eventueel pattern => "nagios-blabla" erin zetten. Met hasstatus => false zal hij de output van ps -ef greppen op het pattern (of de name van de service als je geen pattern gezet hebt)

[ Voor 12% gewijzigd door Kees op 07-01-2012 15:52 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
@Kees;
Copy-paste programming faal. Slecht, dank voor de tip :).
Freestyler87 schreef op zaterdag 07 januari 2012 @ 15:44:
Kan je geen gebruik maken van notify, dan krijg je zoiets:
code:
1
2
3
4
5
6
7
8
file { "/etc/nagios/nrpe.cfg":
        owner   => root,
        group   => root,
        mode    => 600,
        ensure  => file,
        notify  => Service["nagios-nrpe-server"],
        source  => "puppet:///modules/nrpe/nrpe.cfg"
    }

Dan weet puppet dat de service herstart moet worden.
Klopt, maar volgens mij zou de subscribe exact datzelfde (maar dan de andere kant op) ook al moeten doen, toch?

i3 + moederbord + geheugen kopen?

Pagina: 1