Elementanzahl in SMB Share

Es soll ein Check auf Filecount implementiert werden. Auf dem abzufragenden Server kann jedoch kein check_mk Agent installiert werden. Es kann jedoch mit User / Passwort / Domain auf einen UNC-Pfad zugegriffen werden. Um die Dateianzahl darüber zu ermittelt habe ich das kleine check_smb_count.sh Plugin geschrieben (/opt/omd/versions/default/lib/nagios/plugins/check_smb_count.sh):

#!/bin/bash 
# 
# Check count of lines for smbclient 
# 
# smbclient //host/share SecretPassword  -U Username -W Domainname -c ls | wc -l 
# Domain=[DOMAIN] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1] 
# 18 
# 
# (c) 2018 Steffen Berg 
#  
server="host" 
share="share1" 
user="user1" 
password="secret" 
domain="WORKGROUP" 
critical="20" 
subdir="/subdir1/subdir2/*"  

elemcountraw=`smbclient //$server/$share $password -U $user -W $domain -c "ls $subdir" 2> /dev/null | wc -l` 

elemcount=$(($elemcountraw - 4))  

if [ "$elemcount" -lt "$critical" ] then   
echo "0 SMB-ElementCount - OK SMB-ElementCount $elemcount/$critical OK"
  exit 0 
else   echo "2 SMB-ElementCount - CRITICAL SMB-ElementCount $elemcount/$critical CRIT"
  exit 2 
fi

Einbindung über /omd/sites/<site>/etc/check_mk/conf.d/legacy.mk

# Definition of the Nagios command for SMB extra_nagios_conf += r""" define command {   command_name check_smb_count   command_line /opt/omd/versions/default/lib/nagios/plugins/check_smb_count.sh } """  # Create service definition legacy_checks += [   (( "check_smb_count", "ElementCountSMB", True), [ "host" ] ), ]