mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-19 07:23:06 +01:00
Fixup logic
This commit is contained in:
@@ -17,14 +17,23 @@ query() {
|
|||||||
|
|
||||||
STATS=$(query "ruleset-stats")
|
STATS=$(query "ruleset-stats")
|
||||||
RELOAD=$(query "ruleset-reload-time")
|
RELOAD=$(query "ruleset-reload-time")
|
||||||
|
[ -z "$RELOAD" ] && RELOAD='{}'
|
||||||
|
|
||||||
if echo "$STATS" | jq -e '.return == "OK"' > /dev/null 2>&1; then
|
# Outputs valid JSON on success, empty on failure
|
||||||
LOADED=$(echo "$STATS" | jq -r '.message[0].rules_loaded')
|
OUTPUT=$(jq -n \
|
||||||
FAILED=$(echo "$STATS" | jq -r '.message[0].rules_failed')
|
--argjson stats "$STATS" \
|
||||||
LAST_RELOAD=$(echo "$RELOAD" | jq -r '.message[0].last_reload')
|
--argjson reload "$RELOAD" \
|
||||||
|
'if $stats.return == "OK" and ($stats.message[0].rules_loaded | type) == "number" and ($stats.message[0].rules_failed | type) == "number" then
|
||||||
|
{
|
||||||
|
rules_loaded: $stats.message[0].rules_loaded,
|
||||||
|
rules_failed: $stats.message[0].rules_failed,
|
||||||
|
last_reload: ($reload.message[0].last_reload // ""),
|
||||||
|
return: "OK"
|
||||||
|
}
|
||||||
|
else empty end' 2>/dev/null)
|
||||||
|
|
||||||
jq -n --argjson loaded "$LOADED" --argjson failed "$FAILED" --arg reload "$LAST_RELOAD" \
|
if [ -n "$OUTPUT" ]; then
|
||||||
'{rules_loaded: $loaded, rules_failed: $failed, last_reload: $reload, return: "OK"}' > "$OUTFILE"
|
echo "$OUTPUT" > "$OUTFILE"
|
||||||
else
|
else
|
||||||
echo '{"return":"FAIL"}' > "$OUTFILE"
|
echo '{"return":"FAIL"}' > "$OUTFILE"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -18,11 +18,15 @@ if [[ ! "`pidof -x $(basename $0) -o %PPID`" ]]; then
|
|||||||
if [ -f "$STATSFILE" ] && [ $(($(date +%s) - $(stat -c %Y "$STATSFILE"))) -lt 90 ] && jq -e '.return == "OK" and .rules_loaded != null and .rules_failed != null' "$STATSFILE" > /dev/null 2>&1; then
|
if [ -f "$STATSFILE" ] && [ $(($(date +%s) - $(stat -c %Y "$STATSFILE"))) -lt 90 ] && jq -e '.return == "OK" and .rules_loaded != null and .rules_failed != null' "$STATSFILE" > /dev/null 2>&1; then
|
||||||
LOADED=$(jq -r '.rules_loaded' "$STATSFILE")
|
LOADED=$(jq -r '.rules_loaded' "$STATSFILE")
|
||||||
FAILED=$(jq -r '.rules_failed' "$STATSFILE")
|
FAILED=$(jq -r '.rules_failed' "$STATSFILE")
|
||||||
RELOAD_TIME=$(jq -r '.last_reload // ""' "$STATSFILE")
|
RELOAD_TIME=$(jq -r 'if .last_reload then .last_reload else "" end' "$STATSFILE")
|
||||||
|
|
||||||
echo "surirules loaded=${LOADED}i,failed=${FAILED}i,reload_time=\"${RELOAD_TIME}\",status=\"ok\""
|
if [ -n "$RELOAD_TIME" ]; then
|
||||||
|
echo "surirules loaded=${LOADED}i,failed=${FAILED}i,reload_time=\"${RELOAD_TIME}\",status=\"ok\""
|
||||||
|
else
|
||||||
|
echo "surirules loaded=${LOADED}i,failed=${FAILED}i,status=\"ok\""
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "surirules loaded=0i,failed=0i,reload_time=\"\",status=\"unknown\""
|
echo "surirules loaded=0i,failed=0i,status=\"unknown\""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user