#!/bin/sh
set -eu

# Tworzy nowa baze RRD dla ts3monolith, jesli jeszcze nie istnieje. Uzyj tego
# przy swiezej instalacji (brak starego pliku z archiwum). Uruchom jako
# uzytkownik ts3monolith, np.:
#   sudo -u ts3monolith /usr/lib/ts3monolith/init-rrd
#
# Zmienne RRD_PATH / RRDTOOL mozna nadpisac w srodowisku, domyslnie czyta
# te same wartosci co /etc/default/ts3monolith.

RRD_PATH="${RRD_PATH:-/var/lib/ts3monolith/online.rrd}"
RRDTOOL="${RRDTOOL:-rrdtool}"

if [ -e "$RRD_PATH" ]; then
  echo "RRD juz istnieje: $RRD_PATH (pomijam)"
  exit 0
fi

command -v "$RRDTOOL" >/dev/null 2>&1 || { echo "error: $RRDTOOL nie znaleziony w PATH" >&2; exit 1; }

install -d -m 0750 "$(dirname "$RRD_PATH")"

# step=60s. RRA pokrywaja wszystkie zakresy wykresow aplikacji:
#   LAST 1x60s   x4500 ~ 75h  -> 12h / 24h / 72h
#   AVG  5x60s   x2016 ~ 7d   -> tydzien
#   AVG  30x60s  x1488 ~ 31d  -> miesiac
#   AVG  360x60s x1460 ~ 365d -> rok
"$RRDTOOL" create "$RRD_PATH" \
  --start now-1h --step 60 \
  DS:online:GAUGE:120:0:U \
  RRA:LAST:0.5:1:4500 \
  RRA:AVERAGE:0.5:5:2016 \
  RRA:MAX:0.5:5:2016 \
  RRA:AVERAGE:0.5:30:1488 \
  RRA:MAX:0.5:30:1488 \
  RRA:AVERAGE:0.5:360:1460 \
  RRA:MAX:0.5:360:1460

echo "Utworzono nowa baze RRD: $RRD_PATH"
