#!/bin/bash source "${AGENT_PATH}/common.sh" _check_required_env_vars "CONTAINER_NAME" # For verbose mode (when called directly, not from install script) if [ "$1" = "-v" ] || [ "$1" = "--verbose" ]; then VERBOSE=true else VERBOSE=false fi # Check if containers exist if ! docker ps -a --format "{{.Names}}" | grep -q "^${CONTAINER_NAME}_"; then echo "Unknown" exit 0 fi # Check individual service status using docker directly (more reliable) es_running=$(docker ps --format "{{.Names}}" | grep -c "^${CONTAINER_NAME}_elasticsearch$" || echo 0) ls_running=$(docker ps --format "{{.Names}}" | grep -c "^${CONTAINER_NAME}_logstash$" || echo 0) kb_running=$(docker ps --format "{{.Names}}" | grep -c "^${CONTAINER_NAME}_kibana$" || echo 0) if [ "$VERBOSE" = "true" ]; then echo "Elasticsearch: $([ $es_running -eq 1 ] && echo "Running" || echo "Not running")" echo "Logstash: $([ $ls_running -eq 1 ] && echo "Running" || echo "Not running")" echo "Kibana: $([ $kb_running -eq 1 ] && echo "Running" || echo "Not running")" fi # Return overall status if [ "$es_running" -eq 1 ] && [ "$ls_running" -eq 1 ] && [ "$kb_running" -eq 1 ]; then echo "Running" elif [ "$es_running" -eq 0 ] && [ "$ls_running" -eq 0 ] && [ "$kb_running" -eq 0 ]; then echo "Stopped" else # At least one service is having issues if [ "$VERBOSE" = "false" ]; then echo "Starting" # More accurate than "Error" during startup fi fi