1 . Grafana란?
그라파나란 metric 분석 및 시각화한 opensource 소프트웨어이며, Go언어로 구성되어있다.
2 . 그라파나 docker container 설치하기.
그라파나는 그라파나 전용 docker container를 생성해 줄 수 있다. Grafna Document는 이 곳을 클릭하면 되니 필요한 경우 참조하자.(https://grafana.com/docs/grafana/latest/). 그라파나 전용 도커를 설치하기 위해서는 다음과 같은 명령어를 입력해 주면 된다.
$ docker run -d -p 3000:3000 grafana/grafana
그 후 localhost:3000을 들어가면 그라파나 로그인 창이 나오는것을 볼 수 있다.
초기 계정 정보는 admin/admin 이며, 들어가면 비밀번호를 변경하라는 문구가 나올것이다.
The back-end web server has a number of configuration options. Go to the Configuration page for details on all those options.
For any changes to conf/grafana.ini (or corresponding environment variables) to take effect you need to restart Grafana by restarting the Docker container.
그라파나의 도커 installation 페이지(https://grafana.com/docs/grafana/latest/installation/docker/)를 보면 백엔드 서버에서 그라파나를 활용할때 Configuration option을 고쳐주기 위해서 grafana.ini를 변경해주어야 하며, 변경사항을 저장해 주기 위해서는 해당 컨테이너를 재실행해 주어야한다고 적혀있다. 이에 대한것은 추후 다루겠다.
3 . Grafana Container 접속하기
Container 접속하는 방법에는 두가지가있다.
- 일반적인 접근
- su권한을 가진 접근
일반적인 접근을 하기 위해서는 일반적으로 컨테이너를 접속하는 방법을 사용해 주면 된다.
$ docker exec -it [그라파나 컨테이너 id 혹은 이름] /bin/bash
우리가 만약 현재 백엔드상에서 사용하기 위해 ini configuration파일을 수정해야 한다고 가정하기 grafana.ini를 vi 에디터를 이용해서 편집한다고 가정해 보자. 그라파나 컨테이너에서 grafana.ini 파일은 /etc/grafana 디렉토리 안에 존재한다.
그리고 여기서 vi를 이용해서 grafana.ini파일을 수정한다고 가정해보자.
맨 밑 부분을 보면 grafana.ini[Readonly]라는 말이 적혀있다. 수정모드(i를 누르면 수정모드이다. 수정모드를 빠져나오기 위해서는 esc를 눌러주면 된다.)를 통해서 데이터를 수정해 주고 빠져나오려고 하면 Permission Denied가 뜰것이다.(나오는 방법은 :q!) 인터넷을 찾아보면 vi readonly모드에서 저장하는 방법은 :wq! :w! 와 sudo vi [파일명] 등의 여러 해결책들이 제시될 것이다.
:wq! 와 :w!방법을 시도해보면 모두 통하지 않는것을 알 수 있다. 또한 위의 사진과 같이 sudo를 통해 들어가려 보니 sudo라는 command가 발견되지 않는다는것을 알 수 있다. 그럼 그라파나 컨테이너는 su 권한을 아예 얻지 못하는 것인가? 아니다. 처음 들어갈때 다음과 같이 접속해주면 된다.
$ docker exec -it -u 0 [그라파나 컨테이너 이름 혹은 id] bash
이와 같이 명령어를 입력하여 컨테이너를 접속하면 su 권한을 얻은 상태로 컨테이너를 이용할 수 있다. ini파일을 설정해줄때 주의할 점은 ; 는 주석이니 설정을 변경해준 후에 ;를 제거해 주었는지 확인하자. 그리고 변경사항이 저장되기 위해서는 컨테이너를 restart를 해줘야 한다는것도 잊지말자.
'Grafana with Docker' 카테고리의 다른 글
Grafana(그라파나)를 이용해 생성한 그래프 client와 공유하는 가장 기초적인 방법 (2) | 2020.01.06 |
---|