• Link to Facebook
  • Link to LinkedIn
  • Link to X
  • Link to Youtube
  • 로그인
  • 회원가입
  •  한글 한글 한글 ko
  • English English 영어 en
OPENMARU APM
  • 오픈마루
    • 회사소개
    • 연혁
    • 오픈마루 CI
  • 제품
    • Cloud APM
      • Application 모니터링
      • Openshift & Kubernetes 모니터링
      • WEB/WAS 모니터링
      • URL 모니터링
      • Cubrid 모니터링
    • Cluster
    • Dashboard
    • COP
    • CogentAI
    • iAP
    • Observability
  • 오픈소스
    • 쿠버네티스
    • 아파치 톰캣
    • CentOS
  • 레드햇
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat JBoss EAP
  • 견적 문의
    • 견적문의
    • 가격 안내
  • 조달물품
    • G2B 딜 등록
    • 조달물품 OPENMARU APM
    • 조달물품 OPENMARU Cluster
    • 혁신장터
    • 찾아가는 클라우드 네이티브 세미나
  • 레퍼런스
  • 고객지원
  • 문서
  • 블로그
    • 오픈마루
    • 구매 관련
    • 기술 지원
    • 트러블 슈팅
    • White Paper
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu

Spring Boot 컨테이너 애플리케이션을 APM으로 모니터링 하는 방법

Spring Boot는 Java 기반의 오픈소스 프레임워크로 복잡한 설정 없이 빠르게 독립 실행형 (Standalone) 애플리케이션을 만들 수 있도록 도와주는 기술입니다.

Spring Boot 컨테이너 애플리케이션 APM 모니터링 방법

Spring Boot 컨테이너 애플리케이션을 APM으로 모니터링 하는 방법


1. Spring Boot란 무엇인가

Spring Boot는 Java 기반의 오픈소스 프레임워크로 복잡한 설정 없이 빠르게 독립 실행형(Standalone) 애플리케이션을 만들 수 있도록 도와주는 기술입니다.

Spring Framework를 기반으로 하지만 XML 설정이 거의 필요하지 않으며 Tomcat이나 Jetty 같은 내장 서버를 자동으로 구성해 개발자는 즉시 실행 가능한 애플리케이션을 만들 수 있습니다.

특징은 다음과 같습니다.

  • 내장 WAS: 별도의 톰캣 설치 없이 실행 가능합니다 (java -jar app.jar)
  • 의존성 자동 설정: spring-boot-starter-* 구조로 공통 라이브러리를 자동 관리합니다.
  • 프로덕션 지향 설정: Actuator, Metrics, Health Check 기능을 기본 제공합니다.
  • 컨테이너 친화적 구조: Dockerfile, Buildpacks 등과 쉽게 통합됩니다.

2. Spring Boot는 누가, 언제, 왜 만들었는가

Spring Boot는 Pivotal Software(현재 VMware Tanzu 소속)에서 2013년에 개발을 시작해 2014년 4월에 1.0 버전을 출시했습니다.

당시 개발 배경은 “Spring Framework는 유연하지만 설정이 너무 복잡하다”는 불만 때문이었습니다.

이에 따라 “개발자가 최소한의 설정으로 즉시 실행 가능한 애플리케이션을 만들 수 있도록 하자”는 목표로 만들어졌습니다.

이 철학은 공식 슬로건으로 요약됩니다.

“Convention over Configuration (관습을 따르는 설정)”

3. 왜 컨테이너 환경에서 Spring Boot를 사용하는가

  • 일관된 배포 환경을 제공합니다. 컨테이너에 담으면 어떤 서버에서도 동일하게 실행할 수 있습니다.
  • 경량화된 실행 단위로, Spring Boot의 단일 JAR 구조는 이미지 패키징에 적합합니다.
  • 클라우드 네이티브 아키텍처에 대응할 수 있습니다. Kubernetes, OpenShift, Rancher 등과 쉽게 연동됩니다.
  • 자동 스케일링 및 롤링 업데이트에 유리합니다.

즉, Spring Boot와 컨테이너의 조합은 마이크로서비스 환경에서 Java 진영이 민첩하게 대응할 수 있는 표준 구조입니다.

4. Spring Boot 로 hello world 작성하기

파일 구조

sample_app/
├── Dockerfile
├── docker-compose.yml
├── pom.xml
└── src
    └── main
        ├── java
        │   └── com
        │       └── springboot
        │           └── helloworld
        │               └── HelloWorldApplication.java
        └── resources
            └── application.properties

디렉터리 생성

