HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //lib64/nagios/plugins/check_sssd
#!/bin/bash
# check_sssd on EL6+
# Requirements:
# Author: Tsvetan Gerov <tsvetan@worldhost.group>
# Version 0.2

# Initialize flags and error message
CRITICAL=false
WARNING=false
ERROR_MESSAGE=""

if [ -f "/etc/redhat-release" ]; then
        OSRELEASE=$(cat /etc/redhat-release  | tr -dc '0-9.'|cut -d \. -f1)
else
        OSRELEASE="0"
fi

check_sssd() {
    if [ "$OSRELEASE" -eq 6 ]; then
        if [ ! -f "/etc/init.d/sssd" ]; then
            CRITICAL=true
            ERROR_MESSAGE+="sssd service is missing, "
        else
            if ! /etc/init.d/sssd status >/dev/null 2>&1; then
                CRITICAL=true
                ERROR_MESSAGE+="sssd is down, "
            fi
        fi
    else
        if [ ! -f "/usr/lib/systemd/system/sssd.service" ]; then
            CRITICAL=true
            ERROR_MESSAGE+="sssd service is missing, "
        else
            if ! systemctl is-active sssd.service >/dev/null 2>&1; then
                CRITICAL=true
                ERROR_MESSAGE+="sssd is down, "
            fi
        fi
    fi
}

# Perform checks
check_sssd

# Return final state
if [ "$CRITICAL" = true ]; then
    echo "[CRITICAL] ${ERROR_MESSAGE%, }"
    exit 2
elif [ "$WARNING" = true ]; then
    echo "[WARNING] ${ERROR_MESSAGE%, }"
    exit 1
else
    echo "[OK] All LDAP services are running correctly."
    exit 0
fi