쿠버네티스 모니터링 서비스 가이드

제목 : 쿠버네티스 모니터링 서비스 가이드
작성자 : WhaTap Support
이메일 : support@whatap.io
날짜 : 2019-08-12
버전 : 1.0.0

설명 : 본 문서는 WhaTap 쿠버네티스 모니터링 서비스에 대해 설명합니다.

1. 시작하기

와탭은 모니터링 서비스입니다. Public 클라우드에서 와탭 모니터링이 서비스되고 있습니다.
사용자는 와탭홈페이지 에 회원 가입후 프로젝트를 생성하고 에이전트를 설치하면 즉시 서비스를 사용할 수 있습니다.

1.1. 지원 환경

와탭 모니터링 UI는 웹브라우저와 모바일 앱을 통해 사용합니다.

지원 브라우저 범위는 다음과 같습니다.

Table 1. 지원 브라우저
브라우저 권장여부 지원버전

Google Chrome

O

58 이상

Mozilla FireFox

O

52 이상

Edge

X

38.14393 이상

Safari

X

Untested

브라우저 호환성과 성능을 이유로 Chrome, Firefox 최신버전 사용을 권장 합니다.
UI는 HTML5 표준기술로 구현되어 Internet Explorer 지원하지 않습니다.

모바일 앱은 앱스토어에서 다운로드 받을 수 있습니다.

1.2. 회원 가입

  • http://www.whatap.io 에 접속 후 계정 생성하기 버튼을 클릭합니다.

  • 회사명, 이름, 이메일계정, 비밀번호, 전화번호를 입력하여 회원가입을 진행합니다.

가입정보의 Email, 전화번호로 장애알람을 발송합니다.
create account

1.2.1. 사용자 종류와 권한

tenant
Figure 1. 와탭은 소유권이 있는 프로젝트를 관리하는 멀티테넌시를 제공합니다.

와탭 모니터링 서비스의 사용자 권한 그룹은 Super Admin(SA) / Admin / User 로 구분되며 각 그룹별 권한은 다음과 같습니다.

권한그룹 프로젝트 당 계정 수 모니터링 사용자 초대 사용자 권한 변경 사용자 제외 프로젝트 삭제

Super Admin

1

O

O

O

O

O

Admin

제한 없음

O

O

O

O

X

User

제한 없음

O

X

X

X

X

Super Admin (Owner)

프로젝트 당 1개 계정, 사용자 초대, 사용자 권한 변경, 사용자 제외, 프로젝트 삭제

프로젝트를 생성한 계정에 부여되며 프로젝트 삭제를 포함한 모든 권한을 가지게 됩니다.
프로젝트에 다른 사용자를 초대하거나 권한을 부여하고 프로젝트에서 사용자를 제외할 수 있습니다.
 - 사용자 초대는 Admin, User 권한으로 초대할 수 있습니다.
 - 권한 변경 시 Super Admin 권한으로의 변경은 제한되어 있습니다.
 - Super Admin 이외 사용자를 프로젝트에서 제외할 수 있습니다.
 - 다른 사용자에게 Super Admin 권한을 위임할 수 있습니다.
Admin

계정 수 제한 없음, 사용자 초대, 사용자 권한 변경, 사용자 제외

프로젝트에 다른 사용자를 초대하거나 권한을 부여하고 프로젝트에서 사용자를 제외할 수 있습니다.
 - 사용자를 초대하고 Admin 또는 User 권한을 부여할 수 있습니다.
 - Admin에서 Super Admin 권한으로의 변경은 제한되어 있습니다.
 - Super Admin 계정과 본인 계정을 제외한 사용자를 제외할 수 있습니다.
User

계정 수 제한 없음

모니터링 전용의 계정으로, 프로젝트 관리 및 사용자 관리 권한이 부여되지 않습니다.

1.3. 프로젝트 생성

모니터링 에이전트 등록을 위해 프로젝트를 생성합니다.

해당하는 플랫폼, 프로젝트 이름과 데이터 서버 지역, 타임 존, 프로젝트 그룹을 선택한 후 저장 버튼을 누릅니다.