mkdir -p springboot-helloworld/src/main/java/com/springboot/helloworld springboot-helloworld/src/main/resources

pom.xml 작성

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>java21-springboot3.4.4-helloworld</name>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.4</version>
        <relativePath/>
    </parent>

    <properties>
        <java.version>21</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

샘플 애플리케이션 작성

  • springboot-helloworld/src/main/java/com/springboot/helloworld/HelloWorldApplication.java
package com.springboot.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class HelloWorldApplication {

    @GetMapping("/")
    public String hello() {
        return "Hello, World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(HelloWorldApplication.class, args);
    }
}

application.properties 작성

  • src/main/resources/application.properties
server.port=8080

Dockerfile 작성

FROM maven:3.9.9-eclipse-temurin-21 AS builder
WORKDIR /workspace
COPY pom.xml .
COPY src src
RUN mvn clean package -DskipTests

FROM eclipse-temurin:21-jdk
WORKDIR /app
COPY --from=builder /workspace/target/*.jar springboot-helloworld.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

docker-compose.yml 작성

  • environment에 OPENMARU APM 환경변수 추가
  • volumes 절에 OPENMARU APM 설정파일 및 Agent 파일 추가
services:
  springboot-app:
    image: springboot344
    container_name: springboot344
    ports:
      - "8080:8080"
    environment:
      JAVA_OPTS: "-Dkhan.config.file=khan-agent.conf -Dfile.encoding=UTF-8 -noverify -javaagent:/opt/khan-agent/khan-agent-5.1.0.jar"
      OMAPM_HOST: "IP 주소"
      OMAPM_PORT: "80"
      OMAPM_TLS: "false"
      OMAPM_AGENT_ENABLE: "true"
      OMAPM_APPLICATION_NAME: "container_apps"
      OMAPM_INSTANCE_ID: "helloworld_app"
    restart: unless-stopped
    volumes:
      - /root/khan-agent/khan-agent.conf:/opt/khan-agent/khan-agent.conf
      - /root/khan-agent/khan-agent-5.1.0.jar:/opt/khan-agent/khan-agent-5.1.0.jar

이미지 빌드 및 실행

docker compose build
docker compose up -d

확인

docker ps
curl http://localhost:8080

출력 결과

Hello, World!

5. APM 연동 화면

위에서 작성한 샘플 애플리케이션인 HelloWorldApplication 을 OPENMARU APM 으로 모니터링 되는 모습을 안내해 드리겠습니다.

연동 확인 알림 

  • 컨테이너 실행 시 helloworld-app 컨테이너 모니터링이 시작됨을 알립니다.
Spring Boot 컨테이너 애플리케이션을 APM으로 모니터링 하는 방법

연동된 컨테이너 정보

Spring Boot 컨테이너 애플리케이션을 APM으로 모니터링 하는 방법

OPENMARU APM에서 모니터링 중인 helloworld-app 컨테이너 대시보드

  • 개별 항목에 대한 설명을 다룬 문서는 아래 링크를 참조해 주세요.
Spring Boot 컨테이너 애플리케이션을 APM으로 모니터링 하는 방법
Right-dir Right-dir WAS 인스턴스별 애플리케이션 보러가기


클라우드 네이티브 무상 세미나 – 서울시 소재 지자체

2024-06-26/카테고리: OPENMARU, Seminar, 발표자료/작성자: OM marketing
자세히 보기
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2024/06/thumbnail%402x-4.png?fit=761%2C605&ssl=1 605 761 OM marketing https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png OM marketing2024-06-26 15:21:062024-06-26 15:21:06클라우드 네이티브 무상 세미나 – 서울시 소재 지자체
Open cloud Platform Summit 2024

Open Cloud platform Summit 2024 – 오픈마루가 여러분을 초대합니다

2024-06-25/카테고리: OPENMARU, Seminar/작성자: OM marketing
자세히 보기
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2024/06/%EB%8C%80%EC%A7%80-1-100.jpg?fit=380%2C302&ssl=1 302 380 OM marketing https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png OM marketing2024-06-25 17:51:572024-06-26 07:25:30Open Cloud platform Summit 2024 – 오픈마루가 여러분을 초대합니다
클라우드 네이티브를 위한 Observability와 모니터링 방안 : K-AI PaaS Summit 2024 발표자료

클라우드 네이티브를 위한 Observability와 모니터링 방안 : K-AI PaaS Summit 2024 발표자료

2024-06-25/카테고리: Container, Kubernetes, OPENMARU, Seminar, 발표자료, 분류되지 않음/작성자: OM marketing
자세히 보기
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2024/06/K-AI-PaaS-Summit-2024_title-1.jpg?fit=380%2C302&ssl=1 302 380 OM marketing https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png OM marketing2024-06-25 10:47:532024-06-26 12:50:17클라우드 네이티브를 위한 Observability와 모니터링 방안 : K-AI PaaS Summit 2024 발표자료
Page 4 of 25«‹23456›»
  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림) Facebook
  • 클릭하여 X에서 공유 (새 창에서 열림) X
  • 클릭하여 친구에게 이메일로 링크 보내기 (새 창에서 열림) 전자우편
  • 인쇄하기 (새 창에서 열림) 인쇄
  • Reddit으로 공유하기 (새 창에서 열림) 레딧
  • Pinterest에서 공유하려면 클릭하세요 (새 창에서 열림) Pinterest
  • Telegram에 공유하려면 클릭하세요. (새 창에서 열림) Telegram
  • WhatsApp에 공유하려면 클릭하세요. (새 창에서 열림) WhatsApp

이것이 좋아요:

좋아하기 가져오는 중...

Recent Posts

  • Spring Boot 컨테이너 애플리케이션을 APM으로 모니터링 하는 방법 2025-11-05
  • 공공기관의 성공적인 클라우드 네이티브 전환 파트너 : 오픈마루 2025-10-30
  • 🔎 글로벌 데이터센터, 화재·지진이 남긴 교훈은 무엇일까요? 2025-10-30
  • 글로벌 데이터센터 화재·지진 실제 사례로 보는 생존 복구 매뉴얼 2025-10-28
  • JBoss EAP 마스터 과정: 1 Day 전문가 과정 2025-10-21

Categories

  • APM
  • blog-price
  • blog-support
  • blog-trouble-shooting
  • Cloud
  • Cloud Native Seminar
  • Cluster
  • gift
  • JBoss
  • Kubernetes
    • Container
  • Linux
  • Microservices Architecture
  • News
  • Newsletter
  • OPENMARU
    • Dashboard
  • OpenShift
  • Red Hat
  • Seminar
    • gift
  • Tech Talk
  • 발표자료
  • 분류되지 않음
  • 오픈나루 공지사항
  • 오픈소스

이메일로 블로그 구독하기

이 블로그를 구독하고 이메일로 새글의 알림을 받으려면 이메일 주소를 입력하세요

태그

AI APM cloud Cloud Native Container Docker Hybrid Cloud jboss JBoss EAP Kubernetes Kubernetes 모니터링 linux MSA MSAP.ai Native OPENMARU OPENMARU APM OPENMARU SaaS형 APM OpenShift PaaS 플랫폼 Red Hat redhat RHEL tomcat WAS Wildfly 가상화 네이티브 도커 레드햇 리눅스 모니터링 브리핑 세미나 애플리케이션 오픈마루 오픈마루 APM 오픈시프트 주간 컨테이너 쿠버네티스 클라우드 클라우드 네이티브 클라우드네이티브 클라우드 네이티브 세미나

Search

Search Search

오픈마루

04778 서울시 성동구 뚝섬로1길 31 906 호
(성수동1가, 서울숲M타워)

Tel : 02-469-5426 | Fax : 02-469-7247
Email : sales@openmaru.io

  • OPENMARU CLOUD APM
    • Application 모니터링
    • Openshift & Kubernetes 모니터링
    • WEB/WAS 모니터링
    • URL 모니터링
    • Cubrid 모니터링
  • Cluster
  • Dashboard
  • COP
  • CogentAI
  • iAP
  • Observability

  • 가격안내
  • 고객 레퍼런스
  • 고객지원
    • 문서
    • 사용자가이드
    • 기술지원
  • 블로그
    • 오픈마루
    • 구매 관련
    • 기술 지원
    • 트러블 슈팅
  • 이용약관
  • 개인정보처리방침
  • 서비스수준협약
  • 회사소개
Copyright © OPENMARU, Inc. All Rights Reserved. - powered by Enfold WordPress Theme
  • Link to Facebook
  • Link to LinkedIn
  • Link to X
  • Link to Youtube
Link to: 공공기관의 성공적인 클라우드 네이티브 전환 파트너 : 오픈마루 Link to: 공공기관의 성공적인 클라우드 네이티브 전환 파트너 : 오픈마루 공공기관의 성공적인 클라우드 네이티브 전환 파트너 : ...공공기관의 성공적인 클라우드 네이티브 전환 파트너:오픈마루
Scroll to top Scroll to top Scroll to top
  • 한글
  • English
%d