Release Notes WhaTap Support support@whatap.io 2019-11-14 1.0.1

본 문서는 WhaTap Release Notes 입니다.

Service Release Notes

WhaTap Support <support@whatap.io>

Service 1.5.8

2019-10-02

애플리케이션 모니터링

트랜잭션 프로파일

  • 프로파일 요약 정보 및 스텝 차트 구간 접기/펼치기 기능을 추가하였습니다. 해당 기능을 이용하여 프로파일 상세 스텝 구간을 좀 더 크게 탐색할 수 있습니다.

  • SQL 스텝 상세보기 > 매개변수 바인딩 해제 기능을 추가하였습니다.

  • 성능 개선 사항 : 프로파일에 SQL 스텝이 많은 경우 화면 로딩이 느려지던 현상을 개선하였습니다.

서버 모니터링

서버목록 > 서버상세

  • 현재 화면에서 다른 서버로 이동 기능을 추가하였습니다.

  • 디스크 상세보기 시 디스크 마운트 옵션 등 디바이스 정보 표시 화면을 추가하였습니다.

통합 대시보드 V2

위젯 추가 > 아크이퀄라이저

  • 버그수정 : 아크이퀄라이저 위젯 추가 시, 데이터 병합을 통해 위젯을 정상적으로 생성하실 수 있습니다.

    Arc Equalizer
    Figure 1. Arc Equalizer

Service 1.5.7

2019-09-18

데이터베이스 모니터링

SGA 화면 시각화

  • 기존의 테이블로 표시하던 정보를 라인 차트의 형태로 표현합니다.

    SGA Page
    Figure 2. SGA Page

어플리케이션 모니터링

프로파일, 통계, 스택의 상단 필터 공통사항

  • 필터의 지표들을 다국어 처리 적용했습니다.

    Filter Locale
    Figure 3. Filter Locale

프로파일 상세

  • PHP 어플리케이션의 프로파일 데이터 중 Get Parameter 및 Post Paramter의 모달이 빈 창으로 나오는 문제를 수정했습니다.

    Profile Detail Paramter
    Figure 4. Profile Detail Paramter
  • 함수형 타입에 스택 데이터 존재시 [Stack Trace]표시

    Profile Detail Stack Trace 1
    Figure 5. Profile Detail Stack Trace 1
  • 모달에 스택 데이터 표시

    Profile Detail Stack Trace 2
    Figure 6. Profile Detail Stack Trace 2

서버 > 에이전트 로그

  • 시작지점을 수정하여 화살표가 아니더라도 원하는 지점으로 바로 이동할 수 있습니다.

    Agent Log StartPoint
    Figure 7. Agent Log StartPoint

Service 1.5.6

2019-09-11

애플리케이션 모니터링

프로젝트 대시보드 > 액티브 트랜잭션 모달

  • 프로젝트 대시보드의 원형 액티브 트랜잭션 차트를 클릭하면 액티브 트랜잭션 모달이 나타납니다.

  • 차트에서 선택한 에이전트를 조회하며 조금 더 간편하게 액티브 트랜잭션을 조회합니다.

  • 새 창 열기를 통해 모달이 아닌 페이지로 전환하여 데이터를 더 크게 보실 수 있습니다.

    1. 액티브 트랜잭션 모달은 아래 형태로 이루어져 있습니다.

      Active Transaction Modal
      Figure 8. Active Transaction Modal

토폴로지 > 애플리케이션, 그룹, 인스턴스, Integration > 통합 토폴로지

  • 평균응답시간, 에러 건수 기반 강조 기능이 추가되었습니다.

    Emphasis Rule
    Figure 9. Emphasis Rule
  • 화면 상단의 응답시간(밀리초) 지정을 통해 호출 관계의 평균 응답 시간 임계치를 지정할 수 있습니다.

  • 임계 시간을 초과한 호출의 경우, 호출 링크를 적색으로 강조하여 표시합니다.

    Link Emphasis
    Figure 10. Link Emphasis
  • 화면 상단의 에러 건수 지정을 통해 호출 관계의 에러 건수 임계치 및 피호출 노드의 에러 건수 임계치를 지정할 수 있습니다.

  • 임계 에러 건수를 초과한 호출의 경우, 호출 링크를 적색으로 강조하여 표시합니다.

  • 특정 노드의 피호출 에러 건수가 임계치를 초과한 경우, 노드 외곽에 적색 링을 추가하여 강조 표시합니다.

    Node Emphasis
    Figure 11. Node Emphasis
  • 노드와 호출이 모두 강조된 이미지는 아래와 같습니다.

    Node & Link Emphasis
    Figure 12. Node & Link Emphasis

서버 모니터링

큐브(Beta) 메뉴 추가

  • 분석 > 큐브 Beta

  • 서버 분석을 위한 메트릭스셋를 제공합니다.

    Server Cube
    Figure 13. Server Cube
    • 기능 요약

      1. 제공 메트릭스셋: 요약, CPU, 메모리 디스크 네트워크

      2. 서버 필터링 (복수 선택 가능)

      3. 차트 위젯의 차트유형 선택 기능 : 개별서버-시리즈 / Top10-막대*

      4. 차트 레이아웃 편집 기능 : 위젯 확대/축소, 위치 변경 및 상태 저장

    • 이용 방법

      1. 큐브 캘린더 선택
        날짜 선택 > 큐브 구성 지표 선택 > 시간 순으로 정렬된 히트맵 차트

        • 용도 : 사용자의 관심 지표를 기준으로 이상 트랜잭션이 발생한 시간대을 빠르게 식별하여 상세분석 화면으로 연동하기 위한 기능.

        • 사용법 : 히트맵 상의 큐브 마우스 클릭 또는 키보드 방향키 이용

      2. 애플리케이션 선택

        • 애플리케이션 이름을 클릭하여 큐브 차트 상의 데이터를 필터링할 수 있습니다.

        • 애플리케이션이 비활성 상태인 경우 표시된 애플리케이션 이름의 밝기가 어둡게 표시됩니다.

        • 우측 핀 아이콘을 클릭하여 전체 선택/활성 애플리케이션 선택 등 부가 기능을 이용할 수 있습니다.

      3. 차트 위젯

        • 차트 위젯 레이아웃 변경

          • 제목을 클릭, 드래그 하여 화면 상에서 이동이 가능합니다.

          • 위젯 하단 크기 변경 아이콘을 클릭, 드래그 하여 위젯크기 변경이 가능합니다.

원격 파일 뷰어 메뉴 추가

  • 분석 > 원격 파일 뷰어

  • 와탭 에이전트 설정(whatap.conf)을 통해 브라우저에서 파일을 원격 조회할 수 있습니다. 화면상의 도움말(물음표 모양)을 이용해주세요.

    webview.allow.xxx=파일명
    Remote File Viewer
    Figure 14. Remote File Viewer

Service 1.5.5

2019-09-02

애플리케이션 모니터링

트랜잭션 검색 및 멀티 서버 트랜잭션 추적

  • 트랜잭션 검색에서 CSV 다운로드 기능을 적용했습니다.

  • 멀티 서버 트랜잭션 추적 기능이 새롭게 리뉴얼되었습니다.

    1. 트랜잭션 목록의 검색버튼 옆에 CSV 데이터 다운로드 버튼이 추가되었고 트랜잭션 상세내용에 간략하게 파악할 수 있는 Tree View가 추가되었습니다.

      Transaction Search
      Figure 15. Transaction Search
    2. 멀티 트랜잭션 버튼을 클릭하면 멀티 서버 트랜잭션 추적 모달이 나타납니다.

      MSTT Modal
      Figure 16. MSTT Modal
    3. 테이블 뷰를 클릭하여 관련한 트랜잭션을 확인하실 수 있습니다. 또한 선택된 프로젝트 중 관련된 프로젝트를 확인 및 제외하여 리스트화 할 수 있습니다.

      Table View
      Figure 17. Table View
    4. 새 창으로 열기를 클릭하여 큰 페이지로 이동하여 트랜잭션을 편리하게 확인하실 수 있습니다.

      New Window
      Figure 18. New Window

스택 > 탑 스택 > 다이어그램으로 보기

  • 탑 스택을 펼쳐 하위 스택을 표시할 경우, 탑 스택의 문자열을 투명하게 표시하여 문자열이 겹쳐서 가려지지 않도록 개선하였습니다.

    Open Substack
    Figure 19. Open Substack
    Collapse Substack
    Figure 20. Collapse Substack

서버 모니터링

서버 목록

  • 서버 목록 화면에 서버별 디스크 필터링 기능이 추가되었습니다.

    1. 서버목록 상단에서 아래 모양의 버튼을 클릭하여 필터링 모드로 전환합니다.

      Server List
      Figure 21. Server List
    2. 서버 목록 상에 서버에 포함된 디스크 디바이스명이 표시됩니다. (아래 초록색 버튼 모양)

      Server List Filter
      Figure 22. Server List Filter
    3. 디바이스명을 클릭하여 서버 목록 상에 해당 디바이스를 숨김/표시 할 수 있습니다. 숨김 처리된 디스크 디바이스는 회색 음영 표시 및 아이콘으로 구분합니다. (오른쪽)

      Server List Disk Filter
      Figure 23. Server List Disk Filter

데이터베이스 모니터링

멀티 인스턴스 페이지 개선

  • 로드 밸런스 차트의 디자인이 변경되었습니다.

    Load Balance
    Figure 24. Load Balance
  • 상태 차트의 디자인이 변경되었으며, 상태 차트에서 보고싶은 지표를 선택할 수 있는 기능이 추가되었습니다. 지표 명 우측의 톱니바퀴 아이콘을 통하여 설정 가능합니다.

    Status
    Figure 25. Status

세션 킬 기능 추가

  • 액티브 세션을 킬할 수 있는 기능이 추가되었습니다. 킬을 원하는 세션에 마우스를 올려 킬 버튼을 확인할 수 있습니다.

    Session Kill
    Figure 26. Session Kill
  • 세션을 킬하기 위해서는 Param key 값이 필요하며, 해당 값은 에이전트를 설치한 경로의 paramkey.txt 파일에서 확인할 수 있습니다.

    Session Kill Modal
    Figure 27. Session Kill Modal

Service 1.5.4

2019-08-26

통합 모니터링

통합 대시보드

  • 통합 대시보드(V2)에 이벤트 목록 위젯을 추가하였습니다.

    Event List
    Figure 28. Event List
이벤트 목록 위젯 기능
  • 이벤트 목록 위젯은 최근 1시간 동안 발생한 이벤트를 표시하며 15초 간격으로 업데이트됩니다.

  • 이벤트는 경고 수준을 구분하여 위험도가 높은 이벤트가 상위 표시되며 이후 발생 시간 순으로 정렬합니다.

    Widget(1)
    Figure 29. Widget(1)
    Widget(2)
    Figure 30. Widget(2)
  • 그룹화한 이벤트의 경고 수준별 이벤트 개수를 표시합니다.

    Widget(3)
    Figure 31. Widget(3)
  • 이벤트 그룹화 옵션 선택 기능입니다. 최근 1시간 동안 발생한 전체 이벤트 대상으로 선택 기준을 적용하여 그룹화하며, 해당 그룹에서 가장 최근 발생한 이벤트를 목록에 표시합니다. 마우스 호버 시 해당 그룹에 속한 전체 이벤트 내역을 확인할 수 있습니다.

    이벤트제목별
    이벤트 제목이란 'FATAL_HIGH_CPU’와 같이, 이벤트 규칙에 의해 부여받은 고유의 이벤트 이름을 의미합니다. 해당 설정을 적용할 경우 이벤트 제목을 기준으로 그룹화하며, 다양한 이벤트 규칙에 의해 발생한 이벤트를 모니터링하기에 용이합니다.
    프로젝트별
    프로젝트별 가장 최근 발생한 이벤트를 확인하기에 용이합니다.
    애플리케이션
    애플리케이션별 가장 최근 발생한 이벤트를 확인하기에 용이합니다.

  • 이벤트 목록 위젯은 15초 주기로 데이터를 조회하여 화면을 갱신합니다. 이때 그룹화한 이벤트 중에서 변경사항이 발생할 경우 아래 이미지와 같이 배경색을 칠하여 깜빡입니다.

    Widget(4)
    Figure 32. Widget(4)
이벤트 목록 위젯 추가 방법은 다음과 같습니다.
  1. 대시보드 상단 위젯 추가 버튼을 클릭하여 위젯 생성 창을 엽니다.

    Event List
    Figure 33. Event List
    Create Widget(1/4)
    Figure 34. Create Widget(1/4)
  2. 위젯 유형 중 이벤트 목록 아이콘을 선택한 후 다음으로 이동합니다.

    Create Widget(2/4)
    Figure 35. Create Widget(2/4)
  3. 프로젝트 선택를 선택한 후 다음으로 이동합니다. 모든 제품 종류에 대해 복수 개의 프로젝트를 선택하여 위젯을 생성할 수 있습니다.

    Create Widget(3/4)
    Figure 36. Create Widget(3/4)
  4. 데이터 유형 단계에서 지금까지 선택한 프로젝트를 확인 한 후 완료버튼을 클릭하시면 이벤트 목록 위젯 생성이 완료됩니다.

    Create Widget(4/4)
    Figure 37. Create Widget(4/4)

이벤트 ( 알림 )

MMS 다량 발송 제한

  • MMS 알림이 무의미하게 반복되는 케이스를 방지하기 위해, 프로젝트 별 일간 MMS 발송량에 따라 MMS 발송이 제한될 수 있습니다.

  • 해당 기능은 사용자가 해제하기 이전까지는 MMS 재수신이 불가능 합니다.

  • [ 이벤트 > 이벤트 수신 설정 ] 페이지에서 차단 상태를 해제할 수 있습니다.

    MMS Unblock Menu
    Figure 38. MMS Unblock Menu
  • MMS 수신이 제한될 경우 관련 알림을 제공 받으실 수 있으십니다.
    알림 메세지는 수신 설정되어있는 모든 알림에 제공됩니다.

    MMS Block Alert
    Figure 39. MMS Block Alert
MMS 일간 발송량을 확인할 수 있는 페이지는 추후 등록될 예정입니다.

대량 알림 발송 방지

  • 해당 기능으로 인하여 알림 수신이 불가한 상태를 확인할 수 있도록 메뉴가 추가되었습니다.

  • 해당 메뉴는 기능 설정이 위치한 [ 이벤트 > 이벤트 수신 정책 ] 에서 확인 가능합니다.

  • 기존 정지 시간값들이 너무 짧다고 판단되어 해당 값을 더 길게 조정하였습니다.

  • 정지 시간이 길어진 대신 고객님께서 수동으로 해제 할 수 있는 기능이 탑재되었습니다.

    Many Event Block Menu
    Figure 40. Many Event Block Menu

애플리케이션 모니터링

통계 > 클라이언트 IP

  • IP 클래스별로 보기 기능을 기존에는 차트만 토글 가능하도록 기능을 제공하였으나, IP 목록 정보도 같이 토글하여 제공하도록 개선하였습니다.

    Country and City Count
    Figure 41. Country and City Count
  • IP 클래스별로 보기 버튼 클릭 시, 좌측 다이어그램에 IP 클래스별 비중을 표시합니다.

    IP Class Count Diagram
    Figure 42. IP Class Count Diagram
  • IP 클래스별로 보기 버튼 클릭 시, 우측 테이블에 클래스별 합산 건수를 표시합니다.

    클래스별 합산 건수는 화면상에 로딩된 데이터의 산술합을 제공하며, CSV 다운로드 기능에는 제공되지 않습니다.
    IP Class Count Table
    Figure 43. IP Class Count Table

스택 > 탑 스택

  • 탑 스택 자동 펼침 기능을 복원하였습니다. 탑 스택 목록을 클릭하면 하위 스택 중 최상위 스택이 5단계 펼쳐집니다.

    TopStack Auto Expand
    Figure 44. TopStack Auto Expand

히트맵 또는 트랜잭션 검색 > 트랜잭션 목록 > 트랜잭션 프로파일

  • 트랜잭션 프로파일 URL 링크 복사 기능을 추가하였습니다.

    사용자가 조회한 트랜잭션 프로파일 화면을 URL 링크 형태로 다른 사용자 또는 와탭 서포트와 공유할 수 있습니다.

    Copy Link
    Figure 45. Copy Link
    트랜잭션 프로파일은 트랜잭션이 수행되는 과정중이 스텝들을 추적하는 것입니다. 트랜잭션이 느리거나 오류가 있다면 그 원인을 추적하기 위해서 수행 이력을 스텝별로 추적할 필요가 있는데 이것을 트랜잭션 프로파일링이라고 합니다.
    TX Profile
    Figure 46. TX Profile

프로젝트 대시보드 > 액티브 트랜잭션

  • 프로젝트 대시보드의 액티브 트랜잭션의 이동이나 차트의 부채꼴을 클릭하면 액티브 트랜잭션 페이지로 이동합니다. (차트의 경우 어플리케이션이 선택되서 이동됩니다.)

    Go Active Tx
    Figure 47. Go Active Tx
  • 어플리케이션 서버 목록에서 선택하면 액티브 트랜잭션 리스트가 나옵니다.

  • 트랜잭션을 선택하면, 쓰레드가 실행중인 경우에는 트랜잭션의 정보를, 종료되었다면 프로파일 정보를 찾을 수 있습니다.

    Active Tx Select Application
    Figure 48. Active Tx Select Application
  • 트랜잭션 정보에서는 쓰레드를 강제로 종료시킬 수 있습니다.

    Active Tx Select Running Tx
    Figure 49. Active Tx Select Running Tx
  • 종료된 트랜잭션을 조회했다면, 프로파일 보기를 클릭하여 상세하게 확인할 수 있습니다.

    Active Tx Select Ended Tx 1
    Figure 50. Active Tx Select Ended Tx 1
  • 프로파일 정보에서는 이전에 호출한 프로파일의 정보를 그대로 받을 수 있습니다.

    Active Tx Select Ended Tx 2
    Figure 51. Active Tx Select Ended Tx 2

서버 모니터링