Screenshot 2022 04 18 create project
Figure 2. 프로젝트 생성

이후, 생성된 프로젝트를 선택하여 화면 안내를 확인합니다.

1.3.1. 멀티리전의 이해

와탭은 데이터 수집 리전을 여러곳에 두고 서비스를 합니다. 하나의 수집리전은 다수의 수집서버가 ScaleOut 되는 구성입니다.

모니터링 할 시스템 위치에 따라 가까운 곳의 리전을 선택할 수있습니다.

region
Figure 3. 멀티 리전

2020년 4월 기준 "Seoul", "Tokyo", "Singapore", "Mumbai", "California", "Frankfurt" 6개 지역에서 서비스하고 있습니다.
서울 지역은 Public 으로 AWS, Azure 리전과 Private인 NHN Toast, NaverCloud 리전에서 서비스 하고 있습니다.

global
Figure 4. 와탭 리전

1.4. 프로젝트 관리

Application Monitoring - 프로젝트 관리

1.4.1. 프로젝트 그룹

와탭은 프로젝트 단위로 테넌트를 관리합니다.
하나의 사용자는 여러 개의 프로젝트를 소유할 수 있습니다.
여러 개의 프로젝트를 관리하기 위해 그룹 개념을 제공하고 있습니다.

하나의 프로젝트는 두개 이상의 그룹에 속할 수 없습니다.
프로젝트는 그룹에 속하지 않을 수 있습니다.
Screenshot 2020 12 15 Cloud Monitoring

1.5. 유료 전환

체험 기간 종료 후 서비스를 계속 이용하고자 한다면 결제 정보를 등록하고 유료 전환해야 합니다.

결제는 카드 정기결제, 세금계산서 발행 두 가지 중 선택할 수 있습니다.

1.5.1. 결제정보 등록

신용카드정보 등록

사전 준비사항

  • 결제 등록할 신용카드

  • 그룹 소유권자 또는 프로젝트 소유권자 계정으로 로그인

그룹 소유권자 또는 프로젝트 소유권자 계정으로 로그인 후 왼쪽 메뉴 하단의 이용 내역을 선택 합니다.

이용내역
Figure 5. 좌측 하단 이용내역

이용 내역 아래 결제 정보 메뉴를 선택합니다.

그림과 같이 신용카드를 선택후 등록할 카드 정보를 입력합니다.Q

지불수단
Figure 6. 지불수단 등록
카드등록
Figure 7. 카드 등록
  • 개인 카드인 경우 개인 선택, 주민등록번호 입력

  • 기명 법인카드를 포함한 법인 카드인 경우 법인 선택, 사업자등록번호 입력

계정등록
Figure 8. 계정 등록

결제 계정정보를 입력합니다.

  • 청구서를 수신할 회사내 대표 담당자 정보를 입력합니다.

  • 함께 청구서를 수신할 담당자가 있다면 청구서 참조 수신메일에 추가 합니다.

전월 사용량 청구서는 익월 5일 이내 발송됩니다. 결제는 25일에 진행됩니다.

세금계산서 발행 정보 등록

사전 준비사항

  • 사업자등록증

  • 그룹 소유권자 또는 프로젝트 소유권자 계정으로 로그인

그룹 소유권자 또는 프로젝트 소유권자 계정으로 로그인 후 왼쪽 메뉴 하단의 이용 내역을 선택합니다.

이용내역
Figure 9. 좌측 하단 이용내역

이용 내역 아래 결제 정보 메뉴를 선택합니다.

계산서발행을 선택후 정발행/역발행 중 하나를 선택합니다. 정발행인 경우 회사 정보와 계산서 발행일을 선택합니다.

결제 계정정보를 입력합니다.

  • 청구서를 수신할 회사내 대표 담당자 정보를 입력합니다.

  • 함께 청구서를 수신할 담당자가 있다면 청구서 참조 수신메일에 추가합니다.

세금계산서 발행일을 선택합니다.

  • 25일: 사용월 25일

  • 말일: 사용월 마지막 날짜

  • 청구서 발행 당일: 사용월 기준 익월 초 영업일 3일 이내

