앞서 loki와 prometheus로 수집한 정보를 Grafana 대시보드로 시각화 (feat. Import)
Grafana는 수집한 데이터로 대시보드를 작성하는 오픈소스 시각화 분석툴이다.
내가 사용했던 loki, prometheus뿐만아니라 Elasticsearch 같은 도구와도 결합하여 사용할 수 있다.
그리고 사용자가 대시보드에서 직접 약간의 쿼리로 필터링하여 원하는 데이터를 상세히 볼 수 있다.
무엇보다 내가 가장 맘에 든 점은 바로 다른 사람이 잘 만들어놓은 대시보드를 Import하여 사용할 수 있다는 점이다.
그라파나는 별 다른 설정 파일 사용하지 않고 어렵지않게 띄워볼 수 있었다.
docker run -d \
-p xxxx:3000 \
--network xxxx \
--log-driver=loki \
--log-opt loki-url="http://172.19.0.10:3100/loki/api/v1/push" \
--name=grafana \
grafana/grafana
접속하면 아래와 같이 깔쌈한 로그인 화면이 나타난다.
최초 아이디/패스워드는 admin/admin 이다. 접속 후 패스워드를 변경할 수 있다.
이쁜 로그인 화면에서 로그인도 했고, 관리자 비밀번호도 바꿨겠다 이제 바아로 대시보드를 만들어보고 싶지만
먼저 Datasource 를 추가해줘야 한다.
왼쪽 아래 톱니바퀴를 눌러서 datasources 메뉴를 찾고 add data source 버튼으로 추가한다.
add data source 버튼을 눌러 접속하면 수많은 데이터 수집 도구를 선택할 수 있다.
수집 도구 특성에 따라 분류 해놓았으니 쉽게 찾을 수 있다.
나는 Loki와 Prometheus로 수집했으니 이 두 가지를 선택했다.
URL은 Prometheus 컨테이너의 ip와 port를 입력
Basic Auth 기능을 추가했으니 활성화 시키고, 아래쪽에 아이디와 패스워드를 입력한다.
Loki도 같은 방식으로 datasource를 추가한다.
맨 앞에서 언급했던대로 grafana에서 가장 맘에 드는 기능이다.
Grafana 공식 홈페이지에 접속해서 원하는 대시보드의 id를 copy한 후 grafana에서 import하여 사용할 수 있다.
예를 들어, id 12611를 카피해서 import하면 아래처럼 loki를 datasource로 사용하는 로그 대시보드를 생성할 수 있다.
로그 대시보드를 만드니, 다른 팀에서도 우리 쪽 로그를 확인할 수 있어서 불필요한 커뮤니케이션을 아낄 수 있었다.