공유할 서비스 선택

TECH


TECH

Middleware (OutOfMemory-3) OutOfMemory 발생시 slack 알람으로 메세지 전송 스크립트

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 225회 좋아요 1회 작성일 20-08-16 23:11

본문

안녕하세요 "미들웨어" 입니다.

 

지난 2장에서는 "(OutOfMemory-2) OutOfMemoryError 원인과 대책" 에 대해 정의해봤습니다. 

이번 3장에서는 "(OutOfMemory-3) OutOfMemory 발생시 slack 알람으로 메세지 전송 스크립트 대해서 진행해보겠습니다,

 

(OutOfMemory-1) OutOfMemnory 란? OOM & HeapDump 파일생성 및 분석 가이드 

(OutOfMemory-2) OutOfMemoryError 원인과 대책 & "GC란?..튜닝방법 공개"..Jstat, Jmater, Visual GC

(OutOfMemory-3) OutOfMemory 발생시 slack 알람으로 메세지 전송 스크립트

그럼 3장 시작하겠습니다.

 

OOM 이 발생하면 WAS 인스턴스가 멈춰버립니다.

OOM 발생하면 감지 후 restart 되도록 했는데.. 문제는 OOM 발생 후 자동으로 restart 수행되다보니 heapdump 메모리 분석은 가능하나..

해당 인스턴스의 OOM 발생 상태를 좀 더 디테일하게 확인하지 못하는 상황이 발생 합니다.

종종 이슈 발생할 경우 재기동 보다는 해당 인스턴스를 서비스에서 제외시킨뒤 추후 분석할 때 도 있습니다..

 

그럴 때 OOM 발생하면 자동으로 알람메세지를 보낼 수 있는 방법은 없을까..??

OOM이 발생하게 되면 slack 메세지로 알람을 보낼 수 있는 스크립트를 생성했습니다.

 

[slack 알람 문구] OOM 발생하면 이런 알람이 slack 메세지로 호출되는 방법 입니다.

[TITLE] : OutOfMemory 현상발생!!!..확인요망!!

[NAME] : test-instance

[PATH] : /app/WAS/tomcat/test-instance

[LOG_PATH] : /app/WAS/tomcat/test-instance/log

[HEAP_DUMP] : log/heapDump_20200817001122.hprof

 

 


첫 
번째 : JAVA 옵션에 OOM 옵션 설정해주기

## JAVA_OPTS (heapdump 부분 설정 추가)

export JAVA_OPTS=" $JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError "

export JAVA_OPTS=" $JAVA_OPTS -XX:HeapDumpPath=log/heapDump_$DATE.hprof "

export JAVA_OPTS=" $JAVA_OPTS -XX:OnOutOfMemoryError='/app/test/oom.sh $INSTANCE_ID' "

 

 

두 번째 : OOM.sh 스크립트 생성해주기 

#!/bin/sh


# import utils
[ -z $SCRIPTS_HOME ] && SCRIPTS_HOME=/app/test
. $SCRIPTS_HOME/common/slack.sh

TARGET_INSTANCE_ID=""
[ -z $TARGET_INSTANCE_ID ] && TARGET_INSTANCE_ID=$1
[ -z $TARGET_INSTANCE_ID ] && TARGET_INSTANCE_ID=$INSTANCE_ID
[ -z $TARGET_INSTANCE_ID ] && TARGET_INSTANCE_ID=$PWD

HEAP_DUMP_PATH=$(cat /proc/$PPID/cmdline | tr '\000' '\n' | grep HeapDumpPath | sed 's/.*=\(.*\)/\1/')


MSG=$(cat <<-ENDOFSTR
[TITLE] : OutOfMemory 현상발생!!!..확인요망!!\n
[NAME] : $TARGET_INSTANCE_ID\n
[PATH] : $PWD \n
[LOG_PATH] : $LOG_PATH\n
[HEAP_DUMP] : $HEAP_DUMP_PATH\n

ENDOFSTR
)
send_slack_message --webhook="scouter_test" "$MSG"

 

해당 내용 참고해서 필요시 slack script 참고해서 응용하시면 됩니다.

 

 

 

 

댓글목록

등록된 댓글이 없습니다.

TECH - 좋아요글 총 건전체보기 >

  • 게시물이 없습니다.
TECH - 좋아요글 더보기
TECH 목록
번호 제목 작성자 작성일 조회수
22 Middleware 미들웨어 아이디로 검색 전체게시물 11-20 62
(JBoss & Wildfly) standalone-ha.xml 를 사용한 session cluster 구성 및 keycloak session-cluster 방식

카테고리 : Middleware

62 0
작성자 : 미들웨어 20/11/20
21 Middleware 미들웨어 아이디로 검색 전체게시물 11-09 112
(JBoss & Wildfly) Wildfly 에서 Oracle JDBC 연동설정 하는 방법

카테고리 : Middleware

112 0
작성자 : 미들웨어 20/11/09
20 Middleware 미들웨어 아이디로 검색 전체게시물 11-05 93
(JBoss & Wildfly) wildfly에서 remote ejb 설정 및 구성 방법

카테고리 : Middleware

93 0
작성자 : 미들웨어 20/11/05
19 Middleware 미들웨어 아이디로 검색 전체게시물 10-16 170
(JBoss & Wildfly) JBoss-eap 에서 wildfly 마이그레이션시 발생 에러

카테고리 : Middleware

170 0
작성자 : 미들웨어 20/10/16
18 Middleware 미들웨어 아이디로 검색 전체게시물 10-03 195
(JBoss & Wildfly) 자격증 시험 문제 공개 (첫번째, 두번째 시험문제)

카테고리 : Middleware

195 0
작성자 : 미들웨어 20/10/03
17 Middleware 미들웨어 아이디로 검색 전체게시물 10-03 242
(JBoss & Wildfly) wildfly 란? 다운 & 설치방법 및 기본 구성 방법

카테고리 : Middleware

242 0
작성자 : 미들웨어 20/10/03
16 Middleware 미들웨어 아이디로 검색 전체게시물 09-19 212
(Monitoring) WAS 오픈소스 모니터링 소개 "Grafana & Prometues을 사용한 모니터링 방법"

카테고리 : Middleware

212 0
작성자 : 미들웨어 20/09/19
15 Middleware 미들웨어 아이디로 검색 전체게시물 09-01 400
(Monitoring) WAS 오픈소스 모니터링 소개 "Scouter"

카테고리 : Middleware

400 0
작성자 : 미들웨어 20/09/01
열람중 Middleware 미들웨어 아이디로 검색 전체게시물 08-16 226
열람중
(OutOfMemory-3) OutOfMemory 발생시 slack 알람으로 메세지 전송 스크립트

카테고리 : Middleware

226 0
작성자 : 미들웨어 20/08/16
13 Middleware 미들웨어 아이디로 검색 전체게시물 08-03 451
(OutOfMemory-2) OutOfMemoryError 원인과 대책 & "GC란?..튜닝방법 공개"..Jstat, Jmater, Visual GC

카테고리 : Middleware

451 0
작성자 : 미들웨어 20/08/03
Total 22건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top