세금계산서 정보
Figure 10. 세금계산서 정보 등록

전월 사용량 청구서는 익월 5일 이내 발송되며, 선택하신 계산서 발행일로 작성됩니다. 결제는 25일까지 해주시면 됩니다.

프로모션 코드 등록

사전 준비 사항

  • SA 계정으로 로그인

  • 결제정보등록

    1. 사이트에 SA 계정으로 로그인 하신 후 왼쪽 메뉴 하단 이용 내역을 선택합니다.

이용내역
  1. 이용 내역 아래 결제 정보 메뉴를 선택합니다. 결제 정보를 우선 입력한 후 하단 프로모션 정보에 프로모션 코드값을 입력하고 추가 버튼을 클릭합니다.

Screenshot 2022 04 18 promotion code

1.5.2. 프로젝트 유료전환

결제정보가 등록되었다면 프로젝트를 유료 전환할 수 있습니다.

이용내역 - 프로젝트 유료전환 메뉴로 이동해 상태를 변경합니다.

유상 전환된 프로젝트는 상태가 "유료 전환"으로 변경되며 유상전환일이 등록됩니다.

프로젝트명 우측 '구매 이력' 버튼을 클릭하면 현재까지 구매 내역을 확인하실 수 있습니다.

유료전환 메뉴
Figure 11. 유료전환 메뉴
월간 예상비용은 할인/프로모션 내역이 적용되지 않은 예상비용입니다.
프로모션 고객은 "청구서 미리보기" 메뉴에서 예상 비용을 확인하실 수 있습니다.

1.5.3. 청구 및 지불현황

납부이력, 미납금 및 청구 내역을 확인하기 위해서는 이용내역 - 청구 및 지불현황 메뉴로 이동합니다.

청구 및 지불현황
Figure 12. 청구 및 지불현황

"상세" 버튼을 클릭하면 청구서 상세 내역을 확인할 수 있습니다.
와탭 서비스는 시간 단위로 과금됩니다. 매월 기준 시간은 해당 월의 일수 * 24시간으로 계산됩니다.

월 기준 시간
 28일 : 28 * 24 = 672시간
 29일 : 29 * 24 = 696시간
 30일 : 30 * 24 = 720시간
 31일 : 31 * 24 = 744시간
청구서 상세
Figure 13. 청구서 상세

1.5.4. 청구서 미리보기

청구서 미리보기에서는 당월 현재까지 할인/프로모션이 적용된 사용요금을 확인할 수 있습니다.

청구서 미리보기
Figure 14. 청구서 미리보기

1.5.5. 사용량

월별 사용량 정보를 시간 단위로 상세 제공합니다.

사용량
Figure 15. 사용량

2. 와탭 쿠버네티스 모니터링 설치

와탭 쿠버네티스 모니터링 서비스는 단일 클러스터를 대상으로 다수의 네임스페이스 및 포드/컨테이너를 프로젝트로 그룹화 하여 관리합니다.

쿠버네티스 프로젝트는 1개의 마스터(Kubenetes) 프로젝트와 다수의 네임스페이스(Namespace) 프로젝트로 구성됩니다.

  • 마스터 프로젝트 - 쿠버네티스 클러스터 내의 모든 자원 정보를 모니터링 하기 위한 프로젝트로 본 프로젝트를 통해 마스터 에이전트와 노드 에이전트 설치를 진행합니다.

  • 네임스페이스 프로젝트 - 쿠버네티스 클러스터의 네임스페이스 단위로 모니터링을 수행하기 위한 프로젝트로 네임스페이스 단위의 자원 모니터링 및 애플리케이션 컨테이너의 모니터링을 수행하기 위한 프로젝트 입니다. 본 프로젝트를 통해 마이크로 에이전트의 설치를 진행합니다.

WhaTap Kubernetes Monitoring Project List
Figure 16. WhaTap Kubernetes Monitoring Project List

2.1. 설치 절차

  1. 마스터(Kubernetes) 프로젝트 생성

  2. 마스터 / 노드 에이전트 설치

  3. 네임스페이스(Namespace) 프로젝트 생성

  4. 마이크로 애플리케이션 에이전트 설치

