23 Feb 2020
Mit Nagios überprüfen, ob alle Samba-Prozesse laufen
Wenn mann den Samba-Server in der Version 4.10 verwendet, will man vielleicht überwachen, ob noch alle nötigen Prozesse laufen. Diese kann man mit dem folgenden Nagios-Plugin tun, dass ich schnell geschrieben habe.
Anzeigen der Samba-Prozesse auf der Konsole:
root@server:~# samba-tool processes
Service: PID
--------------------------------------
cldap_server 2250
dnsupdate 2256
dreplsrv 2252
kccsrv 2255
kdc_server 2251
ldap_server 2249
ldap_server 2816
notify-daemon 2715
rpc_server 2245
samba 1366
winbind_server 2258
wrepl_server 2247
Code zu check_samba_processes unten betrachten, kopieren oder einfach hier downloaden check_samba_processes
#!/usr/bin/perl
#
# nagios plugin to check if
# all wanted samba-processes are still running
# by chrissie/x-tra-designs 2020-02-23
# free beer license
# feel free to modify and use in any way
#
use strict;
use warnings;
# get processes
open(my $fh, '-|', 'samba-tool processes') or die $!;
# capture output
my @o = <$fh>;
# debug
#foreach $o (@o) {
# print "$o";
#}
my $patterns = join(',',@o);
my $count = 0;
my @missing;
my $m_flg=0;
# look for this 11 processes
for my $str (qw(cldap_server dnsupdate dreplsrv kccsrv kdc_server ldap_server notify-daemon rpc_server samba winbind_server wrepl_server)) {
my $test = grep { /$str/ } @o;
if ($test) { $count++ } else { push (@missing, $str); $m_flg = 1; };
}
#debug
#print "count $count";
my $datestring = localtime();
print "Date and Time $datestring | ";
if ($m_flg == 0) { print "OK - all samba processes are running.\n"; exit(0); }
if ($m_flg == 1) { print "CRITICAL - Process @missing is not running\n"; exit(2); }