Код IT Загрузка примера кода…

Bash main.sh
#!/bin/bash
REDIS_CLI="redis-cli -u redis://appuser:Str0ngP@ss@127.0.0.1:6379"

# Проверка доступности
if ! $REDIS_CLI PING | grep -q "PONG"; then
  echo "CRITICAL: Redis не отвечает"
  exit 2
fi

# Проверка памяти
USED_MB=$($REDIS_CLI INFO memory | grep used_memory_human | cut -d: -f2 | sed 's/M.*//')
MAX_MB=512

if (( $(echo "$USED_MB > $MAX_MB * 0.9" | bc -l) )); then
  echo "WARNING: Память Redis заполнена на >90% ($USED_MB MB / $MAX_MB MB)"
  exit 1
fi

# Проверка hit rate
HITS=$($REDIS_CLI INFO stats | grep keyspace_hits | cut -d: -f2)
MISSES=$($REDIS_CLI INFO stats | grep keyspace_misses | cut -d: -f2)
TOTAL=$((HITS + MISSES))

if [ $TOTAL -gt 0 ]; then
  HIT_RATE=$(echo "scale=2; $HITS / $TOTAL * 100" | bc)
  echo "OK: Hit rate = ${HIT_RATE}%, Memory = ${USED_MB} MB"
else
  echo "OK: Нет запросов, Memory = ${USED_MB} MB"
fi
exit 0
#!/bin/bash
REDIS_CLI="redis-cli -u redis://appuser:Str0ngP@ss@127.0.0.1:6379"

# Проверка доступности
if ! $REDIS_CLI PING | grep -q "PONG"; then
  echo "CRITICAL: Redis не отвечает"
  exit 2
fi

# Проверка памяти
USED_MB=$($REDIS_CLI INFO memory | grep used_memory_human | cut -d: -f2 | sed 's/M.*//')
MAX_MB=512

if (( $(echo "$USED_MB > $MAX_MB * 0.9" | bc -l) )); then
  echo "WARNING: Память Redis заполнена на >90% ($USED_MB MB / $MAX_MB MB)"
  exit 1
fi

# Проверка hit rate
HITS=$($REDIS_CLI INFO stats | grep keyspace_hits | cut -d: -f2)
MISSES=$($REDIS_CLI INFO stats | grep keyspace_misses | cut -d: -f2)
TOTAL=$((HITS + MISSES))

if [ $TOTAL -gt 0 ]; then
  HIT_RATE=$(echo "scale=2; $HITS / $TOTAL * 100" | bc)
  echo "OK: Hit rate = ${HIT_RATE}%, Memory = ${USED_MB} MB"
else
  echo "OK: Нет запросов, Memory = ${USED_MB} MB"
fi
exit 0