2.1.1. 프로젝트 생성

와탭 콘솔의 프로젝트 그룹에서 프로젝트 생성 버튼을 누릅니다.

Click Button to Create Kubernetes Project
Figure 17. Click Button to Create Kubernetes Project

쿠버네티스 아이콘 선택 후 각 입력란에 해당하는 정보를 입력하고 저장 버튼을 눌러 프로젝트를 추가합니다.

Create Kubernetes Project
Figure 18. Create Kubernetes Project

신규 생성한 쿠버네티스 모니터링 프로젝트를 선택하면 에이전트 설치 화면이 나타납니다. 프로젝트 관리 | 에이전트 설치 메뉴를 통해서도 확인 가능합니다.

에이전트 설치 절차는 쿠버네티스 환경 모니터링을 위한 마스터 및 노드 에이전트 설치와 애플리케이션 에이전트 설치의 두 가지 과정으로 진행됩니다.

2.1.2. 마스터 및 노드 에이전트 설치

설치 안내 페이지에 안내된 흐름을 따라 마스터 및 노드 에이전트의 설치 과정을 진행합니다.

Install Master and Node Agents
Figure 19. Install Master and Node Agents
라이선스 발급

설치 페이지에 존재하는 "라이선스키를 생성해 주세요." 밑에 있는 버튼을 클릭하여 라이선스를 발급받습니다.

사전 환경 점검 및 설정

쿠버네티스 환경에 따라 사전 환경 설정을 필요로 하는 케이스가 존재합니다.

Istio 를 적용한 환경일 경우

하기 명령을 실행하여 Istio 환경 모니터링에 필요한 자원을 생성합니다.

kubectl create namespace whatap-monitoring
kubectl label namespace whatap-monitoring istio-injection=enabled
kubectl apply -f - <
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
    name: whatap-external
spec:
    hosts:
    - whatap-proxy1
    - whatap-proxy2
    addresses:
    - 13.124.11.223
    - 13.209.172.35
    ports:
    - name: proxy
      number: 6600
      protocol: tcp
      location: MESH_EXTERNAL
EOF
GKE 환경일 경우

GKE 클러스터 생성후 아래 명령을 통해 권한 설정을 수행합니다.

#GKE 권한설정
ACCOUNT=$(gcloud info --format='value(config.account)')
kubectl create clusterrolebinding owner-cluster-admin-binding \
    --clusterrole cluster-admin \
    --user $ACCOUNT
gcloud 명령 설치는 https://cloud.google.com/sdk/install를 참조하세요.
OpenShift 환경일 경우

설치 안내 화면 상에서 openshift_scc.yaml 파일을 다운로드 하고, 하기 명령을 통해 설치합니다.

oc create -f whatap_openshift_scc.yaml
마스터 및 노드 에이전트 설치

Container Runtime에 맞는 yaml을 다운로드 합니다.

Amazon, Google, Azure, 혹은 설치형 쿠버네티스에서 Container Runtime을 별도로 지정하지 않으신 경우 Docker yaml을 다운로드 합니다.

Container Runtime을 지정하신 경우 해당 yaml을 다운로드 합니다.

Install Master and Node Agents
Figure 20. Download Master and Node Agent YAML file

다운로드 한 YAML 파일로 에이전트 Pod를 생성합니다.

kubectl -f whatap_kube.yaml apply

와탭 마스터 에이전트와 노드 에이전트를 정상적으로 생성하였는지 확인합니다.

kubectl get pod -n whatap-monitoring
NAME                                  READY   STATUS    RESTARTS   AGE
whatap-master-agent-cb769958c-tclkl   2/2     Running   0          5d
whatap-node-agent-8p8vk               2/2     Running   0          5d
whatap-node-agent-cj8jb               2/2     Running   0          5d
whatap-node-agent-d94fj               2/2     Running   0          5d
whatap-node-agent-l42sf               2/2     Running   0          5d
whatap-node-agent-mkppb               2/2     Running   0          5d
whatap-node-agent-pdwlr               2/2     Running   0          5d
whatap-node-agent-zf6bv               2/2     Running   0          5d

