안녕하세요 "미들웨어" 입니다.
지난 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
해당 내용 참고해서 필요시 slack script 참고해서 응용하시면 됩니다.
'Apache Tomcat' 카테고리의 다른 글
| (Monitoring) WAS 오픈소스 모니터링 소개 "Grafana & Prometues을 사용한 모니터링 방법&#… (0) | 2023.11.06 |
|---|---|
| (Monitoring) WAS 오픈소스 모니터링 소개 "Scouter" (1) | 2023.11.02 |
| (OutOfMemory-2) OutOfMemoryError 원인과 대책 & "GC란?..튜닝방법 공개"..J… (1) | 2023.10.26 |
| (OutOfMemory-1) OutOfMemnory 란? OOM & HeapDump 파일생성 및 분석 가이드 (1) | 2023.10.23 |
| (Nginx-6) Nginx 사용하는 옵션정리 6_php-fpm & zabbix 모니터링 (0) | 2023.10.19 |