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" ] ), ] |