마스터 및 노드 에이전트의 설치가 완료되면 쿠버네티스 환경의 자원 모니터링이 시작되므로 대시보드 메뉴를 통해 자원 모니터링 여부를 확인합니다.

후속 작업으로 애플리케이션 모니터링을 위한 에이전트 설치를 수행합니다.

2.1.3. 에이전트 업데이트

에이전트 업데이트가 필요한 경우 아래 명령을 실행합니다.

와탭 마스터 에이전트 업데이트

kubectl set image deployment/whatap-master-agent whatap-master-agent=whatap/kube_mon:{원하는 버전} -n whatap-monitoring

와탭 노드 에이전트 업데이트

kubectl set image daemonset/whatap-node-agent whatap-node-agent=whatap/kube_mon:{원하는버전} -n whatap-monitoring

2.1.4. 네임스페이스(Namespace) 프로젝트 생성

쿠버네티스 프로젝트 목록에 표시되는 미생성 상태의 네임스페이스 프로젝트 카드를 클릭하여 Namespace 프로젝트를 생성합니다.

Create Namespace Project
Figure 21. Create Namespace Project

2.1.5. 애플리케이션 에이전트 설치

마이크로 애플리케이션 에이전트의 설치는 와탭의 "애플리케이션 모니터링"의 설치 절차와 동일하나 컨테이너라이징 작업이 수반됩니다.

설치 안내 페이지에 안내된 흐름을 따라 마스터 및 노드 에이전트의 설치 과정을 진행합니다.

Install Micro Application Agents
Figure 22. Install Micro Application Agents
라이선스 발급

설치 페이지에 존재하는 "라이선스키를 생성해 주세요." 밑에 있는 버튼을 클릭하여 라이선스를 발급받습니다.

마스터 프로젝트의 라이선스 키와 네임스페이스 프로젝트의 라이선스 키는 동일하지 않으므로, 이후 절차에 본 프로젝트에서 발급한 라이선스 키각 적용되도록 주의합니다.
마이크로 애플리케이션 에이전트 컨테이너라이징
Java 애플리케이션 컨테이너 라이징

하기 설치 과정은 docker로 구동될 java application의 JVM Option에 에이전트 적용을 위한 옵션을 추가하고, docker container 이미지를 패키징 하는 과정을 설명합니다.

애플리케이션의 Dockerfile이 있는 디렉토리에 whatap.conf 파일을 생성합니다.
  • 도커 빌드 디렉토리 생성 합니다.

    mkdir -p {Docker build Dir}
  • whatap.conf 파일을 생성합니다.

    cat >{Docker build Dir}/whatap.conf <
    whatap.server.host=13.124.11.223/13.209.172.35
    EOL
whatap.conf 파일은 필요시 Kubernetes ConfigMap으로 관리 가능합니다.
Dockerfile에 와탭 에이전트 설치용 이미지를 불러와 다운 받는 명령어를 추가합니다.
RUN mkdir -p /whatap           # 와탭 에이전트용 디렉토리를 사용자 컨테이너에 생성
COPY --from=whatap/kube_mon /data/agent/micro/whatap.agent-*.jar /whatap  # 와탭 JAVA 에이전트를 사용자 컨테이너에 복사
COPY ./whatap.conf /whatap/    # 생성한 whatap.conf 설정 파일을 사용자 컨테이너에 복사
javaagent 옵션을 추가합니다.
스크립트로 애플리케이션을 기동할 경우

스크립트에 다음 내용을 추가합니다.

WHATAP_HOME=/whatap
WHATAP_JAR=ls ${WHATAP_HOME}/whatap.agent-*.jar | sort | tail -1
export JAVA_OPTS="-javaagent:${WHATAP_JAR} -Dwhatap.micro.enabled=true "
Dockerfile 명령어로 애플리케이션을 기동할 경우

에이전트 버전을 확인합니다.

docker run whatap/kube_mon ls /data/agent/micro –

Dockerfile 애플리케이션 기동 명령어에 다음 내용을 추가합니다.

-javaagent:/whatap/whatap.agent-#.#.#.jar -Dwhatap.micro.enabled=true