이벤트 내역

  • 이벤트 내역 화면 개선 작업이 이루어졌습니다.

    Event History
    Figure 52. Event History
  • 목록의 좌측 칼럼에는 이벤트 내용과 발생 시간, 서버 명, 경고 수준(색상 구분)이 카드 형태로 표현됩니다. 이벤트 카드를 클릭하면 해당 이벤트에 대한 상세 페이지로 이동합니다.

  • 목록의 우측 칼럼에는 처리내역 정보와 해당 이벤트 발생 시각의 서버 리소스 상태에 대한 스냅샷 정보를 표시합니다.
    스냅샷 정보 : CPU 사용률, 메모리 사용률, 디바이스별 디스크 사용률, 디바이스별 네트워크 트래픽(IN/OUT 합)

Service 1.5.3

2019-08-19

신규 기능 추가

애플리케이션 모니터링

서버 > 설정 탭
  • 설정 키 검색 기능이 추가되었습니다.

    Keyword Searching
    Figure 53. Keyword Searching
    • 서버 선택 후 우측 상단 검색창에 찾고자하는 설정키를 입력하시면 해당 설정정보를 필터링하여 화면에 표시합니다.

    • 설정이 완료된 설정 키 이름의 경우에는 검색 조건과 일치하는 경우 하이라이트하여 나타냅니다.

서버 > 쓰레드 목록/덤프 탭
  • 쓰레드 목록에 CPU 점유시간 차 컬럼이 추가되었습니다. 새로고침 버튼 클릭 시, 클릭 전후의 CPU 점유시간 차를 표시합니다.

    CPU Gap Time of Threads
    Figure 54. CPU Gap Time of Threads
스택 > 탑스택 - 다이어그램
  • 스택 다이어그램이 추가되었습니다.

    • 다이어그램으로 보기 버튼을 클릭하면 다이어그램으로 시각화하기 위한 화면으로 전환됩니다.

      View as Diagram
      Figure 55. View as Diagram
    • 탑스택 노드 또는 임의의 노드를 클릭하면, 해당 노드 하위의 스택을 추가합니다.

      단, 복수의 하위 스택을 가진 경우, 점유율이 가장 높은 스택만 4단계를 추적하여 표시합니다.
      하위 노드가 표시된 노드를 클릭할 경우, 하위 노드가 제거됩니다.
      TopStack Diagram
      Figure 56. TopStack Diagram

데이터베이스 모니터링

실시간 모니터링
Lock Tree
  • 하단 영역에서 락 트리를 확인할 수 있는 탭이 추가되었습니다. .Lock Tree

    Lock tree
Process Info (XOS)
  • 하단 영역에서 프로세스 정보를 확인할 수 있는 탭이 추가되었습니다. .Process Info

    Process Info

트랜드

차트 드래그 확대
  • 차트 영역에서 차트를 드래그시 확대할 해당 시간 범위로 확대할 수 있는 기능이 추가되었습니다. .Chart Drag

    Chart Drag

와탭 모바일앱

애플리케이션 > 모바일 대시보드
  • 와탭 모바일앱에서 이용하실 수 있는 모바일 대시보드에 애플리케이션 토폴로지 위젯이 추가되었습니다.

    Application Mobile Dashbaord Topology
    Figure 57. Application Mobile Dashbaord Topology

기타 버그 수정

애플리케이션 모니터링

서버
  • 설정값이 삭제되지 않는 문제를 수정했습니다.

  • 설정 적용시 적용되었습니다 여러번 메시지가 출력되는 문제를 수정했습니다.

    Setting update message
    Figure 58. Setting update message

Service 1.5.2

2019-08-12

신규 기능 추가

애플리케이션 모니터링

분석 > 카운터
  • 차트 이미지 내보내기 기능이 추가되었습니다.

    • 카운터 위젯 생성 후, 우측 상단의 이미지 내보내기 아이콘을 클릭하여 해당 위젯을 이미지 파일로 다운로드할 수 있습니다.

      Counter Widget Capture
      Figure 59. Counter Widget Capture
  • 복수 메트릭 일괄 추가 기능이 추가되었습니다.

    • 카운터 페이지 화면 상단 '카운터' 선택란에서 카운터 그룹 항목을 선택하고 검색버튼을 누르면 해당 그룹에 속한 하위 메트릭 전체가 위젯으로 생성됩니다.

      To select counter group metrics:
      Figure 60. To select counter group metrics:
대시보드 > 히트맵 드래그 > 트랜잭션 목록
  • 에러만 선택하기 기능을 개선하였습니다.

    • 기존에 에러만을 클릭했을 때, 히트맵만 바뀌고 서버 목록 및 트랜잭션 목록이 바로 바뀌지 않는 현상을 개선하였습니다.

    • 에러만 클릭 시, 서버 목록에는 에러 트랜잭션이 발생한 서버 목록만을 표시하며, 트랜잭션 목록에도 바로 필터링이 적용됩니다.

Transaction List
Figure 61. Transaction List
Transaction List Error Only
Figure 62. Transaction List Error Only
서버 - V2 Release
  • 이전 버전의 화면으로 전환 할 수 있는 기능을 추가하고, 구 버전의 메뉴를 제거하였습니다.

    Server V2 Release
    Figure 63. Server
  • 서버를 선택한 이후 왼쪽의 서버 목록을 접을 수 있습니다.

  • 서버 V2에 Java - 쓰로틀링 기능이 이전 되었습니다.

    Server V2 Throttling Settings
    Figure 64. Server - Throttling Configuration
    • 후보 URL의 오른쪽 검색버튼을 클릭시 아래에 호출된 URL 목록을 통해 Throttle URL을 설정하실 수 있습니다.

      • PHP - 에이전트 상태

        Server V2 Agent Status
        Figure 65. Server - Agent Status
      • PHP, Python, Nodejs - 모듈 의존성

        Server V2 Module Dependancy
        Figure 66. Server - Module Dependancy
이벤트, 통계 > 이벤트 기록 페이지가 신규로 전환
  • 구형 페이지로 이동하는 페이지에서 신규로 전환되었습니다.

    Statistics Event History
    Figure 67. Statistics Event History

통합대시보드 V2

위젯 생성 > 시리즈 비교 > 기간 필터
  • 기간 필터 목록(기존 어제, 지난주, 날짜 지정)에 2주전, 3주전, 4주전이 추가되었습니다.

    Dashboard V2 Date Filter
    Figure 68. Dashboard V2 Date Filter

변경 사항

애플리케이션 모니터링

액티브 스테이터스
  • 차트의 색상이 변경되었습니다.

    Active Status
    Figure 69. Active Status

Service 1.5.1

2019-08-05

신규 기능 추가

애플리케이션 모니터링

큐브 메뉴 화면 개편
  • 기능 요약

    1. 요약, 서비스, 자원 분석을 위한 데이터세트 탭 기능

    2. 애플리케이션(복수 선택 가능) 및 에이전트 종류별, 에이전트 노드별 큐브 조회 기능

    3. 차트 위젯의 차트유형 선택 기능 : 데이터병합-시리즈 / 개별애플리케이션-시리즈 / 상위애플리케이션-막대

    4. 차트 레이아웃 편집 기능 : 위젯 확대/축소, 위치 변경 및 상태 저장

신규 큐브 화면 구성

CubeV2
Figure 70. CubeV2
  1. 데이터세트 탭

    • Overview : 애플리케이션 분석 개요

    • Service : 트랜잭션 서비스 관련 지표

    • Resource : 애플리케이션 및 시스템 자원 관련 지표

위젯 구성

Overview

히트맵, 국가별 트랜잭션(전체 애플리케이션 선택 시), DB Pool 수(개별 애플리케이션 선택 시), TPS, 인스턴스 응답시간, 사용자 수, CPU, Heap 사용량

Service

TPS, 인스턴스 응답시간, TX Error 건수, HTTPC 시간, HTTPC 건수, HTTPC 에러 건수, 정상 액티브 TX 건수, 느린 액티브 TX 건수, 매우 느린 액티브 TX 건수, SQL 시간, SQL 건수, SQL 에러 건수

Resource

CPU, CPU System 사용률, CPU User 사용률, CPU Wait 사용률, CPU Steal 사용률, Process CPU 사용률, Heap 크기, Heap 사용량, Heap Perm 사용량, Thread 수, GC건수, GC 시간

  1. 큐브 캘린더

    • 날짜 선택 > 큐브 구성 지표 선택 > 시간 순으로 정렬된 히트맵 차트

      • 용도 : 사용자의 관심 지표를 기준으로 이상 트랜잭션이 발생한 시간대을 빠르게 식별하여 상세분석 화면으로 연동하기 위한 기능.

      • 사용법 : 히트맵 상의 큐브 마우스 클릭 또는 키보드 방향키 이용

CubeV2 - 큐브 캘린더
Figure 71. CubeV2 - 큐브 캘린더
  1. 애플리케이션 선택

    • 애플리케이션 이름을 클릭하여 큐브 차트 상의 데이터를 필터링할 수 있습니다.

    • 우측 드롭다운 버튼을 클릭하여 에이전트/에이전트 종류/에이전트 노드 옵션을 이용해 선택 목록을 변경할 수 있습니다.

    • 애플리케이션이 비활성 상태인 경우 표시된 애플리케이션 이름의 밝기가 어둡게 표시됩니다.

    • 우측 핀 아이콘을 클릭하여 전체 선택/활성 애플리케이션 선택 등 부가 기능을 이용할 수 있습니다.

  2. 차트 위젯

    • 차트 위젯 레이아웃 변경

      • 제목을 클릭, 드래그 하여 화면 상에서 이동이 가능합니다.

      • 위젯 하단 크기 변경 아이콘을 클릭, 드래그 하여 위젯크기 변경이 가능합니다.

CubeV2 - 차트 위젯 레이아웃 변경
Figure 72. CubeV2 - 차트 위젯 레이아웃 변경
CubeV2 - 레이아웃 변경 적용 화면
Figure 73. CubeV2 - 레이아웃 변경 적용 화면
  • 차트 유형 변경

    • 위젯 좌측 상단의 아이콘을 클릭하여 차트 유형을 변경할 수 있습니다.

CubeV2 - 차트 유형 변경
Figure 74. CubeV2 - 차트 유형 변경
  • 제공하는 차트 유형

    • 데이터 병합 - 시리즈 차트

    • 개별 애플리케이션 - 멀티 시리즈 차트

    • 상위 애플리케이션 - 막대차트

CubeV2 - 데이터 병합 - 시리즈 차트
Figure 75. CubeV2 - 데이터 병합 - 시리즈 차트
CubeV2 - 상위 애플리케이션 - 막대차트
Figure 76. CubeV2 - 상위 애플리케이션 - 막대차트
서버 설정 V2
  • 기존 서버설정에서 지원하는 기능들 중 핵심기능들을 구현했습니다.

AgentV2
Figure 77. AgentV2
  1. 칼럼선택

    • 칼럼을 선택해 보여줄 칼럼을 선택합니다. 아래 칼럼선택에서 자세한것을 확인해주세요.

  2. 상위메뉴 3가지

    • 모든 비활성화 에이전트 삭제

      • 아래 비활성화 에이전트를 전부 삭제합니다.

    • 비활성 에이전트 삭제 시간

      • 서버에서 비활성 상태로 설정된 지난 경우 에이전트를 삭제합니다.

    • 서버 목록 새로고침

      • 서버 목록을 다시 불러옵니다.

  3. 비활성화 에이전트 삭제

    • 개별적으로 비활성화 상태인 에이전트를 제거합니다.

AgentV2 Column
Figure 78. AgentV2 칼럼선택
  1. 칼럼선택 상세

    • 현재 보고있는 테이블의 칼럼을 선택해서 볼 수 있습니다.

AgentV2 Minimize
Figure 79. AgentV2 서버 선택시 서버목록 축소화면
  1. 탭 마다 새로고침

    • 탭 이동시 마다 데이터를 새로 불러올 수 있도록 합니다. 체크를 하지 않더라도 초기 데이터는 불러옵니다.

  2. 선택된 서버를 해제

    • 선택된 서버를 해제시키며 서버 목록을 다시 확대시킵니다. (이 기능은 파랗게 색칠된 서버 목록을 다시 눌러도 동작합니다.)

액티브스택

액티브스택 플로우를 효율적으로 개선했습니다.

  • 기존의 액티브스택 페이지를 확인해 보면 각 데이터를 전체 조회하는 것 보다는 부분적으로 끊어서 에러를 찾는것에 초점을 잡는 방향으로 접근방식을 개선했습니다.

ActiveStack
Figure 80. ActiveStack
  1. 날짜 선택

    • 기존엔 날짜, 시작시간, 기간을 조합하여 시간을 조회하는 방식에서 날짜 하나만 클릭하는 방식으로 트랜잭션을 조회합니다.

  2. 검색

    • 선택된 날짜를 기준으로 차트를 조회합니다. 만약 조회한 날짜가 오늘이라면 가장 최근을 기준으로 5분 데이터를 가져오게 됩니다.

  3. 차트 클릭

    • 5분 간격의 시간대를 차트를 클릭하여 지정합니다.

  4. 시간 표현

    • 클릭한 시간을 표시합니다.

  5. 위 동작을 통해 액티브스택을 조금 더 쉽게 접근하실 수 있습니다.

데이터베이스 모니터링

락트리 화면 개선

락트리 페이지 화면 디자인, 성능이 개선되었습니다.

  1. 락 세션 수 확인

    • 차트를 통해 정해진 구간동안의 락이 걸린 세션 수를 확인할 수 있습니다. .Lock Tree Chart

      Lock Tree Chart
  2. 락 트리 테이블

    • 차트의 특정 시간을 클릭하면 해당 시간의 락 트리를 확인할 수 있습니다. .Lock Tree Table

      Lock Tree Table

기타 버그 수정

애플리케이션 모니터링
  • 카운터 > 위젯 추가 : 아래로 계속 추가되고 스크롤바가 생기는 경우 자동으로 스크롤됩니다.

  • 통계 > SQL > CSV 내보내기 : SQL의 개행을 지워 CSV 텍스트를 깨지지 않도록 수정했습니다.

통합대시보드V2

시리즈 차트에 지표가 추가되었습니다.

  • DB 평균 연결 시간

  • Http Call 평균 시간

  • SQL 평균 수행 시간

New Metric
Figure 81. New Metric
New SeriesChart
Figure 82. New SeriesChart

이퀄라이저 차트, 액티브 스테이터스 차트를 리사이즈하면 차트 사이즈가는 그대로였던 문제를 수정했습니다.

성능추이

기간을 커스텀으로 설정했을 때 종료시간을 선택할 수 있도록 수정하였습니다.

Service 1.5.0

2019-07-29

신규 기능 추가

통합대시보드 V2 (DashboardV2)

  • 대시보드 전체화면 모드 와 위젯 레이아웃 숨기기 기능을 추가하였습니다.

Dashboard V2 Before Fullscreen
Figure 83. Dashboard V2 Fullscreen - 1

전체화면 모드 클릭 식

Dashboard V2 Fullscreen
Figure 84. Dashboard V2 Fullscreen - 2
  • 통합대시보드 위젯의 차트 유형을 추가하였습니다 : Active Transaction 가로 막대 차트

    • 애플리케이션 이름을 길게 설정하여 세로형 막대 차트에서 이름을 확인하기 어려운 경우 유용합니다.

Active Transaction Horizontal Bar Chart
Figure 85. Active Transaction Horizontal Bar Chart

애플리케이션 모니터링

분석 메뉴의 트랜잭션 검색화면에 신규 차트를 추가하였습니다.
  • 검색 후 목록에서 멀티 트랜잭션 프로필 상세 펼침 시 Group Bar Chart 를 확인하실 수 있습니다.

Profile V2 Group Bar Chart
Figure 86. Profile V2 Group Bar Chart

프로젝트 대시보드

프로젝트 위젯에서 트라이얼 프로젝트의 남은 기간을 표시합니다.
  • 트라이얼 상태의 프로젝트의 경우 "D - 남은기간" 형식의 태그로 남은 트라이얼 기간을 확인할 수 있습니다. 자세한 빌링 정보는 프로젝트 화면에서 좌측 하단 빌링이동 아이콘을 클릭하여 확인이 가능합니다.

기타 버그 수정

애플리케이션 모니터링
  • 카운터 메뉴에서 카운터 위젯 삭제시 화면이 화이트아웃되는 현상을 수정했습니다.

  • 히트맵 메뉴에서 '에러만' 체크 후 재검색 시 정상 트랜잭션까지 표시되던 현상을 수정했습니다.

  • 큐브 메뉴 화면에서 키보드 방향키를 이용해 00시에 해당하는 큐브로 이동하지 못하던 현상을 수정했습니다.

Service 1.4.9

2019-07-22

언어설정 개인화

  • 회원 가입 페이지에 언어 설정 항목이 추가되었습니다. 서비스 페이지에서 표시할 언어를 지정하여 회원가입 하도록 적용됩니다.

Create Account
Figure 87. Create Account
  • 화면 우상단 계정 수정 메뉴를 통해 계정의 언어 설정을 변경할 수 있습니다. 본 설정은 서비스 페이지의 언어 표시 설정 기능을 제공합니다. 입력 가능한 정보는 'ko', 'en', 'ja', 'zh' 로 제한됩니다.

Edit Account
Figure 88. Edit Account
  • 기존의 언어 변경 기능은 현재 페이지 내의 언어 설정을 변경하는 기능으로만 활용됩니다.

Select Language
Figure 89. Select Language

통합대시보드 - 서버모니터링 디스크/네트워크 지표의 디바이스별 추이 차트 제공

  • 통합대시보드V2 > 위젯 생성 > 위젯 유형: 시리즈 차트 또는 시리즈 비교 > 프로젝트 선택: Server - 지표 선택

    • 디스크 관련 지표: Disk I/O % 등 12개 항목

    • 네트워크 관련 지표: Network Traffic 등 8개 항목

