Skip to content

OpenSearch — алерт при достижении high disk watermark

OpenSearch на 85 % диска (high watermark) — индексы переходят в read-only, write-API ломается. Нужно поймать раньше, а не когда уже 95 % (flood-stage).

Рецепт

bash
#!/usr/bin/env bash
# /etc/cron.d/os-disk
# */5 * * * * root /opt/os-disk.sh

URL=${OS_URL:-http://localhost:9200}
THRESH=${THRESH:-80}                # alert above 80 % usage

DATA=$(curl -fsS "$URL/_cat/allocation?format=json" \
  | jq -r '.[] | select(.node != "UNASSIGNED") | [.node, .["disk.percent"]] | @tsv')

OVER=0
echo "$DATA" | while IFS=$'\t' read NODE PCT; do
  if [ "${PCT%.*}" -gt "$THRESH" ]; then
    OVER=$((OVER + 1))
    echo "node $NODE @ ${PCT}%"
  fi
done

if [ "$OVER" -gt 0 ]; then
  curl -fsS "$HEARTBEAT_URL" --data "disk_over=$OVER,threshold=$THRESH"
  exit 2
fi
echo "OK (all nodes below ${THRESH}%)"

То же самое в Enterno.io

Заверните в Enterno heartbeat — увидите retention 30 дней по disk-percent и шаблоны деградации (например рост на 1 % в час), которые подскажут когда планировать апгрейд.

Настроить HTTP monitor → ← Все рецепты

Похожие рецепты