51 lines
1.1 KiB
Bash
51 lines
1.1 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
SKILL_DIR="$(dirname "$(dirname "$0")")"
|
|
LOKI_PORT="${LOKI_PORT:-3100}"
|
|
|
|
# Start Loki in background
|
|
start_loki() {
|
|
echo "Starting Loki on port $LOKI_PORT..."
|
|
loki -config.file="$SKILL_DIR/config/loki.yaml" &
|
|
LOKI_PID=$!
|
|
sleep 3
|
|
|
|
if ! kill -0 $LOKI_PID 2>/dev/null; then
|
|
echo "Failed to start Loki"
|
|
exit 1
|
|
fi
|
|
echo "Loki running (PID $LOKI_PID)"
|
|
}
|
|
|
|
# Start Promtail in background
|
|
start_promtail() {
|
|
echo "Starting Promtail..."
|
|
promtail -config.file="$SKILL_DIR/config/promtail.yaml" &
|
|
PROMTAIL_PID=$!
|
|
sleep 2
|
|
|
|
if ! kill -0 $PROMTAIL_PID 2>/dev/null; then
|
|
echo "Failed to start Promtail"
|
|
exit 1
|
|
fi
|
|
echo "Promtail running (PID $PROMTAIL_PID)"
|
|
}
|
|
|
|
# Cleanup on exit
|
|
cleanup() {
|
|
echo "Shutting down..."
|
|
[ -n "$PROMTAIL_PID" ] && kill $PROMTAIL_PID 2>/dev/null
|
|
[ -n "$LOKI_PID" ] && kill $LOKI_PID 2>/dev/null
|
|
exit 0
|
|
}
|
|
trap cleanup SIGTERM SIGINT
|
|
|
|
start_loki
|
|
start_promtail
|
|
|
|
echo "Loki stack running. Query at http://localhost:$LOKI_PORT/loki/api/v1/query"
|
|
|
|
# Wait for either process to exit
|
|
wait
|