문제 상황
- driver는 정상적으로 생성되었는데 driver.get(site명) 에서 사이트를 열지 못하는 문제가 발생했습니다.
문제 파악
- 로컬 컴퓨터에서도 동일 코드로 실행해봤는데, 로컬 컴퓨터에서는 정상적으로 잘 작동 되었습니다.
=> 코드 문제는 아닐 가능성이 높다고 판단
원인 파악을 위해 GCP의 Cloud Monitoring으로 VM 인스턴스 로그를 수집할 환경을 구축하였습니다.
1) 웹 서버 설치
sudo apt-get update
sudo apt-get install apache2 php7.0
2) Monitoring agent 패키지 저장소 추가
curl -sSO https://dl.google.com/cloudagents/add-monitoring-agent-repo.sh && \
sudo bash add-monitoring-agent-repo.sh && \
sudo apt-get update
3) Monitoring agent 설치
- 사용 가능한 버전 확인
sudo apt-cache madison stackdriver-agent
- 원하는 agent 버전 설치
sudo apt-get install -y 'stackdriver-agent=6.*'
- agent 동작 확인
sudo service stackdriver-agent status
4) Logging agent 설치
- Logging agent 패키지 저장소 추가
curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh && \
sudo bash add-logging-agent-repo.sh && \
sudo apt-get update
- Logging agent 사용 가능 버전 확인
sudo apt-cache madison google-fluentd
- Logging agent 원하는 버전 설치
sudo apt-get install -y google-fluentd
- Logging agent 동작 확인
sudo service google-fluentd status
5) uptime check 만들기 (업타임 체크 만들기)
https://cloud.google.com/monitoring?hl=ko
6) 대시보드 생성
메모리를 보고 싶으면, VM Instance > Memory > Memory utilization 을 선택.
6) Monitoring 정상 작동 테스트
문제 해결 (해결 완료)
확인해보니 코드 실행 시 메모리가 높아졌습니다.
그래서 메모리 초과로 인해 크롬 사이트가 열리지 않아 driver.get() 이 먹히지 않았던 것입니다.
크롬을 계속 키고 driver.quit() 을 하지 않아 메모리에 할당되고나서 없어지지 않아 계속 메모리 점유를 하고 있는 문제로 분석하고 driver.quit()을 사용하고 인스턴스의 메모리를 늘려줍니다.
<인스턴스의 메모리를 늘리기 - 머신구성 스펙업>