Server Monitoring
Figure 90. Server Monitoring
  • 위젯 생성 시 선택된 프로젝트에 등록된 서버에 해당하는, 디바이스별 수집 지표값의 추이를 나타냅니다. (툴팁: 프로젝트명 - 디바이스명 : 지표값)

Server Monitoring - Select Server
Figure 91. Server Monitoring - Select Server
  • 라인 하이라이트: 차트 라인을 클릭하여, 라인에 해당하는 수집 서버의 차트를 강조할 수 있습니다. (하이라이트 기능 이용 시 툴팁에선 수집 서버에 해당하는 디바이스 전체 차트를 표시합니다.)

사이즈 메트릭 유닛 표현

시스템의 지표 표현 단위는 2진 단위가 사용됩니다. killbyte를 megabyte로 변환 시에는 1,024로 나누어 표현하는 방식이 적용됩니다.

용량 지표를 표현하는 방식에 있어서 사용자에게 정확한 정보를 제공하기 위하여, 2진 단위로 나누어 표기하는 방식을 적용하였습니다.

메모리와 같이 byte 단위를 사용하는 지표의 경우, 메비바이트 형식의 표기법으로 일부 차트의 표현을 개편하였습니다.

  • 1GiB = 1,024MiB = 2^20B

Metric Unit
Figure 92. Metric Unit

프로파일

히트맵 드래그 > 트랜잭션 프로파일 - SQL 코드를 쉽게 복사하실 수 있습니다.
Before Profile Copy1
Figure 93. Before Profile Copy 1
Before Profile Copy2
Figure 94. Before Profile Copy 1
어플리케이션 > 분석 > 트랜잭션 검색 > 트랜잭션 목록의 상세 - TraceGraph 차트를 추가해 시각적으로 경과시간을 파악할 수 있습니다.
New Profile Trace Graph
Figure 95. New Profile Trace Graph

어플리케이션 설정

V1
  • 어플리케이션 목록에 인덱스를 추가했습니다.

Agent V1 Index
Figure 96. Agent V1 Index
V2
  • 어플리케이션 목록에 인덱스를 추가했습니다.

  • 목록을 재배치했습니다.

  • 비활성 에이전트 조회 오류를 수정했습니다.

  • 목록의 크기에 따른 정렬방식을 개별적으로 지정했습니다 [ex) 힙 히스토그램는 건수와 크기를 기준으로 내림차순]

Agent V2 Fixed
Figure 97. Agent V2 Fixed

기타 버그 수정

통합대시보드V2
  • 위젯 추가시 프로젝트 목록을 불러오지 못하는 수정했습니다.

  • 템플릿 생성 팝업과 위젯 공유에 관한 입력오류를 수정했습니다.

  • 서버모니터링 - 서버 목록의 서버 상세화면에서 디스크 이벤트 활성화 상태 변경 시 이전 상태값이 표시되던 오류를 수정하였습니다.

통계
  • SQL : CSV Export에 표준편차 칼럼을 추가했습니다.

  • 에러 : 목록 > 상세에서 스택이 없을 때 표시를 추가했습니다.

Service 1.4.8

2019-07-15

히트맨 트랜잭션 DB추적 기능 차트가 뜨지 않던 현상 해결 (Application, DB Monitoring 연동 기능)

  • 간헐적으로 히트맵 트랜잭션 페이지의 DB추적 기능의 차트가 나오지 않던 버그 수정되었습니다.

DB Monitoring Tibero에서 Plan이 나오지 않던 현상 해결

  • Tibero에서 Plan 조회가 불가하던 현상이 해결되었습니다.

어플리케이션 메뉴 > 서버 설정 V2(Beta) 추가

  • 기존에 페이지를 이동하는 방식이 탭과 좌우 에이전트 선택방식으로 향상되었습니다.

  • 한동안은 V1과 V2를 병행하여 V1의 기능을 완벽하게 전환 후 V1 클로징 예정.

AgentSetting V2
Figure 98. AgentSetting V2

Service 1.4.7

2019-07-08

통합대시보드V2 히트맵 드래그 모달, 트랜잭션 변경에 따른 로딩문제 수정

  • 히트맵 에이전트 선택시 즉각적으로 데이터를 가져오는 동작을 반복적으로 진행했을 때 로딩기능을 넣어 트랜잭션 목록을 정상적으로 가져올 수 있게 수정하였습니다.

통합대시보드 히트맵 모달 로딩기능 추가
Figure 99. DataDashboardV2 HitmapTransaction Loading

애플리케이션 대시보드, 대시보드 상세 Heap/Memory 차트

  • Heap/Memory 차트에서 전체량(Total) 또는 사용량(Used)을 필터링할 수 있는 기능을 추가하였습니다.

  • 위젯 상단 [TOTAL/USED] 버튼을 클릭하여, 선택한 지표를 차트 상에서 숨기거나 다시 표시할 수 있습니다.

  • 차트 상에 마우스 호버 시, 해당 애플리케이션의 Total값과 Used값을 함께 표시합니다.

  • 차트를 확대하여 확인하고 싶으신 경우, 우측 화살표 모양을 클릭하여 '대시보드 상세' 화면으로 진입하여 위와 같은 기능을 이용할 수 있습니다.

Dashboard Heap/Memory
Figure 100. Dashboard Heap/Memory

대시보드 히트맵 축 자동 조정 기능 추가

  • 애플리케이션 대시보드 / 히트맵 트랜잭션 페이지에 히트맵의 축을 자동으로 조정해주는 기능이 추가되었습니다

  • 스위치 버튼으로 기능을 ON/OFF 할 수 있습니다.

Dashboard Hitmap
Figure 101. Dashboard Hitmap

애플리케이션 스택 - 액티브 스택

  • 개별 액티브 스택에 트랜잭션의 상세 정보를 노출하였습니다.

Active Stack Infomation
Figure 102. Active Stack Information

Service 1.4.6

2019-07-02

애플리케이션 - 애플리케이션/그룹/통합 토폴로지

  • Inbound 호출, Outbound 호출 노드를 비표시 할 수 있는 옵션이 추가되었습니다.

show inbound and outbound nodes
Figure 103. Inbound/Outbound 호출 노드 표시
hide inbound and outbound nodes
Figure 104. Inbound/Outbound 호출 노드 비표시
  • 노드선택 뷰에서 지정하는 별칭이 지정되지 않던 버그가 수정되었습니다.

  • 애플리케이션 토폴로지에서 별칭 저장 시, 서버 메뉴에서 애플리케이션의 별칭을 부여하는 것과 동일하게 애플리케이션 명이 변경됩니다.

어플리케이션 - 상단 검색옵션 에이전트 검색기능

  • 에이전트를 선택 편의를 위해 에이전트 검색기능이 추가되었습니다.

oid search
Figure 105. 에이전트 검색

애플리케이션 - 트랜잭션 검색 사용성 개선

  • 트랜잭션 프로필 데이터 중 중요 스텝에 대한 식별이 용이하도록 스타일이 개선되었습니다.

  • HTTP-HEADER 정보가 추가되었습니다.

TX Profile
Figure 106. TX Search - Profile
  • SQL, HTTPC URL, 데이터베이스 커넥션 스텝을 마우스 호버하면 복사 기능과 더보기 표시 아이콘을 표시합니다.

TX Profile Step Copy
Figure 107. TX Profile - Step Copy
  • SQL 및 HTTP 파라미터 바인딩을 위해 사용하는 비밀번호 설정이 'WHATAP’인 경우 자동으로 매핑된 결과를 보여줍니다.

Parameter
Figure 108. TX Profile - Parameter
파라미터 바인딩을 위한 비밀번호는 에이전트 설치 경로의 [paramkey.txt]에서 편집 및 확인이 가능합니다.

애플리케이션 - 액티브스택의 Thread Kill 기능 사용자 권한 제한

  • User 권한 사용자의 경우 액티브스택에서 제공하던 Thread Kill 기능을 제한하였습니다. Admin 이상 사용자의 경우 해당 기능을 그대로 사용할 수 있습니다.

쿠버네티스 - 컨테이너 구성

  • 쿠버네티스 컴포넌트 StorageClass 가 추가되었습니다.

storage class
Figure 109. k8s storage class

버그 수정 사항

  • 어플리케이션 - 통계, 스택, 트랜잭션 검색 화면상 스크롤바가 두개 이상이 나타나며 화면 조작 및 시야를 방해하는 현상을 해소하였습니다.

Service 1.4.5

2019-06-24

애플리케이션 - 통계 - CSV 데이터 다운로드 최대 CSV 라인 수 설정 기능 추가

CSV_Count
  1. 통계 메뉴에서 조회한 데이터를 CSV 포맷의 문서로 다운로드 할 때 최대 출력하는 CSV라인의 수를 설정합니다. (기본값:100000)

애플리케이션 - 대시보드 번역과 단위 추가

  1. 단순히 값을 표현하고 있었던 툴팁에 좀더 시각적인 효과를 주기위해 번역값과 단위를 추가했습니다.

dashboard_chart_tooltip

통합대시보드, 애플리케이션 대시보드 - 차트 라인 하이라이트 기능 개선

  1. 복수개의 선형으로 이루어진 차트(멀티 라인)에서 라인 하나를 '클릭’하여 해당 애플리케이션에 해당하는 라인을 강조하는 기능입니다.

통합대시보드 - 히트맵 드래그 팝업 기능 개선

  1. 에이전트 종류, 에이전트 노드 선택에 따른 필터링 추가

  2. Hit와 Error 갯수가 모두 0인 경우 아래에 표시하지 않습니다

Hitmap_Transaction_Modal

애플리케이션 - 통계 - 차트 데이터 시간표시 개선

  1. 기존에 종료시간 기준으로 시간값을 보여주는 문제가 있는데 이동했을 때 5분이 빠지는 느낌을 주기 때문에 범위의 시간을 표시하도록 개선

Infinity_Chart_Tooltip

애플리케이션 - 큐브 - 키보드 방향키를 이용하여 큐브 캘린더 시간 선택 기능 추가

  1. 큐브 캘린더 : 분석 지표 선택 - 일자 선택 - 선택한 지표에 해당하는 히트맵이 시간 순으로 표시됩니다. 사용자가 관심있는 지표의 추이 정보를 캘린더 형식으로 표시하여 상세 분석을 연계 위한 탐색 기능을 제공합니다.

  2. 기존 큐브 캘린더의 시간 구간을 클릭하여 시간을 선택하는 것 외에도, 키보드 방향키를 이용하여 선택 구간을 이동할 수 있도록 기능을 추가되었습니다.

Cube

세션 만료 시 로그아웃 안내 메시지 기능 추가

  1. 브라우저에서 사용자가 아무런 동작 없이 장기간 방치된 경우 세션이 종료됩니다. 세션이 종료된 경우 데이터 조회가 제한되기 때문에, 재로그인을 안내하는 메시지가 화면 상에 표시됩니다.

logout

DB Monitoring ⇒ 멀티 인스턴스 버그 수정

  1. 인스턴스의 수가 많은 경우 리소스 차트가 나오지 않는 현상이 해결되었습니다.

애플리케이션 - 히트맵 트랜잭션 버그 수정

  1. 히트맵 트랜잭션 페이지 진입, 뒤로가기, 재진입시에 흰 페이지로 나오던 현상이 해결되었습니다.

쿠버네티스 - 컨테이너 구성 토폴로지

  • PersistentVolumeClaim, Job, CronJob, StatefulSet, ServiceAccount, Role, RoleBinding, ClusterRole, ClusterRoleBinding, ConfigMap 선택 버튼이 추가되었습니다.

switch buttons
Figure 110. 컨테이너 구성 토폴로지 컴포넌트 선택 버튼
  • Pod, PersistentVolumeClaim, PersistentVolume 간의 연관 관계를 표시하는 기능이 추가되었습니다.

relation of pod
Figure 111. Pod, PersistentVolumeClaim, PersistentVolume 연관 관계

Service 1.4.4

2019-06-17

토폴로지 개선

  1. 화면 사이즈 조정 시, 토폴로지를 다시 렌더링 하도록 개선하였습니다.

  2. 노드 선택 박스의 표시/비표시 방법을 명확히 인지하도록 버튼에 (더블클릭) 문구를 추가하였습니다.

로그인/회원 가입 페이지 버그 픽스

  1. 하단 언어 선택 변경 시, 언어가 변경되지 않는 버그를 수정하였습니다.

  2. 국가를 대한민국으로 선택 시, 전화번호 인증 버튼이 노출되지 않는 버그를 수정하였습니다.

빌링 계정 드롭다운 메뉴 변경

  1. 드롭다운 메뉴 중, 이메일 클릭 시 존재하지 않는 링크로의 전환기능을 폐기하였습니다.

Limited 프로젝트 사용 제한 설정 정비

  1. Trial 기간이 끝난 후 유상 전환되지 않은 프로젝트의 경우 일부 서비스 사용이 제한됩니다.

    • Application Monitoring : 애플리케이션 대시보드, 이벤트 설정, 이벤트 수신 설정 외 사용 제한

    • Server Monitoring : 리소스보드, 이벤트 설정, 이벤트 수신 설정 외 사용 제한

히트맵 차트 기능 추가

Hitmap
Figure 112. 히트맵 부가 기능
  1. 히트맵 버전 업그레이드를 위해 보류한 좌우(<>)구간 이동 기능을 보완하였습니다.

  2. DB 추적 기능 을 보완하였습니다.

    • 히트맵 트랜잭션 분포와 DBX 플랫폼별 주요 지표에 대한 추이 정보를 비교 분석 수 있습니다.

    • 사용자가 속한 DBX 프로젝트 및 인스턴스를 선택하여 차트 기능을 활성화합니다.

APM 히트맵 DB 추적 모달
Figure 113. APM 히트맵 - DB 추적 모달

대시보드 상세 - 실시간 비동기 로직으로 변환

  1. 로딩이 길어지는 문제가 일차적으로 발생하여 호출을 차례대로 하면서 불러온 순서대로 즉각적으로 추가해 렌더링시켜주는 방식으로 변경

성능추이 - 표현데이터 문제 수정

  1. 시간값 6시로 표시되지만 값은 3시간 데이터로 표현되는 문제 처리

  2. 하루치 이상의 데이터만 표현하지 않던 오른쪽의 시리즈 데이터를 12시간 에서도 보여주지 못했던 문제를 처리완료

통합대시보드V2 - 실시간 데이터 보정 추가

  1. 실시간으로 값을 불러오는 과정에서 오류가 나는 상황이라면 그 시간값을 기록하여 다음 호출에 그 시간값을 불러와 데이터 로직을 보정해 추가하는 로직을 추가

  2. 도중 서버의 문제나 네트워크 문제가 발생했더라도 추후 호출에서 값을 가져오기 때문에 새로고침을 직접 해줄 필요가 없어집니다.

DB모니터링 일일 리포트 기능 복구

  1. DB모니터링의 일일 리포트 기능이 복구되었습니다.

DB모니터링 Y축 값 이상 해결

  1. Y축의 값이 간헐적으로 길게 나오던 현상이 해결되었습니다.

간편선택 블랙테마 추가

  1. 대시보드 화면에서 블랙 테마가 구동됨에 따라 임시로 색 변경 처리되던 구조가 새롭게 디자인입혀 처리되었습니다.

간편선택 블랙테마
Figure 114. 대시보드 - 간편선택 블랙테마

Service 1.4.3

2019-06-10

토폴로지 관련

  • 위치 저장 기능이 보완되었습니다.

    • 위치 복원 버튼이 라디오 버튼으로 대체되었습니다. 위치 복원 라디오 버튼 체크 시, 차트 갱신 과정에서 추가되는 노드의 위치도 복원합니다.

    • 기존의 위치 저장 기능과 별도로 위치 저장(병합) 기능이 추가되었습니다.

위치 저장(병합) 버튼 클릭 시에는, 현재 노드의 위치에 기존에 저장한 노드의 위치 정보를 병합하여 저장합니다.
  • 별칭 지정 기능이 추가되었습니다.

    • 노드 선택 표시 차트 상의 노드에서 우측 마우스 클릭 시, 별칭 입력 팝업이 표시되며 엔터 입력 시 별칭이 저장됩니다. 이후 차트 갱신 타이밍에 별칭이 적용됩니다.

  • JAVA 에이전트의 애플리케이션 차트 적용 옵션이 디폴트로 적용됩니다.

에이전트 설치 페이지를 통해 다운로드 받으시는 에이전트 패키지의 설정 파일(whatap.conf)에 디폴트로 옵션이 추가됩니다.

쿠버네티스 프로젝트 추가

대망의 쿠버네티스 모니터링 기능이 추가되었습니다.

Create Kubernetes Project
Figure 115. 쿠버네티스 프로젝트 생성

대시보드 애플리케이션 선택 기능 개선

대시보드 차트를 구성하는 애플리케이션 선택 옵션을 추가하였습니다.

메뉴 > 대시보드 상단 > 에플리케이션 선택
Figure 116. 메뉴 > 대시보드 상단 > 에플리케이션 선택
  • 기존 에이전트 단위뿐만 아니라 에이전트 종류에이전트 노드 단위 애플리케이션 선택이 가능합니다.

에이전트 종류 및 에이전트 노드 단위 애플리케이션 선택
Figure 117. 에이전트 종류 및 에이전트 노드 단위 애플리케이션 선택
  • 애플리케이션 활성 상태 구분 : 활성 상태(좌측), 비활성 상태(우측)

활성 상태 구분
Figure 118. 활성 상태(좌측), 비활성 상태(우측)
  • 선택 구분 : 선택(좌측), 미선택(우측)

선택 구분
Figure 119. 선택(좌측), 미선택(우측)
  • 핀 모드 전환을 통해 애플리케이션 전체 현황을 대시보드 상단 위치에 고정할 수 있습니다.

    • 핀 모드 전환 시 전체 선택 / 활성중인 애플리케이션 선택 / 선택한 것만 보기 기능을 제어할 수 있습니다.

