From 5feedd9a39a820db881396fd48d9f5ad88c8ca67 Mon Sep 17 00:00:00 2001 From: Denis Shatskiy Date: Fri, 11 Jul 2025 17:28:19 +0700 Subject: [PATCH] Update Dockerfile to include procps package and enhance start.sh with additional ExaBGP process checks. The script now verifies the ExaBGP process status after startup and checks for the prefix loader process, improving monitoring and troubleshooting capabilities. --- Dockerfile | 1 + scripts/start.sh | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 00be3da..ef14c3e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ RUN apt-get update && apt-get install -y \ iproute2 \ iputils-ping \ net-tools \ + procps \ && rm -rf /var/lib/apt/lists/* # Установка ExaBGP diff --git a/scripts/start.sh b/scripts/start.sh index 43f4c1e..83300ed 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -79,8 +79,8 @@ fi echo "Starting ExaBGP..." LOG_LEVEL=${BGP_LOG_LEVEL:-INFO} -# Запуск с подробным логированием в режиме демона -exabgp --log.level $LOG_LEVEL --daemon /app/exabgp.conf > /app/logs/exabgp.log 2>&1 & +# Запуск с подробным логированием +exabgp --log.level $LOG_LEVEL /app/exabgp.conf > /app/logs/exabgp.log 2>&1 & EXABGP_PID=$! # Сохранение PID @@ -94,6 +94,19 @@ if kill -0 $EXABGP_PID 2>/dev/null; then echo "ExaBGP started successfully with PID: $EXABGP_PID" echo "Recent logs:" tail -10 /app/logs/exabgp.log + + # Дополнительная проверка через несколько секунд + sleep 3 + if kill -0 $EXABGP_PID 2>/dev/null; then + echo "ExaBGP is still running after 3 seconds" + echo "Process details:" + ps aux | grep exabgp | grep -v grep || echo "Process not found in ps output" + else + echo "ExaBGP process died after startup" + echo "Full logs:" + cat /app/logs/exabgp.log + exit 1 + fi else echo "Failed to start ExaBGP" echo "Full logs:" @@ -122,4 +135,9 @@ echo "Process status:" ps aux | grep exabgp || echo "No exabgp process found" echo "---" +# Проверка процесса загрузки префиксов +echo "Checking prefix loader process:" +ps aux | grep load_prefixes || echo "No prefix loader process found" +echo "---" + wait $EXABGP_PID \ No newline at end of file