Dockerfile 예시

FROM openjdk:8-jdk-slim
RUN mkdir -p /app && mkdir /whatap
WORKDIR /app
COPY --from=whatap/kube_mon /data/agent/micro/whatap.agent-*.jar /whatap
COPY whatap.conf /whatap
COPY myApp.jar /app/
CMD ["java","-javaagent:/whatap/whatap.agent-2.0_20.jar","-Dwhatap.micro.enabled=true",”-jar”,"/app/myApp.jar"]
EXPOSE 8080
Docker 빌드
cd docker
docker build -t $Image_Name.
Kubernetes의 컨테이너 환경 변수 설정

애플리케이션 에이전트에서 필요로 하는 환경 변수 정보를 입력합니다.

OKIND 환경 변수는 Pod에 해당하는 애플리케이션들을 그룹화 합니다. Deployment 이름으로 설정 시 Deployment에 해당 하는 Pod들을 하나로 그룹화 합니다.

env:
  - name: NODE_IP
    valueFrom: {fieldRef: {fieldPath: status.hostIP}}
  - name: NODE_NAME
    valueFrom: {fieldRef: {fieldPath: spec.nodeName}}
  - name: POD_NAME
    valueFrom: {fieldRef: {fieldPath: metadata.name}}
  - name: OKIND
    value: “{업무 종류 이름 또는 Deployment 이름}
  - name: license
    value: x4beh20bjgp2s-x6uprtmp409mvc-z3sl51qhqps7q7
  - name: whatap-conf
와탭 에이전트가 설치된 도커 이미지로 배포
Node.js 애플리케이션 컨테이너 라이징

하기 설치 과정은 docker로 구동될 node.js application에 와탭 모니터링을 적용하고, docker container 이미지를 패키징 하는 과정을 설명합니다.

와탭 에이전트 설치
  • 다음 명령어를 통해 whatap을 설치합니다.

    npm install --save whatap
  • 업데이트 시에는 다음 명령어를 활용합니다.

    npm update whatap
에이전트 설정

node_modules/whatap에 있는 whatap.conf 파일을 node.js 애플리케이션 루트 디렉토리로 복사하고,

복사한 whatap.conf 파일의 내용을 "에이전트 설치" 페이지에 표시되는 내용으로 교체합니다.

license=...
whatap.server.host=...
whatap_micro_enabled=true
에이전트 적용

루트 디렉토리의 node.js 애플리케이션에 다음과 같은 코드를 추가 해 주세요.

var WhatapAgent = require('whatap').NodeAgent;
Kubernetes 환경변수 및 볼륨

트랜잭션에서 NODE 및 POD정보를 수집하기 위해 NODE_IP, NODE_NAME, POD_NAME을 환경변수로 설정합니다. 와탭 설정파일 및 로그파일용 휘발성 볼륨을 탑재합니다.

env:
  - name: NODE_IP
    valueFrom: {fieldRef: {fieldPath: status.hostIP}}
  - name: NODE_NAME
    valueFrom: {fieldRef: {fieldPath: spec.nodeName}}
  - name: POD_NAME
    valueFrom: {fieldRef: {fieldPath: metadata.name}}

whatap.conf 파일을 사용하지 않을 경우에 추가 설정을 해주면 됩니다.

  - name: license
    value: "..."
  - name: whatap_server_host
    value: "13.124.11.223/13.209.172.35"
  - name: whatap_micro_enabled
    value: "true"
와탭 에이전트가 설치된 도커 이미지로 배포
Python 애플리케이션 컨테이너 라이징

하기 설치 과정은 docker로 구동될 python application에 와탭 모니터링을 적용하고, docker container 이미지를 패키징 하는 과정을 설명합니다.

와탭 에이전트 설치
  • 파이썬 애플리케이션 도커 이미지 빌드시 whatap-python 패키지를 설치합니다.

    FROM python:3.7
    ...
    RUN pip3 install --upgrade whatap-python
    ...
에이전트 설정

파이썬 애플리케이션 시작시 와탭 에이전트가 Injection할 수 있도록 애플리케이션 시작 스크립트를 변경합니다.

