본문으로 건너뛰기

트러블슈팅 ​

각 항목은 증상 → 확인 → 해결 순서입니다. 명령마다 어느 서버에서 실행하는지 적어 두었습니다. 설치를 처음부터 다시 하고 싶다면 업그레이드·제거를 참고하세요.

대시보드가 열리지 않습니다 ​

증상: 브라우저에서 http://<대시보드 서버 IP>:3001이 열리지 않거나 오류가 납니다.

확인 (대시보드 서버의 everyup 디렉터리에서):

bash
docker compose ps                # STATUS가 healthy인지 확인
docker logs everyup --tail 100   # 시작 오류 확인
curl -fsS http://localhost:3001/api/v1/health

해결:

  • curl이 성공하는데 브라우저에서만 안 열린다면 방화벽이나 보안 그룹에서 3001 포트를 여세요.
  • 컨테이너가 계속 재시작한다면 로그의 첫 오류를 확인하세요. 환경변수 값이 잘못된 경우가 많습니다. 값은 Web 설정에서 확인할 수 있습니다.

설치기가 Compose 버전 때문에 멈춥니다 ​

증상: 설치 명령이 Docker Compose v2.23.1 or newer is required로 끝납니다.

확인 (모니터링할 서버에서):

bash
docker compose version

해결: Docker Compose 플러그인을 2.23.1 이상으로 업데이트하세요. 패키지로 Docker를 설치했다면 보통 docker-compose-plugin 패키지를 업데이트하면 됩니다. 단독 실행형 docker-compose(v1)는 지원하지 않습니다.

설치기가 Docker에 접근하지 못합니다 ​

증상: 설치 명령이 Docker Engine is not reachable. 또는 /var/run/docker.sock is not readable.로 끝납니다.

확인 (모니터링할 서버에서):

bash
sudo docker info --format '{{.ServerVersion}}'
ls -l /var/run/docker.sock

해결:

  • 설치 명령은 sudo sh로 실행해야 합니다. Web이 보여 준 명령을 그대로 복사했는지 확인하세요.
  • sudo docker info가 실패하면 오류 메시지에서 Docker 소켓 접근 권한과 데몬 연결 상태를 확인하세요. 데몬이 중지되어 있다면 sudo systemctl start docker로 시작하세요.

연결 코드 오류로 설치가 실패합니다 ​

증상: Exchanging the one-time EveryUp join code... 다음에 curl: (22) The requested URL returned error: 401이 나옵니다.

해결: 연결 코드는 발급 후 10분 동안 한 번만 쓸 수 있습니다. 설치 화면에서 새 코드를 눌러 명령을 다시 만들고 실행하세요. 이전 명령을 다시 실행하면 같은 오류가 납니다.

모니터링할 서버에서 Web에 접속하지 못합니다 ​

증상: 설치 명령이 curl: (7) Failed to connect 또는 curl: (28) … timed out으로 끝납니다.

확인 (모니터링할 서버에서, 설치 명령에 들어 있는 Web 주소로):

bash
curl -fsS https://<Web 주소>/api/v1/health

해결:

  • 접속이 안 되면 대시보드 서버의 방화벽이나 보안 그룹에서 3001 포트(또는 리버스 프록시 포트)를 여세요.
  • 명령에 들어 있는 주소가 localhost나 내부 전용 주소라면 Web을 EVERYUP_PUBLIC_URL로 다시 시작한 뒤 설치 명령을 새로 만드세요.

Docker 환경이 수집 중으로 바뀌지 않습니다 ​

증상: 설치는 끝났지만 Docker 환경 화면에서 설치 대기에 머뭅니다.

확인 (모니터링할 서버에서):

bash
sudo docker compose --env-file /opt/everyup-agent/.env -f /opt/everyup-agent/compose.yaml ps
sudo docker logs everyup-agent --tail 50
sudo grep EVERYUP_WEB_BASE_URL /opt/everyup-agent/compose.yaml

해결: Collector는 EVERYUP_WEB_BASE_URL로 Web에 접속합니다. 이 주소는 Collector 컨테이너 안에서 접근할 수 있어야 합니다. 같은 서버라도 컨테이너 안의 localhost는 Web이 아니라 Collector 자신을 가리킵니다. Compose 서비스명이나 호스트에서 접근 가능한 IP로 고친 뒤 다시 시작하세요.

bash
sudo docker compose --env-file /opt/everyup-agent/.env -f /opt/everyup-agent/compose.yaml up -d

Docker Collector가 Docker 소켓을 읽지 못합니다 ​

증상: everyup-agent 로그에 query docker socket … permission denied가 보이고 서비스가 나타나지 않습니다.

해결: 한 줄 설치기는 Docker 소켓의 group ID를 감지해 EVERYUP_DOCKER_GID를 자동으로 기록합니다. 수동 배포라면 이 값을 stat -c '%g' /var/run/docker.sock 결과로 설정하고 group_add에 추가하세요. user: "0:0"은 잠깐 진단할 때만 사용하세요. 운영 환경에서 소켓 접근 권한을 좁히려면 Docker socket proxy 가이드를 사용하세요.

로그가 보이지 않습니다 ​

증상: 서비스는 보이지만 로그 탭이 비어 있습니다.

확인 (모니터링할 서버에서):

bash
docker logs <앱 컨테이너> --tail 20

해결: 앱에 요청을 보낸 뒤 docker logs를 다시 확인하세요. 계속 비어 있다면 앱과 프록시의 로그 출력 설정을 확인하세요. 컨테이너 내부 파일에만 기록한다면 stdout/stderr로 출력하도록 설정하세요. Docker 로그에 없는 내용은 이 수집 경로로 가져올 수 없습니다.