HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //lib/check_mk_agent/local/status_lshttpd
#!/bin/bash

SERVICE="lshttpd"

# 1. STATUS CHECK
if systemctl is-active --quiet "$SERVICE"; then
    STATE=0
    MSG_STATUS="RUNNING"
else
    STATE=2
    MSG_STATUS="NOT RUNNING"
fi

# 2. CPU Usage (%)
CPU=$(ps -C lshttpd -o %cpu --no-headers 2>/dev/null | awk '{sum+=$1} END {print sum}')
CPU=${CPU:-0}

# 3. RAM Usage (MB)
RAM=$(ps -C lshttpd -o rss --no-headers 2>/dev/null | awk '{sum+=$1} END {print int(sum/1024)}')
RAM=${RAM:-0}

# 4. CONNECTION count (port 80 / fallback 443)
CONN=$(ss -tn sport = :80 2>/dev/null | wc -l)
if [ "$CONN" -eq 0 ]; then
    CONN=$(ss -tn sport = :443 2>/dev/null | wc -l)
fi

# 5. UPTIME (seconds)
UPTIME_RAW=$(systemctl show lshttpd -p ActiveEnterTimestamp | awk -F'= ' '{print $2}')
if [ -n "$UPTIME_RAW" ]; then
    UPTIME_TS=$(date -d "$UPTIME_RAW" +%s 2>/dev/null)
    NOW=$(date +%s)
    UPTIME=$((NOW - UPTIME_TS))
else
    UPTIME=0
fi

# 6. RPS (DISABLED NOW - set static 0 for fallback)
RPS=0

# OUTPUT FORMAT FOR CHECKMK LOCAL CHECK WITH THRESHOLDS
# CPU Warning >80%, Critical >95%
# RAM Warning >400MB, CRIT left empty (can be set via GUI rule override)
# CONN Warning >200, Critical >250

echo "$STATE Status_Litespeed rps=${RPS};;;; cpu=${CPU}%;80;95;0;100 ram_mb=${RAM}MB;400;; conn=${CONN};2000;2500;; uptime=${UPTIME}s - LiteSpeed $MSG_STATUS | RPS=$RPS CPU=$CPU RAM_MB=$RAM CONN=$CONN UPTIME=$UPTIME"