설정 파일 및 로그 출력 디렉토리를 환경변수 WHATAP_HOME으로 설정합니다.

export WHATAP_HOME=/whatap_conf

설정파일을 생성합니다.

whatap-setting-config\
--host 13.124.11.223/13.209.172.35\
--license x4beh20bjgp2s-x6uprtmp409mvc-z3sl51qhqps7q7\
--app_name [애플리케이션 이름]\
--app_process_name [애플리케이션 프로세스 이름]
권한 문제가 발생하는 경우
  • 와탭 설정을 위한 $WHATPA_HOME/whatap.conf 파일의 읽기 및 쓰기 권한

  • 와탭 로그를 위한 $WHATPA_HOME/logs 디렉토리와 하위 파일의 읽기 및 쓰기 권한

다음과 같이 $WHATPA_HOME에 권한을 부여합니다.

echo `sudo chmod -R 777 $WHATAP_HOME`
에이전트 적용

루트 디렉토리의 node.js 애플리케이션에 다음과 같은 코드를 추가 해 주세요.

var WhatapAgent = require('whatap').NodeAgent;
Kubernetes 환경변수 및 볼륨

트랜잭션에서 NODE 및 POD정보를 수집하기 위해 NODE_IP, NODE_NAME, POD_NAME을 환경변수로 설정합니다. 와탭 설정파일 및 로그파일용 휘발성 볼륨을 탑재합니다.

env:
  - name: NODE_IP
    valueFrom: {fieldRef: {fieldPath: status.hostIP}}
  - name: NODE_NAME
    valueFrom: {fieldRef: {fieldPath: spec.nodeName}}
  - name: POD_NAME
    valueFrom: {fieldRef: {fieldPath: metadata.name}}

whatap.conf 파일을 사용하지 않을 경우에 추가 설정을 해주면 됩니다.

  - name: license
    value: "..."
  - name: whatap_server_host
    value: "13.124.11.223/13.209.172.35"
  - name: whatap_micro_enabled
    value: "true"
와탭 에이전트가 설치된 도커 이미지로 배포

3. 경고 알림

모니터링 임계치/조건을 지정하면 Email, SMS, 메신저, App Push 등 다양한 형태로 알림을 받을 수 있습니다.

Application monitoring - 경고 알림

3.1. 애플리케이션 AI 알림 설정

AI 모듈이 애플리케이션 실행 분포 패턴을 판단해 알람을 보냅니다. 복잡한 조건 설정 없이도 이슈 상황을 빠르고 정확하게 인지할 수 있습니다.

AI 알람

3.2. 이벤트 설정

임계치, 설정조건에 따른 알림 설정은 이벤트 | 이벤트 설정 메뉴에서 할 수 있습니다.

list
애플리케이션 비활성 경고

수집서버가 에이전트로부터 모니터링 정보를 수신하지 못하는 경우 애플리케이션의 다운 알림을 수신할 수 있습니다. 애플리케이션 비활성 경고 > 이후 드롭다운 목록을 선택하여 몇 초간 모니터링 정보가 수집되지 않았을 때 알림을 수신할지 선택하고, Enable 체크박스를 체크합니다.

이벤트 알림 설정을 위해 활용 가능한 모니터링 항목과 설정 가능 값은 다음과 같습니다.

CPU

애플리케이션 서버의 CPU 점유율의 warning 임계치(%), fatal 임계치(%) 및 지속 시간(초)

디스크

디스크 사용률의 warning 임계치(%), fatal 임계치(%) 및 지속 시간(초)

메모리

메모리 사용률의 warning 임계치(%), fatal 임계치(%) 및 지속 시간(초)

히트맵 세로 라인

히트맵상의 같은 시간에 2.초 이상의 수직라인 발생시 전체시간 대비 차지하는 warning 비율(%), fatal 비율(%) 및 지속 시간(초)

액티브 트랜잭션

실시간 트랜잭션 수의 상한 또는 하한(부등식으로 지정)과 지속 시간(초)

트랜잭션 에러

실시간 에러 트랜잭션 수의 상한 또는 하한(부등식으로 지정)과 지속 시간(초)

