kibana4 nginx 액세스 로그를 응답 시간별로 그래프로 표시

최종형 nginx 성능 그래프



이런 느낌의 그래프를 만드는 것이 목표.
nginx의 액세스 로그를 집계하고, request_time의 범위마다 색으로 나누어 그래프화하고 싶다.
  • 느린 응답이 전체의 어느 정도를 차지하고 있는가
  • 특정 시간만큼 느린 등이 일어나지 않습니까
  • 장기적으로 응답의 악화가 일어나지 않습니까
  • deploy 직후 응답이 나빠지지 않았습니까
  • 장애 시 사용자 영향에 대한 직관적인 이해

  • 라든지, 여러가지 확인할 때에 보이게 해 두는 것은 중요.



    절차



    Visualize에서 그래프 만들기



    그래프 유형 선택



    이번에는 Vertical bar chart로 작성한다.
    새 쿼리를 만들므로 다음 화면에서는 From a new search를 선택한다.


    X축 설정



    Select buckets type의 X-Axis를 선택하고 Aggregation에 Date Histogram을 지정한다.
    Apply를 누르면 반영되지만, 이 시점에서는 전체 로그가 한색으로 표시되어 있는 상태가 된다.


    그래프에 필터 적용



    kibana3와 여기가 크게 바뀐 것 같지만 여기에서 Add Sub Aggretation을 선택하고 Split Bars를 선택한다.
    Split Bars이므로 조건에 따라 Bar를 분할할 수 있다.
    Sub Aggregation은 Filters를 선택하고 Query를 넣는 곳이 나오기 때문에 여기에 조건을 넣는다.
    이번에는 request_time마다 Query를 설정하고 있으므로 아래와 같이 8개의 Query를 넣었다. 여기는 분할하고 싶은 조건으로 여러가지 바뀐다.


    그러나, 이것, 보통으로 쿼리를 append 하는 것 같은 방식이라면 안 되었을까. 이전까지는 그런 방식이었다고 생각하지만. . .
    실은 그쪽의 방법도 있는 것일까. 알고 계시다면 알려주세요.

    저장



    여기까지 오면 오른쪽 상단의 저장 아이콘으로 저장한다.
    (저장 아이콘은 언제까지 플로피일까...)

    대시보드에 붙여넣고 저장



    Dashboard로 이동하면 플러스 버튼으로 방금 저장한 그래프를 선택할 수 있으므로 선택하여 표시하는 마우스로 움직이거나 크기를 변경할 수 있고, 여기는 kibaba3에 비하면 상당히 편리하게되어 있다고 느낀다.

    환경



    이번에는 스스로 여러가지 설정하는 것이 귀찮았기 때문에 AWS의 elasticsearch service를 이용.
    당초의 상정이라고, elasticsearch만 제공되고 있다고 생각하면, kibana도 붙어 와 감동했다.
    인프라 엔지니어의 일이 없어지는 한편, 본래의 퍼포먼스의 체크와 튜닝이라고 하는 일에 시간을 사용할 수 있어 고맙다.

    nginx의 로그는 각 웹 서버에서 ltsv로 출력하고 fluentd로 elasticsearch에 돌진하고 있습니다.
    elasticsearch에 뛰어들 때까지는 이 근처가 자세하게 써 있다.
    htp : // bg. 혼코엔. 네 t/bぉg/2013/11/11/ぉきんgーsys

    요약



    kibana3의 검은 화면에 익숙해져 처음에는 당황하지만, 4도 좀처럼 다양한 설정 할 수 있거나 여전히 UI는 멋지기 때문에 쓰러뜨리면 더 좋아지는 것이 아닐까 생각한다.

    좋은 웹페이지 즐겨찾기