핀 모드
Figure 120. 핀 모드
  • 에이전트 선택의 경우 간편 선택 기능을 이용해 보다 쉽게 애플리케이션 선택이 가능합니다.

    • 애플리케이션 이름 순으로 정렬된 테이블에서 상단 열 구분(A, B, ..) 또는 좌측 행 구분(1, 2, ..)을 클릭하면 해당 열 또는 행에 해당하는 에플리케이션을 선택할 수 있습니다.

    • 검색 시 입력한 내용을 포함하는 애플리케이션을 강조합니다.

간편 선택
Figure 121. 간편 선택

통합대시보드 V2 부수적인 안정화

통합대시보드V2는 Beta라는 속성을 가지고 지속적인 오류를 발생시키고 있어 상당한 골칫거리 였습니다. 아래에 현재 수정된 버그들을 나열합니다.
또한 기존 통합대시보드V1에 지원하던 수정기능과 공유기능들을 지원하고 선택된 어플리케이션에 관한 정보를 바로 보여주는 작은 팝업도 추가했습니다.

  1. 시리즈 지표 입력 오류

  2. 위젯 추가 사이즈 조절

  3. 머지타입이 변환되지 않는 이슈

  4. 템플릿 생성시 프로젝트 동시선택 현상

  5. 아크이퀄라이저 머지타입 추가에 따른 차트기능 추가 및 데이터 병합으로 인해 수많은 데이터 표현시 값이 잘려 표현되는 문제 인 것들과 추가적으로 부수적인 오류들을 수정해 현재 반영했습니다.

통합대시보드는 이젠 하위메뉴가 아닌 메인에서 가장 잘 보이는 위치로 이동해 나갈 예정입니다.

Server Monitoring 일본 지역 추가

Server Monitoring Service ( INFRA ) 의 서비스 지역이 추가되었습니다.

  • Singapore-AWS

  • Indo-AWS-Mumbai

    1. 다음과 같이 프로젝트 생성 메뉴에서 선택 가능합니다.
      지역란을 [Singapore-AWS] 혹은 [Indo-AWS-Mumbai] 로 선택

SelectNewRegion
Figure 122. 프로젝트 생성 화면

Service 1.4.2

2019-06-03

서버모니터링 - 서버 목록

  • 서버 목록 화면의 사용성 개선 작업을 진행했습니다.

서버 목록
Figure 123. 서버 목록
  • 수치의 가독성을 높였습니다.

  • 다수의 서버 모니터링 정보를 한 화면 내에서 제공합니다.

  • 위험 / 경고 상태의 서버를 빠르게 식별합니다.

  • 실시간 서버 상태 표시

서버 싱태
Figure 124. 서버 상태
서버 목록
Figure 125. 서버 목록

Service 1.4.1

2019-05-27

토폴로지 컨텍스트 메뉴 추가

토폴로지에 컨텍스트 메뉴가 추가되었습니다. 애플리케이션 및 그룹 노드에서 마우스 우측 버튼을 클릭하시면 애플리케이션 대시보드로 이동하거나, 별도 탭으로 표시하기 위한 메뉴가 표시됩니다.

향후 출시 예정인 쿠버네티스 모니터링에는 컨테이너 맵, 노드 자원, 컨테이너 자원 메뉴가 추가로 표시됩니다.
Context Menu
Figure 126. 컨텍스트 메뉴

Service 1.4.0

2019-05-20

Open API 버그 수정

  • Open API를 사용하여 일별 사용자 정보를 취득할 경우, GMT+0 기준으로 사용자 수를 집계하여 반환하던 버그를 수정하였습니다.

  • 전달받은 시간 정보를 GMT+0로 보정하던 처리를 폐기하고, 사용자 전달 값 기준으로 조회가 가능하도록 개선되었습니다.

사용 방법

curl -L -w "\n" -H "x-whatap-token: {Project Token}" -H "x-whatap-pcode: {Project Code}" "https://service.whatap.io/open/api/json/visitor_d/{stime}/{etime}"
  • stime , etime은 Unix Epoch Time (millisecond) 을 활용합니다.

  • 기존에는 stime을 보정하여 GMT+0시로 보정하여 응답을 반환하던 부분을 아래와 같이 개선하였습니다.

Open API를 통해 전달된 stime 기준으로 24시간 단위로 사용자 수를 집계한 결과를 응답으로 반환합니다.

FlexibleReport 기능 추가

FlexibleReport 기능이 베타로 릴리즈 되었습니다.

 현재 보고서를 모두 FlexibleReport로 마이그레이션 하고 있으며 , 고객 요청 대응에 맞춰 빠르게 Report 를 개발할 수 있는
기능을 가지고 있습니다.
  • 자세한 설명은 정식 릴리즈가 되면 문서화 하여 공개 하도록 하겠습니다.

FlexibleReport V1
Figure 127. FlexibleReport

Server Monitoring 일본 지역 추가

Server Monitoring Service ( INFRA ) 의 일본 지역이 추가되었습니다.

  1. 다음과 같이 프로젝트 생성 메뉴에서 선택 가능합니다.
    지역란을 [Japan-AWS-Tokyo] 으로 선택

SelectTokyoRegion
Figure 128. 프로젝트 생성 화면

Service 1.3.9

2019-05-06

통합 대시보드 V2 추가

통합 대시보드 V2(이하 대시보드V2)의 베타 버전이 릴리즈 되었습니다.

대시보드V2는 기존 대시보드V1 제품의 안정성 향상 및, 기능적인 측면에서 발전하였습니다.

  1. 라이브 편집
    이제, 대시보드 편집시 모니터링 중인 화면을 정지하지 않아도 됩니다. 라이브 편집 기능을 통해 모니터링을 하는 중에도 끊김없이 새로운 패널을 추가하거나 기존의 패널을 삭제 / 변경할 수 있습니다.

  2. 사용 중인 대시보드를 URL 주소로 접근
    모니터링하고자 하는 대시보드를 URL 주소로 접근 할 수 있습니다. 대시보드 진입시 URL에 기록되는 쿼리 값을 이용하여 동일한 대시보드에 다시 진입할 수 있습니다.

dashboardv2
Figure 129. 통합 대시보드 V2

애플리케이션 - 일자별 애플리케이션 현황 추가

일자별 애플리케이션 현황 데이터를 조회할 수 있는 화면이 추가되었습니다.

시간당 건수 (트랜잭션 / 사용자 / SQL / 패치 / HTTPC ) 데이터는 시간단위 바 차트 형태로 제공되며, 시계열 데이터는 선 차트 형태로 제공됩니다.

아울러, 각 값의 합계 / 평균 / 최대 중 유의미한 지표가 텍스트로 제공됩니다.

Daily App Stat
Figure 130. 일자별 애플리케이션 현황

분석 - 트랜잭션 검색 화면 추가

트랜잭션 프로파일을 보다 정밀하게 조회할 수 있는 화면이 추가되었습니다.

트랜잭션 검색은 다음과 같은 상황에 활용합니다.

  • 응답시간 이 느린(또는 과도한) 트랜잭션 조회

  • 특정 URL 을 호출한 트랜잭션 조회

  • 에러 메시지 (또는 클래스) 가 발생한 트랜잭션 조회

  • 클라이언트 IP , 도메인 기준 트랜잭션 필터링

  • referer 기준 트랜잭션 필터링

  • SQL 을 과도하게 수행한 트랜잭션

  • User Agent 기준 트랜잭션 필터링

Transaction Search
Figure 131. 트랜잭션 검색

Service 1.3.8

2019-04-15

애플리케이션 - Netstat 토폴로지 추가

애플리케이션 모니터링에 Netstat 토폴로지 기능이 추가되었습니다.

Netstat 토폴로지는 프로젝트 내의 애플리케이션과 애플리케이션의 리스닝 정보, 아웃바운드 호출 연관 정보를 표현합니다.

netstat topology
Figure 132. Netstat 토폴로지

애플리케이션과 애플리케이션의 리스닝 포트와 아웃바운드 호출 정보를 노드로 표현하며,
리스닝 포트와의 관계는 직선으로, 아웃바운드 호출 정보와의 관계는 곡선으로 표현합니다.

Service 1.3.7

2019-04-08

애플리케이션 - Open API 방문자 수 관련 버그 픽스

액티브 사용자 추출 관련 API 버그가 수정되었습니다.

  • 액티브 사용자 (5분 단위)의 데이터의 timestamp가 동일하게 출려되던 오류가 수정되었습니다.

  • 액티브 사용자 (1시간 단위)의 데이터가 5분 단위 방문자 수로 잘못 추출되던 건을 1시간 단위로 추출되도록 수정되었습니다.

액티브 사용자 (5분 단위)

command
$ curl -L -w "\n" -H "x-whatap-token: J************************A" -H "x-whatap-pcode: 1**1" "https://service.whatap.io/open/api/json/visitor_5m/1554444000000/1554076800000"
response
{
  "data": [
    [
      1554444005000, <== 1  (5*60*1000)
      12
    ],
    [
      1554444010000,
      12
    ],
    ()
  ],
  "pcode": 3000000079,
  "stime": 1554444000000,
  "etime": 1554444300000,
  "total": 59
}

액티브 사용자 (1시간 딘위)

command
$ curl -L -w "\n" -H "x-whatap-token: J************************A" -H "x-whatap-pcode: 1**1" "https://service.whatap.io/open/api/json/visitor_h/1554444000000/1554454800000"
response
{
  "data": [
    [
      1554444000000, <== 1  (60*60*1000)
      18
    ],
    [
      1554447600000,
      16
    ],
    ()
  ],
  "pcode": 3000000079,
  "stime": 1554444000000,
  "etime": 1554454800000,
  "total": 3
}

Service 1.3.3

2019-03-06

인프라 - 서버 목록 기능을 개편하였습니다.

인프라 수집 서버의 전체 현황을 나타내며 서버 관리기능 및 서버 간 비교기능을 제공합니다.

서버 목록 (테이블)

에이전트가 할당된 전체 서버의 현황을 나타냅니다.

01
칼럼 추가 및 칼럼 선택 기능 개선

테이블에 표시할 칼럼을 선택할 수 있습니다.
서버목록 상에 표시할 수 있는 지표의 수를 대폭 늘리고 선택 옵션을 추가하였습니다.
선택 옵션 : 전체 선택 / 전체 해제 / (와탭 지정)초기값 설정 / 그룹별 선택

05
06
04
NOTE

선택한 칼럼은 브라우저 쿠키값으로 저장되어 페이지 새로고침 후에도 상태가 유지됩니다. 쿠키 삭제 또는 기타 이유로 설정 간 오류가 발생하면 전체 선택 상태로 초기화합니다.

고급 필터 기능 추가

디스크와 네트워크 칼럼은 디바이스별로 값을 나타냅니다. 디바이스 필터링 옵션을 설정하여 원하는 값만을 표시할 수 있습니다.

15
16
17
  • 적용 칼럼 선택 : 필터 기능을 적용할 디스크 또는 네트워크 칼럼을 선택합니다. 복수 설정이 가능합니다.

18
  • 옵션 선택

    • 포함 : 전체 디바이스 중 입력값을 포함한 것을 표시합니다.

    • 미포함 : 전체 디바이스 중 입력값을 포함하지 않은 것을 표시합니다.

    • 일치함 : 전체 디바이스 중 입력값과 일치하는 것을 표시합니다.

    • 일치하지 않음 : 전체 디바이스 중 입력값과 일치하는 것을 제외하여 표시합니다.

      NOTE

      고급 필터링 설정 내용은 사용자 브라우저 쿠키값으로 저장합니다. 페이지 이동 또는 새로고침 시 설정 상태가 유지됩니다. 단, 쿠키 삭제 또는 기타 이유로 에러 발생할 시 필터링을 적용하지 않은 상태로 초기화합니다.

태그

태그는 에이전트 설치시 자동으로 부여되며 사용자 입력값을 추가할 수 있습니다. 태그를 통해 수집 서버를 식별하거나 태그를 선택하여 서버 현황을 필터링하는데 사용합니다.

08
10
09

태그를 선택하여 서버 현황을 필터링합니다.

11

'New Tag’를 클릭하여 새로운 태그 생성 기능을 활성화합니다.

모니터링 관리

에이전트 명령을 통해 서버를 관리하는 기능입니다.

  • 일시정지 : 해당 에이전트의 데이터 수집을 일시 중지합니다. 선택시 서버 목록에서 일시중지 상태로 표시됩니다.

  • 재시작 : 에이전트를 재시작합니다.

  • 해지하기 : 에이전트의 작동을 중지합니다. 선택시 서버 목록에서 제외되며 서버 현황을 확인할 수 없습니다.

12
13

기타 변경된 UI

상세 페이지 이동

서버 상세 페이지로 이동합니다.

19
칼럼 너비 설정

칼럼 제목의 가장자리를 드래그하여 칼럼 너비를 설정할 수 있습니다.

25
칼럼 정렬

칼럼 제목을 클릭하여 오름차순 / 내림차순 정렬이 가능합니다.

26
NOTE

칼럼 너비 및 칼럼 정렬 설정값은 브라우저 쿠키로 저장되어 페이지 새로고침 후에도 상태가 유지됩니다. 쿠키 삭제 또는 기타 이유로 설정 간 오류가 발생하면 미설정 상태로 초기화합니다.

서버간 비교하기

서버 간 비교 차트를 제공합니다. 서버 목록에서 서버의 행을 클릭 시 비교 기능이 활성화됩니다. * 비교서버는 5개까지 선택이 가능합니다.

20
NOTE

서버 별 고유 색이 할당되며 아래 비교 차트에서 서버 구별을 위해 사용됩니다.

  • 비교 차트

21
22

비교 차트를 전체 화면으로 확대 또는 축소할 수 있습니다.

23

기간 조회 버튼을 클릭하여 과거 데이터를 조회할 수 있습니다.

24

Service 1.3.2

2019-03-04

화면 버그 수정

  • 대시보드 히트맵 TPS / 에러 카운터 수정 일부 환경에서 TPS와 에러 카운터가 정상적으로 계산되지 않던 문제가 해결되었습니다.

  • 차트 y축 최고값 조절 에러 수정 이제 차트 최고값이 기존보다 떨어졌을 때도 차트 y축 최고값 조절됩니다.

  • 통합 대시보드 공유 기능 수정 통합 대시보드 공유 기능이 정상적으로 작동하지 않던 문제가 해결되었습니다.

Service 1.3.0

2019-02-07

토폴로지(베타)

  • APM 토폴로지 뷰가 추가되었습니다.

    • Java Agent 1.7.0+ 적용을 필요로 합니다.

    • 에이전트 옵션에 다음 3가지 옵션을 활용하실 수 있습니다.

      • sql_dbc_meter_enabled

      • httpc_host_meter_enabled

      • tx_caller_meter_enabled

apm topology view
Figure 133. APM Topology View 1
  • 기능 간략 요약

    • 화면 갱신 간격: 10초, 갱신 간격 변경 가능, 새로고침 옵션 제공

    • 노드 색상

      • 바다색: 해당 프로젝트의 Java 애플리케이션

      • 연두색: 불특정 외부 모듈

      • 하늘색: HTTP 외부 호출

      • 주황색: DB 호출

    • 링크 정보

      • 평균 응답시간

      • 호출 건수 (합산, 에러 건수 포함)

      • 에러 건수 (합산)

      • 패치 시간 (합산)

      • 패치 건수 (합산)

    • 이벤트

      • 마우스오버: 선택된 애플리케이션 기준으로 링크가 연결된 노드만 하이라이트, 나머지 노드는 dimming

      • 마우스아웃: 모든 노드를 하이라이트

      • 드래그: 노드를 드래그 하여 위치 이동 가능(위치 고정 기능은 제공하지 않음)

      • 변경 사항 반영: 추가된 노드, 삭제된 노드와 연결 정보만 갱신됨

apm topology view
Figure 134. APM Topology View 2
  • 참고 사항

    • 베타 테스트 중으로 개선 작업이 진행되고 있으며, 본 문서의 이미지와 운영 반영 이미지가 다소 상이할 수 있습니다.

    • 문제 및 개선 사항은 yiseo@whatap.io로 전달주시면 베타 중 개선에 반영하도록 하겠습니다.

Service 1.2.9

2018-02-05

APM - DBX 연계 기능 오픈

  • APM 히트맵 트랜잭션 페이지에 DB 추적 기능이 추가되었습니다.

    • 히트맵 트랜잭션 분포와 DBX 플랫폼별 주요 지표에 대한 추이 정보를 비교 분석 수 있습니다.

    • 히트맵 조회 - 'DB추적'

APM 히트맵 DB 추적
Figure 135. APM 히트맵 - DB 추적
APM 히트맵 DB 추적 모달
Figure 136. APM 히트맵 - DB 추적 모달
  • 기능 간략 요약

    • 사용자가 속한 DBX 프로젝트 및 인스턴스를 선택하여 차트 기능을 활성화합니다.

    • 플랫폼별 제공하는 DB 추적 지표는 아래와 같습니다.

      • PostgreSQL

        • blks_hit

        • blks_read

        • active sessions

        • total runtime

        • commit count

        • lock wait sessions

        • total sessions

        • long running sessions

      • Oracle

        • cpu

        • active sessions

        • total sessions

        • lock wait sessions

        • session logical reads

        • physical reads

        • execute count

        • opened cursors current

      • MySQL

        • Innodb_buffer_pool_read_requests

        • Innodb_buffer_pool_reads

        • Threads_connected

        • Threads_running

        • Questions

        • Com_select

        • Writes

        • Bytes_received

      • MSSQL

        • cpu

        • active sessions

        • total sessions

        • lock_wait_sessions

        • Page reads/sec

        • Page lookups/sec

        • Range Scans/sec

        • Full Scans/sec

      • Tibero

        • cpu

        • active sessions

        • total sessions

        • lock wait sessions

        • total elapse time

        • long running sessions

        • block disk read

        • execute count

Service 1.2.8

2019-02-03

탑 스택

  • APM 탑스택에 히스토리 기능이 추가되었습니다.

    • 선택된 스택 단위 시계열 집계 추이 분석 기능으로서, 단위 기간 내 스택 분석 방식을 보완하여 이슈 스택의 증감 추이를 판단할 수 있습니다.

    • 이슈 스택의 개선 여부, 또는 문제 발생의 시간 규칙을 확인하는데 유용합니다.