메트릭스

이벤트 알림 설정의 다른 방법으로, 카테고리를 지정하여 알림의 레벨과 메시지를 등록하는 방식으로 선택된 카테고리에 맞는 조건과 일치했을 때 알림이 설정되는 방식입니다.

옵션 설정에 대해

  • 반복 : 해당 이벤트 가 몇 초간 반복적으로 일어날 때 알림을 발생시켜야 하는지 시간(초)을 지정합니다.
    예를 들어 설명하면 CPU 70%가 30초 동안 유지될 경우 알림을 받고 싶은 경우 Repeat을 30sec로 설정합니다. 해당 설정 값이 단 한번이라도 발생시 알림을 받고 싶은 경우 Repeat을 데이터 수집주기인 5sec로 설정합니다.

  • 무음 : 이벤트 알림 후 다음 이벤트 알림까지의 최소 대기 시간(초)를 지정합니다. 지나치게 빈번한 이벤트 알림을 방지하고 사용자가 이벤트의 심각성을 간과하게 될 가능성을 줄이기 위해서 적절한 대기 시간[Silent]을 설정해야 합니다.

3.3. 이벤트 수신 설정

이벤트 수신 설정은 경고 알림 | 알림 수신 설정 메뉴에서 할 수 있습니다.

알람 수신 설정

3.3.1. 사용자별 알람 수신 설정

원하는 알람 수단에 체크하면 이벤트 알람을 받을 수 있습니다.
프로젝트 최고관리자를 제외한 모든 사용자는 자신의 수신 설정만을 변경할 수 있습니다.

SMS 알람은 유료사용자에 한해 제공됩니다.

수신레벨

경고/위험 수준 모두 또는 위험 수준의 알람만을 수신하도록 설정할 수 있습니다.

요일 / 시간

알림 수신을 요일별 / 시간별 수신 여부를 설정할 수 있습니다.

3.3.2. 3rd 파티 플러그인

추가하기 를 클릭하면 개인 채널 이외에 slack, 메신저로 알람을 수신할 수 있습니다.

알람 외부 연동

slack, telegram, teams, jandi 등 원하는 서비스별 화면안내에 따릅니다.
당사의 지원 범위에 포함되지 않는 사내 메신저 등은 표준 webhook, webhook json 을 통해 연동할 수 있습니다.

3.3.3. 대량 알림 발생 방지

알림이 대량으로 발생하면 지정한 시간 동안 알림이 일시적으로 중지됩니다.

대량 알림 차단 해제 방법
1. (이메일 주소 옆의) '중단 해제' 버튼을 눌러주세요. 차단을 즉시 해제할 수 있습니다.
2. 설정한 시간이 지나면 대량 알람 차단이 자동으로 해제됩니다.

기본값

5분 사이 10회 이상의 이벤트가 발생하면 3시간 동안 알람 송신 중지

3.4. 알림 기록

경고 알림 | 알림 기록 메뉴를 통해 발생한 알림 이력을 조회할 수 있습니다.
알림 이력은 최근 1년까지 제공합니다.

알림 기록

4. 보고서

대기업, 공공기관 및 IT 서비스 기업에서 사용하는 보고서 양식에 맞춰서 데이터를 확인할 수 있습니다.
보고서 기능을 활용하면 분석 메뉴를 이동하며 워드/엑셀로 데이터를 재가공 하는 일, 반복적인 점검 업무를 자동화할 수 있습니다.

보고서
보고서 종류는 상시 업데이트됩니다.
원하는 양식의 보고서가 있다면 support@whatap.io로 문의하시기 바랍니다.

4.1. 보고서 다운로드

보고서를 html 형식으로 다운로드합니다.

4.2. 보고서 인쇄

보고서를 즉시 인쇄합니다.

4.3. 보고서 메일 발송 예약

보고서 메일 발송 예약 을 선택하면 예약한 스케줄에 따라 email로 보고서를 수신할 수 있습니다.
출근 직후 수행하던 여러 가지 서비스 점검 절차를 보고서 메일 확인으로 대체할 수 있습니다.

보고서 메일 발송 예약