본문 바로가기
기타

Grafana '/var/lib/grafana/plugins': Permission denied 오류 해결

by Limm_jk 2021. 2. 6.

Grafana와 Prometheus를 이용하여 서버의 상태를 분석하고, 시각화를 시킬 수 있다.

 

프로젝트 간에 웹서버를 사용하게 되면서, 이러한 모니터링 툴의 필요성을 알게 되었다. 특히, AWS 무료서버를 사용하는 토이프로젝트의 특성 상 서비스의 상태에 보다 민감하게 반응할 수 밖에 없어서, 모니터링을 통해 서버의 상황을 파악하는 것이 중요했다.

실제로 데모 때 ab를 이용하여 서버에 트래픽을 거는 것을 확인할 수 있었다....ㅎㅎㅎㅎ...

 

하지만 항상 그렇듯 한번에 성공적으로 사용하는 일은 일어나지 않았고, 다음과 같은 오류를 만나게 되었다.

grafana_1 | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana_1 | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-docker-container-to-5-1-or-later
grafana_1 | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied

분명히 로컬에서는 돌아감을 확인하고 AWS서버에 올렸는데, 위와 같이 권한이 없다는 오류가 지속적으로 발생했다.

 

비슷한 오류가 많은 커뮤니티에 있었는데,

- '사용자를 1002로 설정해라'

- 'SSL인증서를 사용해야 한다'

- '컨테이너 내부의 권한 문제다' 

 

이런 다양한 의견들이 있었지만, 따라해보아도 해결을 할 수 없었다.

 

하지만, 하루를 다 날려먹고 정신 놓고 이것저것 만져보다 성공을 했는데, 방법은 다음과 같다.

 

해결책

$ ls -al 명령어로 확인했을 때, data 폴더의 user 권한에 write권한이 없음을 알 수 있다.

하지만, 모니터링 툴들을 위 폴더에 마운트해서 사용할 경우 모니터링 과정에 축적된 데이터들을 해당 폴더에 입력하기 때문에, write 권한이 있어야 정상 실행할 수 있다.

 

다른 data폴더는 docker에서 생성 시 알맞게 권한이 부여되어 나오거나 sudo를 통해서 해결할 수 있는 문제였는데, 이 경우는 container에서 mount해서 접근하기에 sudo권한이 부여되지 않는 것인지 이러한 권한 문제가 발생하였다.

 

이러한 문제를 해결 후, 아래 그림처럼 배포서버에서도 잘 돌아감을 확인할 수 있었다.

 

 

댓글