apm topstack
Figure 137. APM Topstack
  • 기능 간략 요약

    • 스택 목록 상에서 우측 [히스토리] 버튼을 클릭하여 관심 스택을 선택합니다.

    • 우측 하단의 [확장/축소 아이콘]을 클릭하여 차트 화면을 늘리거나 줄일 수 있습니다.

Service 1.2.7

2019-01-07

APM 멀티 트랜잭션 추적 (MTID)

  • APM 멀티 트랜잭션 화면에 차트 기능이 추가되었습니다.

    • 히트맵 분석 > 히트맵 프로필 > MTID > Chart View

apm mtid
Figure 138. APM 멀티 트랜잭션 추적 차트
  • 기능 용약

    • 좌측 화면은 애플리케이션 간 트랜잭션 관계를 표현합니다.

    • 우측 바 차트를 통해 최초 진입점 기준으로 응답시간의 지연 원인이 된 애플리케이션을 특정할 수 있습니다.

  • 이벤트

    • 마우스 오버 : 해당 서버의 응답시간 바 차트를 강조합니다.

    • 애플리케이션 이름 또는 응답시간 바 차트 클릭 : 트리뷰로 이동하여 해당 애플리케이션의 프로필을 확대합니다.

    • 마우스 드래그 : 차트를 확대 또는 축소, 이동할 수 있습니다.

Service 1.2.6

2018-12-21

사용자 계정 생성

  • 계정 생성 페이지가 개편되었습니다.

    • Title(직책/직급) 항목 폐기

    • Phone(전화번호) 입력란에 숫자만 입력 가능하도록 마스킹

    • Name(이름) 입력 정보가 저장되지 않던 버그 수정

    • Email(이메일) 관련 주의 문구 추가 - 사용처 및 스팸 확인

    • Phone(전화번호) 관련 주의 문구 추가 - 사용처

create account
Figure 139. create account

관리자 계정 생성

  • 관리자 계정 생성 페이지가 개편되었습니다.

    • Title(직책/직급) 항목 폐기

    • Email(이메일), Phone(전화번호) 관련 주의 문구 추가 - 사용처 및 스팸 확인

  • 관리자 화면 > ACCOUNTS > 계정 추가

admin create account
Figure 140. admin - crete account

사용자 정보

  • 관리자 계정 상세 페이지가 개편되었습니다.

    • Title(직책/직급) 항목 폐기

    • 최종로그인 시각, 로그인 회수 추가

  • 관리자 화면 > ACCOUNTS > 계정목록 상세 버튼

admin - user information
Figure 141. admin - user information

수집서버 연관관계

  • 수집서버 연관관계 차트가 추가되었습니다.

    • 수집서버의 마이크로 어플리케이션 서버, 리전, 프로젝트와 관련한 정보를 표시합니다.

    • type: region으로 표시된 노드 클릭 시, 리전 단위의 어플리케이션 서버 정보와 프로젝트 정보가 추가됩니다.

  • 관리자 화면 > RELATION

admin - relation
Figure 142. admin_ - relation
admin - initial relation
Figure 143. admin - relation initial page

APM 차트

  • 각종 통계 정보에 차트가 추가되었습니다.

    • 탑 스택 차트 - APM 프로젝트 > 스택 > 턉 스택

    • 유니크 스택 차트 - APM 프로젝트 > 스택 > 유니크 스택

top stack chart
Figure 144. top stack chart
unique stack chart
Figure 145. unique stack chart

Dashboard 템플릿

  • 사용자 정의 대시보드를 보다 쉽게 만들수 있는 대시보드 템플릿 기능이 추가되었습니다.

    • MY PROJECT > Dashboard > Create Dashboard

dashboard template
Figure 146. dashboard template

관리자 이벤트(알림) 정책

  • 관리자가 제품별 이벤트(알림) 정책을 관리할 수 있는 기능이 추가되었습니다.

    • 마스터 이벤트 정책의 생성, 복제

    • 마스터 이벤트 정책을 개별 프로젝트로 복제

event policy
Figure 147. event policy

개선 및 버그 픽스

  • Dashboard API 개선

  • 모바일 디바이스 삭제 불능 버그 수정

  • 내부 통신 모듈 업데이트

  • 통계 페이지 산출 오류 버그 수정

Service 1.2.5

2018-12-10

통계 차트

  • 클라이언트IP 통계 화면에 Bilevel 차트 기능이 추가되었습니다. 국가/도시/IP 기준 카운트 수와 IP 클래스를 기준의 카운트 수를 기준으로 점유율을 원호로 배치하여 비중을 표현하는 2개의 차트를 통해 IP통계를 보다 직관적으로 확인할 수 있습니다.

    • 통계 > 클라이언트IP

client ip chart by country and city
Figure 148. client ip chart by country and city
client ip chart by ip class
Figure 149. client ip chart by ip class
  • 통계 기능에 복수 어플리케이션의 시계열 데이터 비교를 위한 비교 차트가 추가되었습니다.

    • 통계 > 트랜잭션 통계 > 트랜잭션

    • 통계 > 에러

    • 통계 > SQL

    • 통계 > 원격 HTTP 호출

comparison of application transaction
Figure 150. comparison of application transaction

Service 1.2.4

2018-12-03

통계 차트

통계 화면에 로딩된 데이터를 기준으로 연관관계를 용이하게 파악하기 위한 차트가 추가되었습니다.
Edge Bundling Chart로 트랜잭션 URL과 호출 대상 트랜잭션 URL 및 에러, SQL, 원격 HTTP 호출 간의 관계를 표현합니다.
연결선의 두께는 카운트 정보를 토대로 연결선의 두께 및 색상을 차등화하여 표현하고, 각 노드에 마우스오버 시 툴팁으로 상세 정보를 표시합니다.

  • 통계 > 트랜잭션 > 호출자

  • 통계 > 에러

  • 통계 > SQL

  • 통계 > 원격 HTTP 호출

multi server transaction - edge bundling chart
Figure 151. multi server transaction - edge bundling chart
multi server transaction - relation chart
Figure 152. multi server transaction - relation chart
error - edge bundling chart
Figure 153. error - edge bundling chart
sql - edge bundling chart
Figure 154. sql - edge bundling chart
http outbound call - edge bundling chart
Figure 155. http outbound call - edge bundling chart

Java Agent Release Notes

Paul S.J. Kim <admin@whatap.io>

Java Agent 1.8.7

2019-08-30

플러그인 추가

Akka모니터링을 위한 Weaving 플러그인이 추가되었습니다.

Weaving플러그인은 메일로 문의하면 별도로 제공합니다.

버그수정

  1. 사용자지정 카운터에서 5분 요약 데이터 관련 버그 수정하였습니다.

  2. 쓰로틀링 처리시 안내페이지로의 전달에 대한 버그 수정되었습니다.

Java Agent 1.8.6

2019-08-20

비즈니스 모니터링 추가

bizmon_enabled=true 옵션이 추가되었습니다. 이 옵션이 whatap.conf에 설정되면 에이전트에서는 profile_basetime에 의해 버려지는 트랜잭션 정보와 액티브트랜잭션 정보를 요약하여 수집 서버로 전송합니다.

bizmon_enabled=true

파일디스크립터 카운트 수집

자바 성능 카운트에서 파일 디스크립터 수를 수집합니다.

버그 픽스

  1. DateUtil에서 영문 목요일 정보 수(Thu)를 수정하였습니다.

  2. SQL을 수집할때 "/"연산이 사용된 경우 누락되는 버그 수정되었습니다.

  3. 비즈니스 모니터링 관련 다수의 버그가 수정되었습니다.

Java Agent 1.8.6

2019-08-07

Open File Descriptor 모니터

자바 프로세스가 오픈한 file descriptor 수를 모니터링 합니다.

counter_procfd_enabled=true

모니터링을 원하지 않으면 counter_procfd_enabled=false를 설정할 수 있습니다.

 proc_fd : OpenFileDescriptorCount
 proc_fd_max :MaxFileDescriptorCount

Java Agent 1.8.4

2019-08-05

Heap Old Gen GC 발생 건수 모니터링

Heap Memory 중에서 old-gen 영역에서 발생하는 GC 건수를 별도 지표로 수집합니다.

gc_oldgen_count

Heap Max 모니터링

heap에는 used , total과 더불어 max값이 관리되고 있습니다. -Xmx 옵션을 사용하면 heap max를 수정할수 있습니다.

heap_max

Java Agent 1.8.3

2019-07-19

트랜잭션 응답 구간별 건수지표 추가

트랜잭션 종료 건수중에서 3초이상 8초이상 종료 건수를 별도로 성능지표로 추가하였습니다.

트랜잭션 over3

3초이상 트랜잭션 건수

트랜잭션 over8

8초이상 트랜잭션 건수

Java Agent 1.8.2

2019-07-19

트랜잭션 상세 응답 시간 추가

트랜잭션의 응답시간중 SQL,DBC, HTTPCall에 소비된 시간을 측정한 성능지표가 추가되었습니다.

트랜잭션 DB 연결시간

트랜잭션 수행중 DB연결에 사용된 시간의 평균값

트랜잭션 SQL시간

트랜잭션 수행중 SQL 수행에 사용된 시간의 평균값

트랜잭션 HTTPC시간

트랜잭션 수행중 외부 HTTP CAll 수행에 사용된 시간의 평균값

Java Agent 1.8.1

2019-06-25

Weaving Plugin

파라미터를 가진 생성자에 대한 Weaving이 가능하게 변경

JVM을 위한 상세 성능카운트

Java VM을 위한 상세한 성능카운트를 추가로 수집할 수있습니다.

perfx_java_enabled=true

whatap.conf에 perfx_java_enabled=true가 설정되면 다음과 같은 성능정보를 추가로 수집합니다.

java_memory

heap & nonheap에 대한 메모리 사용량

java_memory_pool

영역별 Heap메모리 사용량

java_gc

Java Heap GarbageCollector 수행 건수와 시간

java_os

Java 시스템 영역에서의 성능 지표들

 OpenFileDescriptorCount, MaxFileDescriptorCount, ProcessCpuTime
 ,CommittedVirtualMemorySize, TotalSwapSpaceSize, FreeSwapSpaceSize
 , FreePhysicalMemorySize, TotalPhysicalMemorySize, SystemCpuLoad,
 ProcessCpuLoad, SystemLoadAverage, AvailableProcessors
perfx_java_enabled=true 상태에서 java_gc 수집만 off하고 싶다면 perf_java_gc_enabled=false 를 설정합니다. 마찬가지로 perfx_java_memory_enabled=false perfx_java_memory_pool_enabled=false perfx_java_os_enabled=false 등의 옵션을 사용 할 수있습니다.

사용자 관심 JMX 성능 카운트

JVM내에서 임의의 JMX path를 지정하여 수집할 수 있습니다.
지정한 Mbean 객체의 Attribute가 성능 카운트 형태로 수집됩니다.
perfx_jmx_enabled=true

perfx_jmx_enabled=true가 설정되면 다음의 Mbean Object 들의 정보가 수집된다. 만약 특정 데이터를 off하려면 해당 옵션을 false로 설정합니다.

Category: tomcat_connector
Option: perfx_tomcat_connector_enabled=true
ObjectName Query: Catalina:type=Connector,*
Category: tomcat_datasource
Option: perfx_tomcat_datasource_enabled=true
ObjectName Query: Catalina:type=DataSource,*
Category: tomcat_threadpool
Option: perfx_tomcat_threadpool_enabled=true
ObjectName Query: Catalina:type=ThreadPool,*
Category: tomcat_executor
Option: perfx_tomcat_executor_enabled=true
ObjectName Query: Catalina:type=Executor,*
Category: java_nio_bufferpool
Option: perfx_java_nio_bufferpool_enabled=true
JMX Query: java.nio:type=BufferPool,*

JMX 모니터링 확장

whatap.conf에 아래와 같이 추가 설정파일을 지정합니다. 여기서는 "myjmx.conf"를 지정하였습니다.

perfx_config=/usr/local/myjmx.conf

myjmx.conf에 모니터링 하고자 하는 ObjectName을 지정하고 키값으로 (ex tomcat_executor) 데이터 카테고리 명을 설정합니다.

myjmx.conf
tomcat_executor=Tomcat:type=Connector,*

Java Agent 1.8.0

2019-06-25

Weaving Plugin

Java Agent 1.8 부터는 데이터 추적을 커스터마이징하기 위한 Weaving Plugin을 제공합니다.

자세한 내용은 별도 문서로 제공됩니다.

ConfBase 서버

다수의 애플리케이션 인스턴스에 에이전트가 설치되면 설정을 통합 관리할 필요가 발생합니다. 이 문제를 해결하기 위해 ConfBase 에이전트를 추가하였습니다.

Java Agent 1.7.8

2019-06-118

EDB Master/slave환경에서 DB연결 정보

EDB에서 마스터/슬레이브 환경에서는 실제 연결된 DB정보를 알 수없는 문제가 있습니다. 이 문제를 해결하기 위해 옵션이 추가되었습니다.

jdbc_edb_multi_url_enabled=false

jdbc_edb_multi_url_enabled를 true로 설정하면 EDB jdbc드라이버에서 SQL실제 수행된 위치를 확인 할수 있습니다.

Java Agent 1.7.7

2019-06-11

사용자 정의 추가 성능 모니터링

JAVA,Tomcat에 관련한 추가 성능지표를 모니터링 할수있습니다.

Memory 상세 지표 수집, Jedis Connection Pool건수, Tomcat8에서 컨택스트별 성능지표들을 수집할 수있습니다.

  perfx_java_memory_enabled = false
  perfx_jedis_enabled = false
  perfx_tomcat8_enabled = false

데이터 수집 주기는 각각 지정할 수있습니다. 기본은 모든 5000ms로 되어있습니다.

  perfx_java_memory_interval = 5000
  perfx_jedis_interval = 5000
  perfx_tomcat8_interval = 5000

GC LOG 수집 기능

GC Log를 와탭에 새로 추가되는 로그 수집기능을 이용하여 GC 로그 전체를 수집하도록 합니다.

 gclog_enabled=false
 gclog_check_interval = 2000
 gclog_file=null

gclog_file에 등록된 파일을 읽어서 서버로 전송합니다. 기능을 활성화 하려면 gclog_enabled=true가 설정되어야 합니다.

JAVA9 이상에서 sigar_enable=false

와탭 에이전트는 기본으로 sigar모둘을 이용하여 자원 사용량을 수집합니다. 그런데 java9모듈에서는 기본값을 false로 수정합니다.

sigar_enabled=false

Java Agent 1.7.5

2019-04-25

exception 발생시 스택을 프로파일에 보여줌

모든 Exception의 stack을 추적하면 운영시스템의 부담이 될수있습니다. 하지만 디버깅 목적이나 개발 시에는 스택정보를 프로파일에서 보여주는 것이 유용합니다.

profile_exception_stack=true

모든 트랜잭션의 mtid를 추적하고자 할때

log4j와 같은 로깅 시스템과 연계하기 위해서 모든 트랜잭션의 mtid를 추적할수있습니다.

mtrace_alltx_enabled=true

mtrace_rate=100으로 설정해도 비슷한 효과를 얻을 수있습니다.

mtrace_rate=100은 최초 외부호출이 발생할때 mtid를 생성하기 때문에 log와 연계할때는 부적절 할 수도 있습니다.

mtrace_alltx_enabled=true하면 너무 많은 로그가 남을 수있습니다. 이때는 프로파일 로깅량을 줄일 필요가 있습니다.

mtrace_basetime=1000
profile_basetime은 mtid==0인 경우에만 적용됩니다.
그래서 모든트랜잭션에 mtid가 부여된 상황에서는
mtrace_basetime을 사용해서 프로파일 량을 줄일 수 있습니다.

Java Agent 1.7.4

2019-04-03

쉘명령어을 이용한 CPU/MEM 모니터링

-Dshell_perf_enabled=true
-Dshell_perf_command=iostat 3

유닉스나 혹은 메인 프레임등예외적인 환경인 경우 시스템 CPU사용량을 모니터링하기 위해 쉘을 사용할 수있습니다.

와탭은 shell_perf_enabled=true인 경우에는 shell_perf_command에 등록된 쉘명령을 백그라운드로 실행하여 stdout의 데이터를 수집합니다.

라인 파서를 등록해야 합니다.라인파서는 플러그인으로 등록합니다.

ShellPerf.x
//println($line);
String[] tok = tokenizer($line," ");
float idl= cfloat(index(tok,5));
cpu(100f-idl);

$line을 파싱하여 값을 등록합니다. 이때 값을 등록하는 api는 다음과 같습니다.

cpu(float)
cpu_sys(float)
cpu_usr(float)
cpu_proc(float)
mem(float)
swap(float)
disk(float)

Java Agent 1.7.3

2019-03-14

AWS ECS 컨테이너 CPU/MEM

-Dwhatap.ecs.enabled=true

AWS ECS환경에서 whatap.ecs.enabled옵션과 함께 WhaTap을 실행하면 AWS API를 사용해 자원 사용량을 수집합니다.

cpu, cpu sys, cpu usr, mem 을 수집합니다.

Java Agent 1.7.2

2019-02-24

Play2 프레임워크에서 Throttling

throttle_play2reject_classes=
throttle_play2reject_supers=
throttle_play2reject_interfaces=
throttle_play2reject_ignore_methods=

비동기 프레임워크인 Play2 환경에서 Throttling 기능을 추가하였습니다. Play2 에서는 Throttling 제어를 URL이 아닌 Class로 동작 하게 됩니다.

whatap.error.STATUS_ERROR 비활성화

transaction_status_error_enable=

whatap.error.STATUS_ERROR 로 인한 트랜잭션 에러를 제외할 수 있는 기능이 추가되었습니다.

Java Agent 1.7.0

2019-01-10

Multi-tier Transaction Trace(MTRACE)

mtrace_enabled=false

mtrace_enabled=false 옵션을 추가하였습니다. 이값을 true 설정하면 멀티티어에 대한 트랜잭션 연결 추적을 시행합니다.

