Process restart automation
목적
memory leak 이슈에 일단 자동으로 대응하기 서비스를 재시작 하는 파이썬 코드를 작성했습니다.
설명
- python3.4 부터 호환 가능하도록 작성했습니다.
- 서비스명을 argument 형태로 입력받습니다.
- 현재 메모리 사용량을 확인합니다. /proc/meminfo를 활용합니다. free나 top등의 명령을 이용하도 되지만 datadog에서 확인했을때 동일한 usage를 확인할 수 있는 방법은 /proc/meminfo를 열어보는 것 밖에 없었습니다
- 1번에서 입력받은 서비스가 현재 동작중인지 확인합니다. argument설정 에러로 현재 동작중이지도 않은 서비스를 실행시킬수도 있기 때문입니다.
- 1번에서 입력받은 서비스들을 stop & start 합니다
- process가 잘 올라왔는지 검증합니다. /proc/
를 이용해 확인합니다 - 서비스로그에서 추가 검증이 가능한 경우 로그도 검증합니다