개요
팀에서 개발중인 서비스에 ELK을 붙인 이후, kibana에서 데이터를 이용해 다양한 종류의 visualize을 만들고 있었다. (유저 동접 추이, 특정 게임 동접수 등등)
ELK와 비슷한 역할을 하는 NHN CLOUD의 Log N Crash
라는 서비스가 있는데, 여기서 제공해주는 visualize 중, 날짜별 데이터를 비교해주는 서비스가 있었다.
같은 기능을 kibana에서도 구현할 수 있을까 구글링을 해봤는데 kibana에서도 제공하는 기능이였다!!
하지만 역시.. 현재 사용하는 ELK 버전에는 존재하지 않은 기능 ㅎㅎ..
결국 찾은 건 visualize 종류 중 Timelion
이다.
Timelion
은 시계열 데이터 분석에 특화되어 있으며, 함수 형식의 표현식을 사용한다.
또한 코드가 직관적이고, 자동완성을 지원하기 때문에 접근성도 좋은 편이다.
엘라스틱 공식 가이드의 코드와 예제를 보면 쉽게 익힐 수 있다.
공식 가이드의 Compare the data 부분을 참고하여 7일전 동접 수 비교 코드를 작성했다.
.es(index=인덱스이름,
timefield="@timestamp",
metric="sum:userCount")
.label("current day")
.lines(width=3)
.color(#1E90FF)
.legend(columns=2, position=nw) ,
.es(offset=-1M,
index=ccu-*,
timefield="@timestamp",
metric="sum:userCount")
.label("-1 Month")
.title("compare -1Month")
.lines(fill=1,width=0.5)
.color(gray)
사실 kibana에서 제공하는 time shift 기능이 더 daynamic하다. 하지만 차선책으로 사용하기에는 Timelion
도 나쁘진 않다.
참조
[timelion 공식 가이드] - https://www.elastic.co/guide/en/kibana/current/timelion.html
[timelion 참고] - https://kangmyounghun.blogspot.com/2017/12/timelion.html
[내 버전에만 없는 kibana time shift 공식 가이드] - https://www.elastic.co/guide/en/kibana/7.17/create-a-dashboard-of-panels-with-ecommerce-data.html
'개발자로서 살아남기 > ELK Stack 적용하기' 카테고리의 다른 글
ELK - Retrying individual bulk actions that failed or were rejected by the previous bulk request. retrying failed action with response code: 403 에러 발생 (0) | 2023.06.14 |
---|---|
ELK 인덱스 생명 주기(ILM) 설정하기 (0) | 2023.05.16 |
Centos7에 ELK 설치하기 가이드 (0) | 2022.08.08 |
ELK - 로그 발생 시간을 기준으로 Kibana 사용하기 (0) | 2022.03.18 |
FileBeat VS Logstash (0) | 2022.02.10 |