meter_enabled

sql_dbc_meter_enabled=false
httpc_host_meter_enabled=false
tx_caller_meter_enabled=false

호출자 기반의 통계, httpc 관한 통계,sql에 대한 통계를 5초단위로 실시간으로 수집합니다. 그중에서 tx_caller_meter_enabled는 mtrace_enabled=true일때만 동작합니다.

mtrace_rate

mtrace_rate=10

트랜잭션의 프로파일을 연결분석하기 위해서 mtid를 주고 받습니다. mtrace_rate=10이면 트랜잭션중에서 10%를 샘플링하여 caller의 txid와 mtid를 "x-wtap-mst"로 전송합니다.

받는 쪽에서는 별다른 옵션이 없습니다.

_trace_mtrace_poid_key=x-wtap-po
_trace_mtrace_caller_key=x-wtap-mst
_trace_mtrace_spec_key=x-wtap-sp
_trace_mtrace_callee_key=x-wtap-tx

stat_mtrace

stat_mtrace_enabled=false
stat_mtrace_max_count=7000

Caller와 Callee의 상관 관계 통계를 수집하는 기능입니다. Caller쪽에 enable되어있으면 Caller의 상세 정보를 보내주고 Callee쪽에 enable되어있으면 Caller-Callee 호출관계를 url 수준에서 통계를 만들어 수집서버에 전송합니다. 데이터는 "x-wtap-sp" 키로 전송됩니다.

mtrace_callee_txid_enabled

mtrace_callee_txid_enabled=false

Callee의 txid를 Caller가 보내주는 기능을 enable합니다. txid를 보내는쪽과 받는쪽의 기능을 모두 활성화합니다. txid는 "x-wtap-tx"로 전송됩니다.

OKIND 추가

oid를 그룹핑하기 위해 OKIND라는 개념이 추가되었습니다.

 -Dwhatap.okind=salse
 혹은
  whatap.okind=sales
운영중에는 변경하지 않도록 합니다. 필요하면 JVM환경변수로 설정하기를 권고합니다.

Java Agent 1.6.2

2018-11-23

Non Http Transaction에 대한 이름 옵션

service_name_mode=

full,class,method,string,arg 5가지 옵션을 지정할 수있습니다.

  • full : Full Class이름 사용

  • class : Class 이름 서비스 명으로 사용

  • method : Method이름을 서비스명으로 사용

  • string : 문자열중에서 첫번째 파라미터를 서비스 명으로 사용

  • arg : 파라미터중에서 service_name_index옵션에 지정한 인덱스이 파라미터를 서비스 명으로

HttpServiceStart.x 플러그인에 함수 추가

Http Request Content타입을 조회하고 확인하기 위한 함수 추가

$req.getContentType();
$req.isMultipartContent(String);
$req.isFormUrlencoded(String);

Agent Boot 정보 개선

에이전트 boot 정보에 uptime 추가

Java Agent 1.6.1

BizException 통계 제외

로직 처리를 위한 Exception 발생시 에러 통계에서 제외합니다.

whatap.conf
biz_exceptions=a.b.MyException,a.b.YourException

설정된 Exception이 발생해면 아래 처럼 처리 됩니다.

  1. 통계에서 제외

  2. HitMap에서 정상표시

  3. 프로파일 상세보기에 에러 표시

Auto Thread Kill

응답시간이 지정한 수준을 넘어서면 자동으로 쓰레드를 Stop시키는 기능이다.

whatap.conf
auto_thread_kill_elapsed = 0
auto_thread_kill_warning_enabled = true
auto_thread_kill_event_interval = 1000

매 5초마다 지정된 시간 이상 수행중인 트랜잭션에 대해서 자동으로 쓰레드 Stop을 수행합니다.

auto_thread_kill_elapsed > 0 이면 기능이 활성화 됩니다.

Java Agent 1.6.0

SAP3 모니터링 기능 추가

에이전트 옵션 설정 필요 (재기동 필요) .whatap.conf

hook_httpc_sap3_enabled=true

sapjco3-3.0.14.jar를 사용하여 테스트 했습니다.

아파치 SOAP 추적

HttpCall에 아파치 SOAP에 대한 추적 추가 합니다.

  org/apache/soap/rpc/Call

addin monitor 설정 방법 추가

addin module jar 파일들을 복사합니다.

 ${WHATAP_AGENT}/addin/.

다음은 addin monitor클래스를 설정하는 방법입니다. 먼저 갯수를 지정합니다. 그리고 갯수 범위(addin_monitor_num)내에서 addin_monitor_x= 형태로 설정합니다.

whatap.conf
addin_monitor_num = 10

addin_monitor_0=addin.java7.MemoryMonitor
addin_monitor_1=addin.java7.MemoryPoolMonitor
addin_monitor_2=addin.java7.MemoryUsageMonitor
addin_monitor_3=addin.java7.ThreadingMonitor
값이 없으면 무시됩니다.
동일한 클래스가 중복 설정되면 하나는 무시됩니다.

Java Agent 1.5.9

AddinCount 수집기능

AddinCount 기능 추가

년간 데이터 수집 기능 추가

Java Agent 1.5.8

주요 수정 내용

  • 에이전트 암호키에 trim 처리

Java Agent 1.5.7

주요 수정 내용

  • 에이전트 암호키에 trim 처리

  • 자등 쓰로틀링 처리를 위해 대상 URL 추출 기능

  • GC 로그 모니터링 기능 추가

Java Agent 1.3.4

Altibase Old버전 추가

에이전트 소스에 추가된 클래스
hook_jdbc_pstmt_classes=Altibase5/jdbc/driver/ABPreparedStatement
hook_jdbc_stmt_classes=Altibase5/jdbc/driver/ABStatement
hook_jdbc_rs_classes=Altibase5/jdbc/driver/ABResultSet

Java Agent 1.3.3

Active Status

차트를 클릭하면 아크이퀄라이저 클릭에 연결된 페이지로 이동 데이터 종류(이퀄라이저) ⇒ Method, Sql, HttpC, DBC, Socket 으로 고정 자바에이전트 1.3.3이후 버전에서만 동작됨으로 데이터가 없는 경우에는 이미지를 출력한다. 더미 이미지에는 java1.3.3이후버전에서 사용가능하다는 메세지 10pt 폰트로 추가함

Active Status

Java Agent 1.3.1

Sigar disable 처리 가능하게

Sigar는 와탭에서 서버의 물리자원 사용량을 수집하기 위해사용한다. 그런데 siager_enabled=false를 설정하면 JMX를 통해 시스템의 자원 사용량을 추적한다.

sigar_enabled=true
주의 할점은 JMX를 통해서 자원 사용량을 추적할때 메모리 사용량이 리눅스의 경우 부정확한 문제가 있다. 리눅스는 OS의 메모리가 여유가 있으면 디스크 버퍼케쉬를 위해 임의로 메모리를 사용한다. 이 공간한 메모리 사용률에서 제외해야하는데 JMX의 그것을 처리할 수있는 API가 제공되지 않는다.

Java Agent 1.2.8

Custom Leak 추적

custom leak 추적이란 트랜잭션이 수행되는 도중에 open과 close메소드의 짝이 맞는지를 추적하는 기능입니다.

whatap.conf
hook_custom_open_patterns=""
hook_custom_close_patterns=""
profile_custom_leak_enabled=true
whatap.conf
profile_custom_leak_enabled=true

옵션에 설정한 메소드들이 프로파일에서 호출내역을 보거나 제거할 수 있다.기본값은 true이다.

사용예

hook_custom_open_patterns=leaktest.T.open
hook_custom_close_patterns=leaktest.T.rollback,leaktest.T.commit

T라는 클래스는 open과 commit/rollback 3개의 메소드가 있다. 이때 open이 호출되면 반드시 commit혹은 rollback이 호출되어야 하며 연속으로 2번이상의 open이나 commit이후 rollback이 호출되는 것은 무시된다.

T.open -> T.open -> T.commit  : ok
T.open ->T.commit -> T.open : leak

Java Agent 1.2.5

Java9지원

java9가 되면서 JDK내부에 클래스 의존성이 많이 수정되었다. 기존 버전을 설치하면 참조오류가 발생한다. v1.2.5부터 java9에서 애플리케이션을 모니터링 할 수있다.

DBCP & WEBLOGIC10 Connection Pool 기본 추적

DBCP와 웹로직10.3의 컨넥션 풀사이즈가 기본적으로 모니터링된다. 관련 기능을 off하려면 아래 옵션 값을 수정하고 WAS를 재기동하면된다.

dbcp_pool_enabled=true
weblogic_pool_enabled=true

Java Agent 1.2.2

DB Pool 카운터 추적

와탭은 DB Connection Pool에서 Active 카운트와 Idle카운트를 추적하고 상태정보를 조회하는 기능을 제공한다. 데이터를 조회하는 방식에는 크게는 JMX와 BCI 두가지 방식을 가지고 있다. JMX 방식은 기동중에 옵션 변경만으로 적용된다. 하지만 BCI방식은 재기동시 옵션이 변경되어있어야 한다.

JMX방식에는
tomcat_ds_enabled=false
weblogic_ds_enabled=false
BCI방식에는
hikari_pool_enabled=false
dbcp_pool_enabled=false
weblogic_pool_enabled=false

톰켓과 웹로직은 JMX를 통해 데이터를 조회할수 있지만 버전에 따라서 동작하지 않을 수 있다. 현재 테스트 된 버전은 Tomcat7 버전이다. 웹로직은 weblogic10에서 테스트 되었다. DBCP, Hikari, Weblogic10에서는 컨넥션 풀 클래스를 직접 BCI로 접근하여 데이터를 조회할 수있다.

DB Pool 추적 커스터마이징

1.에이전트 옵션에

custom_pool_classes=<id>@<pool class name>

custom_pool_classes=dbcp@org.apache.tomcat.dbcp.dbcp.BasicDataSource

만약 여러가지 풀을 사용하고 있으면 콤마(,)로 구분하여 여러개를 지정할 수있다.

2.플러그인 추가

${WHATAP_HOME}/plugin/CustomPool.x

