61 lines
1.8 KiB
Bash
61 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
BASE_DIR="${1:-/opt/domaincheck}"
|
|
OUT_DIR="${2:-$BASE_DIR/diagnostics}"
|
|
STAMP="$(date +%Y%m%d_%H%M%S)"
|
|
BUNDLE_DIR="$OUT_DIR/diag_$STAMP"
|
|
|
|
mkdir -p "$BUNDLE_DIR"
|
|
|
|
write_cmd() {
|
|
local name="$1"
|
|
shift
|
|
{
|
|
echo "# command: $*"
|
|
echo
|
|
"$@"
|
|
} > "$BUNDLE_DIR/$name.txt" 2>&1 || true
|
|
}
|
|
|
|
copy_if_exists() {
|
|
local src="$1"
|
|
local dest="$2"
|
|
if [ -f "$src" ]; then
|
|
cp "$src" "$dest"
|
|
fi
|
|
}
|
|
|
|
write_cmd "systemctl_api" systemctl status domaincheck-api --no-pager
|
|
write_cmd "systemctl_worker" systemctl status domaincheck-worker --no-pager
|
|
write_cmd "journal_api" journalctl -u domaincheck-api -n 200 --no-pager
|
|
write_cmd "journal_worker" journalctl -u domaincheck-worker -n 200 --no-pager
|
|
write_cmd "api_health_curl" curl -sS http://127.0.0.1:8100/health
|
|
write_cmd "api_preflight_curl" curl -sS http://127.0.0.1:8100/api/v1/runtime/preflight
|
|
write_cmd "api_runtime_curl" curl -sS http://127.0.0.1:8100/api/v1/runtime/status
|
|
write_cmd "ps_processes" ps -ef
|
|
write_cmd "ss_listen" ss -lntp
|
|
write_cmd "df_h" df -h
|
|
write_cmd "free_h" free -h
|
|
|
|
copy_if_exists "$BASE_DIR/domainCheck/.env" "$BUNDLE_DIR/domainCheck.env"
|
|
copy_if_exists "$BASE_DIR/domain-api/.env" "$BUNDLE_DIR/domain-api.env"
|
|
|
|
if [ -d "$BASE_DIR/domain-api/runtime" ]; then
|
|
cp -r "$BASE_DIR/domain-api/runtime" "$BUNDLE_DIR/domain-api-runtime"
|
|
fi
|
|
|
|
if [ -f "$BASE_DIR/domainCheck/logs/app.log" ]; then
|
|
tail -n 300 "$BASE_DIR/domainCheck/logs/app.log" > "$BUNDLE_DIR/app_tail.log" 2>&1 || true
|
|
fi
|
|
|
|
if [ -f "$BASE_DIR/domainCheck/detect_worker.log" ]; then
|
|
tail -n 500 "$BASE_DIR/domainCheck/detect_worker.log" > "$BUNDLE_DIR/detect_worker_tail.log" 2>&1 || true
|
|
fi
|
|
|
|
ARCHIVE="$OUT_DIR/diag_$STAMP.tar.gz"
|
|
tar -czf "$ARCHIVE" -C "$OUT_DIR" "diag_$STAMP"
|
|
|
|
echo "diagnostics_dir=$BUNDLE_DIR"
|
|
echo "diagnostics_archive=$ARCHIVE"
|