$result.active(method($pool,"getNumActive"));
$result.idle(method($pool,”getNumIdle"));

전달된 $pool에서 리플렉션으로 조회를 할 것이다. $pool의 실제 클래스는 custom_pool_classes에 설정했던 객체가 전달된다. 만약 2개이상이 설정되어있다면 $id 를 참조하여 구분할 수있다.

실시간 혹은 일자별 차트에서 데이터 확인 가능

Java Agent 1.2.1

에이전트 로그 조회

에이전트 로그를 조회할 수있다. java agent v1.2.1이상에서만 동작한다.

메뉴
APM(java) > 서버 > 더보기 > 에이전트 로그

화면이 열리면 에이전트에 저장된 로그 리스트가 보인다. 데이터를 확인하고자 하는 로그를 클릭하면 로그를 볼 수 있다.

로그 내용 상단에 [<<] [ < ] [ > ] [>>] 4개의 이동버튼을 통해 로그를 조회한다.

 [ <<] - 로그 시작 부분으로 이동
 [ < ] - 8KB 이전으로 이동
 [ > ] - 8KB 다음으로 이동
 [ >>] - 로그 파일 끝으로 이동

에이전트 덤프 조회

에이전트에서 생성한 쓰레드덤프 혹은 CPU 프로파일 덤프 파일을 조회할 수 있다. > 단) java agent v1.2.1이상에서만 동작한다.

메뉴

APM(java) > 서버 > 더보기 > 에이전트 덤프

화면이 열리면 에이전트에서 생성된 덤프파일 리스트가 보인다. 파일명을 클릭하면 덤프 내용을 확인할 수있습니다.

Java Agent 1.2.0

CPU 과점 쓰레드 덤프

WAS 프로세스의 CPU가 높을때 어떤 쓰레드가 CPU를 많이 사용하는지 찾기 위해 쓰레드 덤프를 연속적으로 수행하는 기능입니다.

whatap.conf
debug_cpu_enabled = false;
debug_cpu_trigger = 0;
debug_cpu_interval = 10000;
debug_cpu_dump_count=10;
  • debug_cpu_enabled=true 가 되면 본 기능이 활성화됩니다.

  • debug_cpu_trigger값이 변경되면 그때부터 CPU를 가장 많이 사용하는 쓰레드5개를 ${WHATAP_HOME}/whatap-cpu-(pcode)-(oname)-{time]-{num].wdmp 파일에 기록합니다.

  • 덤프 간격은 debug_cpu_interval에 지정됩니다.

  • debug_cpu_dump_count(10) 횟수만큼 덤부를 수행합니다.

덤프내용을 백그라운드 쓰레드를 포함하여 덤프 간격동안 CPU 를 가장 많이 사용하고 있는 쓰레드이고 만약 개별 쓰레드가 사용자 요청(URL)를 처리 중이라면 URL도 같이 로깅한다.

자동 쓰레드 덤프

WAS의 장애가 발생하여 액티브트랜잭션이 증가하면 자동으로 전체 쓰레드를 덤프하여 향후 문제 분석에 활용합니다.

whatap.conf
thread_dump_enabled = true
thread_dump_interval = DateUtil.MILLIS_PER_HOUR
thread_dump_cpu = -1
thread_dump_actx = 300

thread_dump_actx(300)이상의 액티브 서비스갯수가 쌓이거나 thread_dump_cpu(-1:disabled)이상의 CPU사용이 발생할때 JVM내의 모든 쓰레드와 그 스택을 덤프한다. 각 쓰레드가 수행하는 URL정보도 같이 덤프라한다. (값이 -1일때는 동작하지 않는다) 한번 덤프가 발생하면 thread_dimp_interval 이상 시간이 경과되어야 다시 동작합니다.

특정 url 쓰로틀링(Request Throttling)

웹 요청이 폭주할경우 초과 요청을 다른 페이지로 넘길 수있다. 쓰로틀링에서 특정 타겟팅 페이지만 제어하는 기능이 추가되었다.

whatap.conf
throttle_enabled = false;
throttle_limit = 10000;

throttle_target_urls =

throttle_passing_url =
throttle_passing_url_prefix =

throttle_rejected_message = too many request!!
throttle_rejected_forward = <static url>

throttle_blocking_url =
throttle_blocking_ip =
throttle_blocked_message = request blocked!!
throttle_blocked_forward_ok = true

throttle_enabled=true가 설정되면 쓰로틀링 기능이 활성화된다. 현재 요청된 URL이 블럭킹 대상이면 처리가 거부된다. 그다음은 액티브 트랜잭션 갯수가 throttle_limit에 도달했는지를 확인하고 limit를 초과하면 url을 검사한하다. 만약 throttle_target_urls(이번에 추가됨)이 등록되있으면 해당 URL에 등록된경우는 서비스를 거부하고 포함되지 않았다면 정상 처리한다. throttle_target_urls에는 full url path로 설정한다. 여러개를 설정할때는 ,로 구분한다.

사용자 기본 측정방식 변경

와탭은 웹시스템의 사용자를 측정하기 위해 쿠키를 사용합니다. 그런데 모바일이나 일부 장비에서 쿠키를 원할하게 처리하지 못하는 현상이 예상되어 기본을 ip를 사용하여 사용자를 측정하도록 변경하였습니다.

whatap.conf
trace_user_using_ip = true

만약 이전처럼 쿠키를 기반으로 사용자를 측정하고자 한다면 위 옵션을 false로 변경해 주어야 한다.

DB 연결 카운팅

whatap.conf
tomcat_ds_enabled = false
weblogic_ds_enabled = false
hikari_pool_enabled = false
dbcp_pool_enabled = false
weblogic_pool_enabled = false

xx_ds_enabled와 xx_pool_enabled 두가지 옵션이 있다. ds는 DaraSource에서 데이터를 JMX로 추출하고 _pool_은 BCI 를 통해서 데이터를 추출한다.

따라서 운영중에 xx_ds_enabled=true를 적용하면 바로 적용되지만 xx_pool_enabled는 재기동이 필요하다.

톰켓에서 DBCP를 사용하는 시스템의 경우에는 tomcat_db_enbled혹은 dbcp_pool_enabled를 모두 사용할 수있다. 하지만 SpringBoot에서 DBCP를 사용하는 경우에는 dbcp_pool_enabled를 사용해야 한다.

웹로직의 경웨는 Standalone으로 설치된 경우에는 weblogic_ds_enabled와 weblogic_pool_enabled를 모두 사용할 수 있으나 도메인 구성이되어있는 경우에는 weblogic_pool_enabled를 적용해야 데이터가 추출된다.

메소드 호출 건수 추적

특정 메소드의 호출건수를 추적하고 싶을 때 사용한다. .whatap.conf

hook_method_stat_supers
hook_method_stat_interfaces
hook_method_stat_patterns

서버 > 더보기 > Method Perfor Stat에서 확인 할 수 있습니다.

에이전트 메모리에서 카운팅을 하고 메뉴에서 현재 통계 정보를 조회할수 있다.

액티브 스택 최적화

액티브 스택을 수집함에 있어 에이전트 폭주시 영향을 최소화 하기 위해 최적화 옵션이 적용되어있다.

최대 동시 액티브 스택 지정

간혹 시스템에 따라 액티브 트랜잭션이 수천개가 되는 경우들이 있다. 이것은 이미 장애 상황이기 때문에 액티브 스택 수집을 제한하고 있다.

active_stack_count = 100
덤프 interval

TPS가 높은 시스템에서 (인스턴스당 약400정도)에서는 모니터링 오버헤드를 신경써야 한다. 액티스 스택의 수집주기를 늘려줄 필요가 있다.

active_stack_second=10 (단위 초)

약 60정도 적용하면 무난 할 것이다.

스택 depth

액티브 스택의 최대 depth이다. 기본은 최대 스택별 50라인을 수집한다.

trace_active_callstack_depth = 50

트랜잭션별 메모리 할당 추적기능 OFF

트랜잭션별로 메모리 할당 량을 추적하는 기능을을 default로 false되었다.

PHP Agent Release Notes

임재환 <jhlim@whatap.io>

PHP Agent 0.4.10

2019-09-18

버그

HTTP 외부 호출 수집 오류

HTTP 외부 호출 정보 수집 중 발생하는 오류를 수정하였습니다.

PHP Agent 0.4.9

2019-09-05

업데이트

PHP 내부 함수 프로파일링 추가

PHP 내부 함수를 추적합니다. 함수 실행시간이 지정시간 이상으로 걸리면 수집합니다

; PHP 내부 함수의 추적 여부를 설정합니다. Default: false (true,false)
whatap.profile_internal_method_enabled=true

; 실행시간의 기준을 설정합니다. 설정한 시간을 초과하여 실행되는 경우만 정보를 수집합니다. Default: 1000 Millisecond
whatap.profile_internal_time=1000

;PHP 내부함수에 전달되는 인수의 정보를 같이 출력합니다.
;숫자형, 문자형만 값이 출력됩니다. Default: false (true,false)
whatap.profile_internal_method_param_enabled=false
profile_internal_time을 빠르게 설정하면 서버에 부하를 줄 수 있습니다.
Apache 및 PHP-FPM의 재시작 후 적용됩니다.

Error, Exception 제외 기능

사용자가 설정한 Error 또는 Exception 정보를 제외하는 기능을 추가하였습니다.

Exception 의 경우 Custom Exception Class 가 정의되어 있지 않으면, 기본으로 "Exception" 으로 수집됩니다.
특정 Exception을 구분하기 위해서는 Custom Exception Class를 정의하고 해당 이름을 지정하면 제외 시킬 수 있습니다.

;특정 Error 또는 Exception 을 Business Exception으로 지정합니다. 히트맵에서는 에러로 표기되지 않고 통계정보에만 수집됩니다. Default ""
;수집되는 Error Class 명과 동일하게 적용합니다. 콤마를 구분자로 하여 여러개를 등록할 수 있습니다.
whatap.bix_exception=CustomException, NotFoundException

; 특정 Error 또는 Exception 을 무시합니다. Default ""
; 수집되는 Error Class 명과 동일하게 적용합니다. 콤마를 구분자로 하여 여러개를 등록할 수 있습니다.
whatap.ignore_exception=CustomException, NotFoundException

session 함수 프로파일링 추가

session_start, session_write_close 함수의 실행시간을 수집하는 기능을 추가하였습니다.

; PHP 내부 함수의 추적 여부를 설정합니다. Default: true (true,false)
whatap.profile_session_enabled=true
Apache 및 PHP-FPM의 재시작 후 적용됩니다.

히트맵 이벤트 알림

프로젝트(사이트)의 이벤트> 이벤트설정 의 히트맵 설정과 동일한 설정을 에이전트단위로 설정할 수 있습니다. 추가로 에러가 발생할 경우만 이벤트 알림을 발행합니다. 이벤트 알림 수신 설정은 이벤트>이벤트수신설정에서 설정 가능합니다.

이벤트 가로 라인

히트맵의 응답시간 분포상, 응답시간이 지정시간(whatap.hitmap_hoirz_event_basetime) 이상인 트랜잭션이 동일 응답시간 구간에 연속하여 지정시간(whatap.hitmap_horiz_event_duration) 동안 발생할 경우 알림이 발생합니다. *연속: X축(5초) 단위의 분포가 연속된 선으로 나타날 경우 (중간에 끊김이 있는 경우는 해당되지 않습니다.)

; 이벤트 가로 라인 활성화 여부를 설정합니다. Default: false (true,false)
whatap.hitmap_horiz_event_enabled=true
; 가로줄 현상의 지속시간 설정합니다. Default: 3000 millisecond
whatap.hitmap_horiz_event_duration=30000
; 응답시간의 기준을 설정합니다. Default: 10000 millisecond
whatap.hitmap_horiz_event_basetime=10000
; 에러가 발생한 경우만 이벤트 알림을 발생합니다. Default: false(true,false)
whatap.hitmap_horiz_event_error_only=false
; 이벤트 알림 발행 시에 중복 이벤트 억제 시간을 지정합니다. 해당 시간 내에는 다시 발행되지 않습니다. Default: 300000 millisecond
whatap.hitmap_horiz_event_interval=300000
이벤트 세로 라인

히트맵의 응답시간 분포상, X축 단일 구간(5초)에 세로줄이 나타나는 현상이 지정시간(whatap.hitmap_ver_event_duration)에 해당하는 시간 동안 지속될 경우 알림이 발생합니다. *세로 줄 현상 : 2.5초 ~ 80초를 표현하는 전체 100개 구간 중, 경고 구간이 마킹된 경우 [경고 알림]이 발생하며, 동일한 규칙으로 위험구간이 마킹된 경우 [위험 알림]이 발생합니다

; 이벤트 세로 라인 활성화 여부를 설정합니다. Default: false (true,false)
whatap.hitmap_ver_event_enabled=true
; 세로줄 현상의 지속시간을 설정합니다. Default : 30000 millisecond
whatap.hitmap_ver_event_duration=30000
; 에러가 발생한 경우만 이벤트 알림을 발행합니다. Default : false (true, false)
whatap.hitmap_ver_event_error_only=false
; 세로줄 현상의 경고 구간 시작 지점입니다. 종료지점은 위험구간 시작 지점 전까지 입니다.
whatap.hitmap_ver_event_warning_percent=60
; 세로줄 현상의 위험 구간 시작 지점입니다.
whatap.hitmap_ver_event_fatal_percent=80
; 이벤트 알림 발행 시에 중복 이벤트 억제 시간을 지정합니다. 해당 시간 내에는 다시 발행되지 않습니다. Default: 300000 millisecond
whatap.hitmap_ver_event_interval=30000

토폴로지 설정

사용자의 설정 없이도 기본적으로 활성화 되도록 수정하였습니다.

; 트랜잭션 정보로 토폴로지 통계를 생성합니다, Default: true (true,false)
whatap.tx_caller_meter_enabled=true

; Database 연결 정보로 토폴로지 통계를 생성합니다, Default: true (true,false)
whatap.sql_dbc_meter_enabled=true

; Http 외부 호출 정보로 토폴로지 통계를 생성합니다, Default: true (true,false)
whatap.httpc_host_meter_enabled=true

버그

서버 > 에이전트 상태

에이전트의 상태에서 Cpu, Memory 정보가 출력되지 않는 문제를 수정했습니다.

PHP Agent 0.4.8

2019-04-18

업데이트

PHP 내부 함수 프로파일링 추가

PHP 내부 함수인 compile_file, compile_string 함수를 추척하는 기능을 추가했습니다.
스크립트 실행 전에 컴파일하는 함수로 Main, include, require 및 autoload 스크립트의 컴파일 시점을 확인할 수 있습니다.
스크립트 파일 경로와 실행시간을 확인할 수 있습니다

; compile_file, compile_string 함수의 추적 여부를 설정합니다. Default: false (true,false)
whatap.profile_compile_file_enabled=true

; 실행시간의 기준을 설정합니다. 설정한 시간을 초과하여 실행되는 경우만 정보를 수집합니다. Default: 200 Millisecond
whatap.profile_compile_file_basetime=200
compile file
whatap.profile_compile_file_basetime을 너무 빠르게 설정하면 서버에 부하를 줄 수 있습니다.
Apache 및 PHP-FPM의 재시작 후 적용됩니다.

버그

Postgresql(PDO) 연결문자열 password 항목 표시 오류

PDO 라이브러리를 사용하여 Postgresql 서버에 접속할 때 필요한 연결문자열 중 password 항목의 값이 수집되는 오류를 수정했습니다. 연결문자열 중 password 항목의 값은 "#" 문자로 변환되어 수집합니다.

PHP Agent 0.4.7

2019-03-15

버그

에이전트 상태 확인 기능 오류

서버 > 에이전트 > 더보기 메뉴 기능에서 에이전트 상태 값을 불러오지 못하는 오류를 수정하였습니다.

PHP Agent 0.4.6

2019-03-14

업데이트

지원 환경이 추가 되었습니다.

PHP 7.3(NTS, ZTS) 버전에서 모니터링이 지원됩니다.

토폴로지 기능 추가

아래 옵션 설정 시 조회 가능합니다. 기본값은 false 입니다.

  • 어플리케이션 토폴로지는 모든 에이전트의 관계를 표현합니다.

; 트랜잭션 정보로 토폴로지 통계를 생성합니다, Default: false (true,false)
whatap.tx_caller_meter_enabled=true

; Database 연결 정보로 토폴로지 통계를 생성합니다, Default: false (true,false)
whatap.sql_dbc_meter_enabled=true

; Http 외부 호출 정보로 토폴로지 통계를 생성합니다, Default: false (true,false)
whatap.httpc_host_meter_enabled=true
topology app
  • 그룹 토폴로지는 에이전트를 통합하여 관계를 표현합니다. whatap.okind 설정 값으로 공통 이름을 설정하면 통합하여 표현합니다.

; 그룹 토폴로지를 위해 에이전트의 그룹명을 임의로 설정합니다.
whatap.okind=PHP-DEMO
topology group

멀티 서버 트랜잭션 (트랜잭션 연계 추적) 기능 업데이트

옵션을 세분화 했습니다. 옵션으로 멀티 서버 트랜잭션 추적을 활성화 할 수 있습니다. 별도 설정이 없는 경우 추적하지 않습니다.

; 멀티 서버 트랜잭션에서  Callser&Callee간에 버전별 의존성  통계를 수집합니다. Default: false (true,false)
whatap.mtrace_enabled=true

; 트랜잭션 연계 추적 여부, Default: false (true,false)
whatap.mtrace_callee_txid_enabled=true

; 최초 트랜잭션이 발생할 때 발급받는 MTID(Multi Transaction ID)의 발급비율, Default: 10 (Percent)
; 최대값 100을 설정하면 모든 외부 호출에 대해 MTID를 생성합니다.
whatap.mtrace_rate=10

; Http Caller는 Callee에게 자신의  URL을 넘겨줍니다. 이때 URL길이를 제한합니다., Default: 80 byte
whatap.mtrace_send_url_length=80

; 현 인스턴스의 애플리케이션 버전을 지정합니다.임의의 문자열을 지정할 수 있습니다.
; 이 데이터는 호출통계를 위해 사용됩니다., Default: 공백
whatap.mtrace_spec=
해당 옵션은 Apache 또는 PHP-FPM을 재시작 하여야 적용됩니다.

버그

Apache MPM Event 방식 설치 오류 수정

Apache MPM Event 환경에서 PHP Extension 모듈이 zts 가 아닌 nts 모듈로 설치되는 오류를 수정하였습니다.

HTTP Header 정보 크기 제한

Host, Uri, User-Agent, Referer, Remote-Ip 등의 기본 HTTP Header 정보를 수집할 때 길이가 너무 길 경우 발생하는 오류를 수정하였습니다. Remort-IP, Metho 정보는 256byte, 나머지 Host, Uri, User-Agent, Referer 정보는 2048byte 까지 수집합니다.

PHP Agent 0.4.5

2018-12-11

업데이트

멀티 서버 트랜잭션 (트랜잭션 연계 추적) 기능 추가

서비스(업무) 별로 분리 되어 있는 애플리케이션 서비스들간의 호출을 추적할 수 있습니다.
와탭에 등록되어 있는 프로젝트라면 프로젝트에 등록된 애플리케이션 서비스들간의 호출에 대한 추적을 말합니다.
멀티서버 트랜잭션 추적 옵션을 설정한 경우에 한하여 트랜잭션 연계 추적이 가능합니다.

외부 호출 시에 지정된 헤더를 추가하는 것으로 트랜잭션 연계 추적이 가능합니다.

에이전트 설치시 같이 제공되는 PHP 라이브러리를 통해서 설정 가능합니다.
/usr/whatap/php/lib/WhaTap.php
/usr/whatap/php/lib/sample_mtrace.php
아래 예제는 cURL의 사용자 헤더를 설정하는 소스 입니다.
<?php
//==================================================================
// 와탭 라이브러리를 추가합니다.
include_once './WhaTap.php';
//==================================================================

$url = "http://localhost/sample.php";
$ch = curl_init();
$headers = array();

//==================================================================
// 와탭 라이브러리에서 트랜잭션 연계추적에 필요한 헤더 정보를 가져옵니다. key,value 형식의 배열 입니다.
echo "Get Mtrace opt and set curl header(x-wtap-mst, x-wtap-inf, x-wtap-tx) <hr/>";
$whatap_mtrace = WhaTap::whatap_get_mtrace();

// cURL에 추가할 사용자 헤더 배열에 와탭 헤더를 추가합니다.
foreach ($whatap_mtrace as $key => $value){
        //echo $key."=".$value."<br/>";
        array_push($headers, "$key:$value");
}
unset($value);
//==================================================================

// 헤더를 cURL에 설정하고 외부 호출을 진행합니다.
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, TRUE);

$ret = curl_exec($ch);

curl_close($ch);

트랜잭션 상세보기에서 확인할 수 있습니다.

mtrace_tx_detail
Figure 156. 트랜잭션 상세보기
mtrace detail
Figure 157. 멀티 트랜잭션 상세보기

멀티 서버 트랜잭션 통계

멀티 서버 트랜잭션 통계를 확인할 수 있습니다.

아래 옵션 설정 시 조회 가능합니다. 기본값은 false 입니다.

whatap.stat_mtrace_enabled=true

통계 > 트랜잭션 통계 > 트랜잭션 호출자

mtrace stat
Figure 158. 멀티 서버 트랜잭션 통계

PHP Agent 0.4.4

2018-11-12

업데이트

FreeBSD 지원

FreeBSD 10.x 이상 64bit 운영체제를 지원합니다.

Domain(Host) 통계

도메인별 통계를 확인할 수 있습니다.

whatap.stat_domain_enabled=true

Referer 통계

리퍼러별 통계를 확인할 수 있습니다.

whatap.stat_referer_enabled=true

PHP Agent 0.4.3

2018-08-29

업데이트

HTTP 헤더 수집

HTTP 헤더 수집 기능을 추가하였습니다. HTTP 헤더의 이름 과 값을 수집합니다. 최대 20개를 수집하며 파라메터 이름과 값은 최대 256 byte 까지 수집됩니다.

설정 옵션은 아래와 같습니다.

# 헤더 정보 수집 여부, Default: false (true,false)
whatap.profile_http_header_enabled=true
해당 옵션은 Apache 또는 PHP-FPM을 재시작 하여야 적용됩니다.

x-forwarded-for

Client IP(Remote IP)의 정보를 특정 HTTP 헤더의 값으로 변경하여 설정하는 기능을 추가하였습니다. Proxy(프락시) 환경에서 X-Forwarded-For 헤더 값을 Client IP 로 설정할 수 있습니다.

설정 옵션은 아래와 같습니다.

# Client IP 설정 헤더 키, Default: ""
whatap.trace_http_client_ip_header_key=x-forwarded-for
해당 옵션은 Apache 또는 PHP-FPM을 재시작 하여야 적용됩니다.

버그

segmantaion fault

HTTP 파라메터 수집 중 파라메터 타입이 배열인 경우 segmantaion fault 가 발생한 오류를 수정하였습니다.

PHP Agent 0.4.2

2018-08-23

버그

segmantaion fault

HTTP 파라메터 수집 중에 segmantation fault 발생하는 오류 수정하였습니다.

PHP Agent 0.4.1

2018-08-23

업데이트

HTTP 파라메터

Get, Post 파라메터 중 text 타입의 이름 과 값을 수집합니다.
최대 40개 (Get 20개, Post 20개) 를 수집하며 파라메터 이름과 값은 최대 256 byte 까지 수집됩니다.

파라메터 정보는 별도 암호화되어 전송되며, 해당 애플리케이션 서버의 /usr/whatap/php/paramkey.txt 에 있는 키로 복호화하여 볼 수 있습니다.

설정 옵션은 아래와 같습니다.

아래 설정은 모든 url에 대한 파라메터 정보를 수집하는 설정입니다. 특정 url만 수집하기 위해서는 url_prefix 옵션을 변경하여야 합니다.

# 파라메터 수집 여부, Default: false (true,false)
whatap.profile_http_parameter_enabled=true

# 파라메터 수집이 필요한 특정 URL 접두사 설정.
whatap.profile_http_parameter_url_prefix=/
해당 옵션은 Apache 또는 PHP-FPM을 재시작 하여야 적용됩니다.

에이전트 상태 조회

whatap-php 서비스 데몬의 상태를 확인할 수 있는 기능이 추가되었습니다.
최근 1일간의 CPU 사용율, Memory 사용량, 네트워크 발송량을 그래프로 확인할 수 있습니다.

서버 → 더보기 → 에이전트 상태 메뉴에서 확인할 수 있습니다.

버그

에이전트 실행 중 좀비 프로세스 발생

whatap-php 서비스 데몬 실행 중에 좀비프로세스가 발생하는 오류를 수정하였습니다.
수집서버와 처음 연결하는 과정에서 호출되는 쉘 스크립트에서 발생하였습니다.

PHP Agent 0.4.0

2018-07-17

버그

segmantion fault

segmantion fault 오류를 수정하였습니다.
Apache graceful restart 시점에서 모듈 종료 중에 발생하는 오류를 수정하였습니다.

PHP Agent 0.3.9

2018-07-09

버그

SQL

구문의 길이가 너무 길 경우 발생한 segmantion fault를 수정하였습니다.
최대 32kb 까지만 수집하고, 앞에 “[QUERY TOO LONG]” 구문으로 표기합니다.

PHP Agent 0.3.8

2018-06-19

업데이트

Postgresql 지원

PHP Extension psql 라이브러리를 지원합니다.

버그

5.2버전 segmantation fault

5.2 버전의 Segmantaion fault 오류를 수정하였습니다.

PHP Agent 0.3.7

2018-04-24

업데이트

Goole App Engine 지원

Google App Enging 의 환경(app.yaml)을 flex/ custom 으로 설정 합니다.

app.yaml
env: flex
runtime: custom

app.yaml 과 같은 위치에 Dockerfile 을 생성하고 아래 내용을 추가 합니다.
PHP 버전 변경은 FROM 이미지를 변경하시면 됩니다.

Dockerfile
# google-appengine php php56, php70, php71
FROM gcr.io/google-appengine/php56

# WhaTap. Install Lib
RUN apt-get install wget -y

# WhaTap. Link php-fpm
RUN ln -s /opt/php/sbin/php-fpm /usr/bin/php-fpm

# WhaTap. Install repository and whatap-php
RUN wget http://repo.whatap.io/debian/release.gpg -O -| apt-key add -
RUN wget http://repo.whatap.io/debian/whatap-repo_1.0_all.deb
RUN dpkg -i whatap-repo_1.0_all.deb
RUN apt-get update
RUN apt-get install whatap-php

# WhaTap. Configure PHP agent
RUN (echo "xxxxxxxx"; echo "1.1.1.1/2.2.2.2")|/usr/whatap/php/install.sh

# WhaTap. Add supervisor/conf.d/whatap.conf. Run whatap-php service
RUN echo "[program:whatap-php]" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "command = /etc/init.d/whatap-php start" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "stdout_logfile = /dev/stdout" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "stdout_logfile_maxbytes=0" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "stderr_logfile = /dev/stderr" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "stderr_logfile_maxbytes=0" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "user = root" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "autostart = true" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "autorestart = true" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "priority = 10" >> /etc/supervisor/conf.d/whatap.conf

프로젝트 생성 후 발급받은 수집서버 아이피에 대한 Tcp Outbound 6600 허용해 주세요

변경된 app.yaml 과 Dockerfile 을 Google App Engine에 배포하면 PHP 모니터링 프로젝트 대시보드 또는 서버 화면에서 확인이 가능합니다.

설치

PHP 환경 선택 설치

whatap-php 패키지 설치 후 PHP 환경에 따른 설정을 진행하는 스크립트(install.sh)에 사용자가 환경을 지정하여 설치하는 기능이 추가되었습니다.

  • PHP 버전(-v, –php-version) PHP 설정파일 위치(-i, –php-ini ), 웹서버 또는 PHP-FPM 실행 파일명(-p, –process, 메모리 사용량 수집을 위한 정보), ZTS 지원여부(-z, –php-zts)를 지정하여 설치 가능합니다.

    /usr/whatap/php/install.sh -l <license> -s <whatap.server> -v 5.3 -i /etc/php.ini -p php-fpm [-z|--zts]
  • PHP CLI 명령어 위치(-e, –php-exe) , 웹서버 또는 PHP-FPM 실행 파일명(-p, –process, 메모리 사용량 수집을 위한 정보), ZTS 지원 여부(-z, –php-zts)를 지정하여 설치 가능합니다.

    /usr/whatap/php/install.sh -l <license> -s <whatap.server> -e /usr/bin/php -p php-fpm [-z|--zts]

PHP Agent 0.3.6

2018-04-10

업데이트

한글 URL에 대한 디코딩을 추가했습니다.

버그

  • ZTS 환경에서 Segfault 오류가 발생하는 문제를 수정하였습니다.

  • 사용자 토큰 수집에서 PHPSESSID 수집 로직이 누락되어 있던 부분을 수정하였습니다.

PHP Agent 0.3.5

2018-03-15

업데이트

에이전트 로그

사이트에서 원격으로 에이전트 로그를 확인할 수 있는 기능이 추가되었습니다. 사이트의 서버 > 더보기 > 에이전트 로그 항목에서 확인 할 수 있습니다.

버그

segmantation fault

PHP Class 라이브러리를 통한 User Step 설정 중에 발생하는 segmantation fault 를 수정했습니다.

PHP Agent 0.3.4

2018-02-13

버그

Oracle

Oracle 모듈 (oci8)의 Alias Function(ocilogin, ociparse 등)에 대한 프로파일링 정보가 수집되지 않는 부분 수정되었습니다.

PHP Agent 0.3.3

2018-01-25

업데이트

PHP 7.2

PHP 7.2 지원이 추가되었습니다.

버그

PHP 5.2

PHP 5.2 + Zend Optimizer 환경에서 프로파일링 정보가 잘못 수집되는 부분이 수정되었습니다.

PHP Agent 0.3.2

2017-12-06

업데이트

MSSql

Linux 용 Mssql 라이브러리 지원이 추가 되었습니다.
Mssql 라이브러리를 사용하는 데이터베이스 접속, 쿼리 및 프로시져 에 대한 프로파일링 정보를 수집합니다.

db mssql

버그

Apache 웹서버를 대상으로 선택 설치(install.sh manual)하는 경우에 apachectl 명령어를 잘못 인식하는 부분이 보완되었습니다.

PHP Agent 0.3.1

2017-11-23

업데이트

Oracle 지원

Oracle oci8 라이브러리 지원이 추가 되었습니다.

메소드 프로파일

메소드 프로파일 기능이 추가되었습니다.
실행시간이 1초를 초과하는 사용자 함수의 정보를 트랜잭션 상세 정보에서 확인 할 수 있습니다.
기본 설정은 true 입니다.
whatap.ini 에 해당 설정을 추가 합니다. (PHP 컴파일 설치로 php.ini 에 추가해야 할 수도 있습니다. )

step method
whatap.profile_method_enabled=true
해당 옵션은 Apache 또는 PHP-FPM을 재시작 하여야 적용됩니다.

DB 오픈 정보

DB 오픈 정보를 수집하는 기능이 추가 되었습니다.
DB 오픈 실행 시간 및 연결 정보를 수집합니다.

step db open

PHP 라이브러리

PHP Class 라이브러리가 추가 되었습니다.
PHP 소스코드에 함수를 추가하여 원하는 구간의 실행 시간 및 스택 정보를 확인할 수 있습니다.

<?php
    // 라이브러리 위치 /usr/whatap/php/lib/WhaTap
    include_once './WhaTap.php';

    // 시작 지점 @param name string, stack_enabled boolean
    WhaTap::whatap_begin_step("Curl_Setopt_array", true);

    // 내부 프로세스
    ...

    // 종료 지점
    WhaTap::whatap_end_step();
?>
step user

Socket

Socket 연결정보를 수집하는 기능이 추가되었습니다.
socket_connect(), fsockopen() 함수에 대해서 연결 정보를 수집합니다.

PHP 모듈 의존성

서버의 PHP 의 설치 모듈 정보를 수집하는 기능이 추가 되었습니다.
서버 > 더보기 > 모듈 의존성 메뉴에서 설치 모듈 정보를 확인 할 수 있습니다.

버그

SQL

SQL 구분의 파라메터 정보를 일반화 하는 과정에 특정 문자(", \', '', '") 를 추가하였습니다

PHP Agent 0.3.0

2017-10-17

업데이트

지원 환경이 추가 되었습니다.

  • PHP 5.2(NZTS, ZTS) 이상 버전에서 모니터링이 지원됩니다.

  • CentOS 6.x (64bit) 이상, Ubuntu 12.04 (64bit) 이상 버전에서 모니터링이 지원됩니다.

실시간 사용자 수를 측정하는 기능이 보완되었습니다.

PHP 기본 쿠키(PHPSESSID) 및 프레임워크 쿠키(ci_session, laravel_session) 를 기준으로 사용자를 구분합니다. 쿠키 사용을 설정하면 기본 쿠키가 없는 경우에 “WHATAP” 키를 쿠키에 추가하여 사용자를 구분할 수 있습니다.

whatap.trace_user_set_cookie=true

쿠키를 사용하지 않는 환경에서 특정 HTTP 헤더 키를 가져와서 사용자를 구분할 수 있습니다.

whatap.trace_user_header_ticket=[HTTP Header Key]

whatap.ini 에 해당 설정을 추가하고 서비스를 재시작하면 적용됩니다. (PHP 컴파일 설치로 php.ini 에 추가해야 할 수도 있습니다. )

버그

트랜잭션 에러

트랜잭션의 에러 정보가 통계로 수집 되지 않는 문제를 수정했습니다.

로그

동일한 로그가 반복적으로 출력되어 Disk IO 점유율이 높아지는 문제를 수정했습니다. 동일한 로그는 정해진 시간 안에 한 번만 출력 되도록 수정되었습니다.

설치 문제를 보완하였습니다.

PHP 소스를 컴파일 하여 직접 설치하는 경우에, –with-config-file-scan-dir 옵션을 설정하지 않으면 추가 설정 파일(ini)을 로딩하는 기능이 적용되지 않습니다.
이 경우 설정파일(whatap.ini)을 복사하지 못하는 문제가 있습니다. 오류 문구는 다음과 같습니다.

PHP_INI_DIR=(none)
cp: cannot create regular file `(none)/whatap.ini': 그런 파일이나 디렉터리가 없습니다

whatap.ini 내용을 분리하여 설정하도록 수정되었습니다. (설치 가이드 내용 중 수동 설치 항목)
PHP Extension 설정 내용은 PHP 기본 설정파일인 php.ini 에 추가되고, 그 외 설정은 /usr/whatap/php/whatap.ini 에 설정 됩니다.

PHP Agent 0.2.7

2017-09-06

업데이트

File 정보

File Open 정보를 수집합니다.

버그

SQL

SQL 파라메터 일반화 중 쌍따옴표을 인식하지 못하는 오류를 수정하였습니다.

메모리 오류

PHP 7.0 이상에서 발생하는 메모리 오류를 수정하였습니다.

PHP Agent 0.2.6

2017-09-19

업데이트

SQL 파라메터 조회

일반화 되어 `#`으로 처리되는 SQL 파라메터럴 조회할 수 있는 기능을 추가하였습니다. /usr/whatap/php/paramkey.txt 상에 설정된 키를 이용하여 트랜잭션 상세정보에서 해당 SQL 파라메터를 확인 할 수 있습니다.

에러 및 예외 처리 정보

Error 또는 Exception 정보를 메세지 스탭으로 전달. 사이트 상에 트랜잭션 상세보기에서 Error 또는 Exception 의 상세 정보를 확인 할 수 있습니다.

HTTP 외부 콜

cURL을 통한 multi call에 대한 지원을 추가하였습니다.

PHP Agent 0.2.5

2017-08-29

업데이트

설정 메뉴

사이트의 서버 > 설정 항목에서 에이전트의 설정 내용을 원격으로 변경할 수 있도록 추가했습니다.

호스트 정보 수집

URL에 추가로 호스트 정보를 표기합니다. /[HOST]/[URL] 형식으로 표기합니다.

설정 옵션은 아래와 같습니다.

whatap.profile_http_host_enabled=true

버그

시간 동기화

수집서버와의 시간 동기화 오류를 수정하였습니다.

Laravel

Laravel 프레임워크에서 발생하는 오류를 수정하였습니다. Request 정보를 포인터롤 사용하지 않고 복사해서 사용하도록 수정하였습니다. (estrdup 사용)

PHP Agent 0.2.4

2017-08-11

업데이트

Zend Thread Safe 지원

에이전트 캐시

SQL 캐시 초기화 로직 추가

예외 정보

Exception 발생 정보를 에러 정보로 수집

버그

메모리 오류

Map 처리 중에 발생하는 메모리 오류를 수정하였습니다.

PHP Agent 0.2.3

2017-08-08

업데이트

에이전트 예외처리

  • 에이전트 TCP관련 예외 처리

  • 에이전트 UDP관련 정리

에이전트 컴파일 버전 변경

golang 버전 업그래이드 1.8.1 → 1.8.3

에러 정보

예외 처리시 suffix Error, error 를 Erorr처리

설치

환경 변수

설치시에 서비스 스크립트 whatap-php 에 WHATAP_PHP_BIN 환경 변수 추가 WHATAP_PHP_BIN은 서버환경의 PHP Cli 경로를 설정한다. 설정된 cli 경로로 PHP 환경 정보를 수집

삭제 후 재설치 필요

PHP Agent 0.2.2

2017-07-26

업데이트

캐시 초기화

UTC 00시 기준으로 Hash 캐시를 초기화 한다.

자원 정보

Process 기준 CPU, Memory 정보 로직 수정.

에러 정보

PHP Extension 에러 및 예외처리옵션 설정 추가.

PHP Agent 0.2.0

2017-07-20

업데이트

클로즈 베타

Python Agent Release Notes

WhaTap Support <support@whatap.io>

Python Agent 0.1.71

SQL파라미터정보 조회 기능 추가

트랜잭션 프로파일 데이터에서 SQL파라미터정보를 보안키를 통하여 조회할 수 있습니다. whatap.conf 에 다음 옵션을 적용하면 외부 호출에 대한 파라미터를 조회할 수 있습니다. 추가된 옵션은 다음과 같습니다.

profile_sql_param_enabled

Default : false
Type : Boolean
SQL 파라미터를 수집을 활성화합니다. 단 파라미터는 별도 보안키를 입력해야 조회할 수 있습니다. 보안 키는 에이전트 설치 경로의 paramkey.txt 파일에 6 자리로 지정합니다. paramkey.txt 가 존재하지 않는 경우 자동 생성되며 random 키가 설정됩니다.

profile sql param enabled

HTTP-PARAMETERS 데이터 수집 기능 추가

트랜잭션 프로파일 데이터에서 HTTP-PARAMETERS 데이터를 수집하는 옵션이 추가되었습니다. whatap.conf 에 다음 옵션을 적용하면 외부 호출에 대한 파라미터를 조회할 수 있습니다. 추가된 옵션은 다음과 같습니다.

profile_http_parameter_enabled

Default : false
Type : Boolean
http 파라미터를 프로파일링을 활성화합니다. 단 파라미터는 별도 보안키를 입력해야 조회할 수 있습니다. 보안 키는 에이전트 설치 경로의 paramkey.txt 파일에 6 자리로 지정합니다. paramkey.txt 가 존재하지 않는 경우 자동 생성되며 random 키가 설정됩니다.

profile http parameter enabled
profile http parameter enabled modal

URL의 쿼리 스트링을 함께 수집하는 기능 추가

트랜잭션 프로파일 데이터에서 URL의 쿼리 스트링을 함께 수집하는 옵션이 추가되었습니다. whatap.conf 에 다음 옵션을 적용하면 외부 호출에 대한 파라미터를 조회할 수 있습니다. 추가된 옵션은 다음과 같습니다.

query_string_enabled

Default : false
Type : Boolean
트랜잭션 URL의 쿼리 스트링을 함께 수집하는 기능을 활성화합니다.

query_string_enabled

Default : false
Type : Boolean
트랜잭션 URL의 쿼리 스트링을 함께 수집하는 기능을 활성화합니다.

Python Agent 0.1.81

Docker Image Alphine Linux Support

Alpine Linux 이미지에서 오동작하는 오류를 수정하였습니다.

Python Agent 0.1.87

Celery Support

Celery 4.3 버젼부터 지원합니다. 향후 고객 요청사항에 따라 구형 버젼중 일부를 추가할 예정입니다.

설치방법

설치방법은 기본설치 방법과 같습니다.

Celery 시작 예

Linux
export WHATAP_HOME=/path/to/usr/dir
whatap-setting-config --host  10.1.1.1  --license xxxxxxxxxxx-xxxxxxxxxx-xxxxxxxx  --app_name celery --app_process_name python3.6
whatap-start-agent celery -A celery_worker worker --loglevel=info

Server Agent Release Notes

WhaTap Support <support@whatap.io>

Server Agent 1.2.4

원격 파일 뷰어 기능 추가

베리타스 클러스터 디스크 IO 미수집 오류 수정

Windows API Slow 알림 삭제

Server Agent 1.2.3

Linux Process Memory 계산시 Shared 중복 계산 개선

Netstat 지수 수집 추가

Linux Open File Descriptor 수집 추가

Server Agent 1.2.2

Windows Agent 가 운영체제 Uptime을 사용할때 Win32_OperatingSystem 값을 한번만 질의하도록 수정

Server Agent 1.2.1

Linux 메모리 사용량에 Available Memory 적용

CentOS7을 포함한 최신 리눅스 운영체제에서 /proc/meminfo에 Available 이 있을 경우 메모리 사용량으로 사용하도록 변경하였습니다. CentOS6를 포함한 구형 리눅스 운영체제에서 메모리사용량은 전체 - free - buffer - cache로 유지합니다.

Server Agent 1.2.0

Linux INode Depletion 이벤트 추가

리눅스 운영체제에서 파티션별 INode 고갈 여부를 체크할 수 있는 알림을 추가하였습니다.

Server Agent 1.1.9

로그 알림 발생조건 개선

파일로그 알림 발생조건에 지정된 기간내에 반복 발생하는 횟수를 추가하였습니다. 특정회수 이상 로그가 발생할때 알림을 발생할 수 있도록 개선하였습니다.

로그 발생시 특정 스크립트 실행 기능 추가

지정된 파일에서 로그 알림이 발생할때 지정된 서버에서 지정된 스크립트가 실행되는 기능이 추가되었습니다. 반복적으로 실행될 수 있는 서버 관리기능이 로그발생과 연동되어 작동할수 있습니다.

Server Agent 1.1.8

Windows Agent CPU 부하 개선

Windows 호스트에서 데이터 수집 코드를 개선하여 소모되는 CPU 사용부하를 개선하였습니다.

Server Agent 1.1.7

Windows Agent No Data 오탐 개선

Windows 호스트에서 성능정보 API(Windows Performance API)의 지연 발생시 No Data 알림이 발생하는 현상 개선.

Windows Performance API 지연 현상은 윈도우 명령  lodctr /R, sfc /scannow 를 참고하여 개선 할 수 있습니다.

Server Agent 1.1.6

Disk 목록 Bug Fix

Linux 호스트에서 디스크 마운트를 중복으로 하더라도 정상적으로 목록화할수 있도록 개선.

다운체크 Bug Fix

와탭 Agent간 상호 감시 가능인 다운체크 기능의 오류로 Crash가 발생하는 현상을 개선

Oracle Agent Release Notes

WhaTap Support <support@whatap.io>

Oracle Agent 1.3.9

2018-12-03

오라클 session counts sql 개선

다음 수집되는 엑티브세션 SQL의 성능이 개선되었습니다.

session list