Java Management Service를 온보딩하여 Java 사용을 모니터하는 방법 학습

OCI(Oracle Cloud Infrastructure)에서 JMS(Java Management Service)를 사용하여 OCI, 온프레미스 또는 타사 클라우드에 배포된 Oracle Linux 호스트에서 Java 애플리케이션 및 설치를 관찰하고 관리하는 방법을 알아봅니다. JMS는 기업이 Java 설치, 애플리케이션 동작, 규정 준수 및 성능에 대한 중요한 통찰력을 얻을 수 있도록 지원합니다. 이 솔루션을 사용하면 JMS 기본 기능을 시작하고 Oracle Linux 시스템에서 Java 사용 모니터링을 사용으로 설정할 수 있습니다.

JMS는 다음을 제공합니다.

  • 인사이트를 활용해 기업 전반의 워크로드를 최적화할 수 있습니다(데스크탑, 서버, 클라우드).
  • 오래된 Java 설치, 승인되지 않은 애플리케이션, Java 런타임 및 애플리케이션 불일치를 식별하여 Java SE 투자를 보호합니다.

시작하기 전에

시작하기 전에 기본 배치를 위한 다음 요구 사항 및 기술에 익숙해야 합니다.

  • Java Management Service에 액세스하려면 Oracle Cloud 계정이 필요합니다. 자체 클라우드 계정을 사용하거나 OCI Free Tier 계정을 받을 수 있습니다.
  • OCI 서비스와의 통신을 허용하도록 Oracle Linux 시스템이 올바르게 설정되었는지 확인합니다. 지원되는 시스템은 다음과 같습니다.
    • 테넌시에서 사용 가능한 OCI 컴퓨트 인스턴스입니다. 인스턴스가 아직 설정되지 않은 경우 OCI 컴퓨트 인스턴스 생성을 참조하십시오.
    • JMS로 모니터링할 온프레미스 또는 타사 클라우드에 있는 호스트입니다.
  • https://docs.oracle.com/en-us/iaas/jms/doc/you-begin.html에서 시스템 요구 사항 및 지원되는 플랫폼을 검토합니다.
  • JMS 주요 개념에 익숙해집니다. https://docs.oracle.com/en-us/iaas/jms/doc/key-concepts-and-terminology.html를 참조하십시오.

JMS 모니터링 에코시스템에 대한 자세한 내용은 Java 및 Java 애플리케이션 설치 모니터링 및 관리 참조 구조를 참조하십시오.

구조

이 아키텍처는 OCI, 온프레미스 또는 타사 클라우드에 배포된 Oracle Linux 머신에서 Java 사용을 모니터링하기 위해 Java Management Service에 온보딩하는 방법을 보여줍니다. 이 솔루션 플레이북에서는 JMS 기본 기능을 시작하도록 JMS를 설정하는 방법에 대해 설명합니다.

아래 네트워크 다이어그램은 호스트 시스템(온프레미스)에 설치된 JMS 에이전트와 OCI에서 실행되는 JMS 간의 트래픽 플로우를 간략히 설명합니다. OCI의 호스트 시스템과 JMS 간에 유사한 트래픽 패턴이 발생합니다.

다음은 jms-oci-network-traffic.png에 대한 설명입니다.
그림 jms-oci-network-traffic.png에 대한 설명

jms-oci-network-traffic-oracle.zip

  • JMS 에이전트는 항상 방화벽에서 허용하는 열린 포트(443)를 사용하여 OCI에서 자체 인증을 통해 요청을 시작합니다.
  • OCI의 Management Agent 및 JMS 서비스는 에이전트로 데이터를 푸시하지 않습니다.
  • JMS 에이전트가 작업 요청에 대해 서비스를 폴링합니다.
    • JMS 에이전트 작업 요청 폴링 간격은 30초만큼 낮을 수 있습니다.
    • JMS 에이전트 폴링 간격을 구성할 수 있습니다. 최대 폴링 간격은 10분입니다.
  • 전송된 데이터는 TLS를 사용하여 암호화됩니다.
  • 그런 다음 연결이 설정되면 OCI 서비스가 이러한 요청에 대한 응답으로 데이터를 다시 보냅니다.

구조에는 다음과 같은 구성 요소가 있습니다.

  • 지역

    Oracle Cloud Infrastructure 리전은 하나 이상의 데이터 센터, 호스팅 가용성 도메인을 포함하는 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며, 먼 거리가 그들을 분리 할 수 있습니다 (국가 또는 대륙에 걸쳐).

  • 가용성 도메인

    가용성 도메인은 한 지역 내의 독립형 독립 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원 또는 냉각과 같은 인프라 또는 내부 가용성 도메인 네트워크를 공유하지 않습니다. 따라서 한 가용성 도메인의 장애가 해당 영역의 다른 가용성 도메인에 영향을 미치지 않아야 합니다.

  • 구획

    구획은 Oracle Cloud Infrastructure 테넌시 내의 지역 간 논리적 파티션입니다. 구획을 사용하여 Oracle Cloud 리소스에 대한 사용 할당량을 구성, 제어 및 설정할 수 있습니다. 지정된 구획에서 액세스를 제어하고 리소스에 대한 권한을 설정하는 정책을 정의합니다.

  • DRG(동적 경로 지정 게이트웨이)

    DRG는 VCN과 지역 외부 네트워크(예: 다른 Oracle Cloud Infrastructure 지역의 VCN, 온프레미스 네트워크 또는 다른 클라우드 공급자의 네트워크) 간에 동일한 지역의 VCN 간 전용(private) 네트워크 트래픽에 필요한 경로를 제공하는 가상 라우터입니다.

  • 인스턴스 풀

    인스턴스 풀은 한 영역 내의 인스턴스 그룹으로, 동일한 인스턴스 구성에서 생성되고 그룹으로 관리됩니다.

  • 온프레미스 네트워크

    조직에서 사용하는 로컬 네트워크입니다.

  • 보안 목록

    각 서브넷에 대해 서브넷에 들어오고 나가도록 허용되는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

  • 보안 영역

    보안 영역은 데이터 암호화 및 네트워크에 대한 공용 액세스 방지와 같은 전체 구획에 대한 정책을 적용하여 주요 Oracle 보안 모범 사례를 구현합니다. 보안 영역은 동일한 이름의 컴파트먼트와 연관되며 컴파트먼트 및 해당 하위 컴파트먼트에 적용되는 보안 영역 정책(레시피)을 포함합니다. 표준 컴파트먼트를 보안 영역 컴파트먼트에 추가하거나 이동할 수 없습니다.

  • DRG(동적 경로 지정 게이트웨이)

    DRG는 VCN과 지역 외부 네트워크(예: 다른 Oracle Cloud Infrastructure 지역의 VCN, 온프레미스 네트워크 또는 다른 클라우드 공급자의 네트워크) 간에 동일한 지역의 VCN 간 전용(private) 네트워크 트래픽에 필요한 경로를 제공하는 가상 라우터입니다.

  • 서비스 게이트웨이

    서비스 게이트웨이는 VCN에서 Oracle Cloud Infrastructure Object Storage와 같은 다른 서비스로의 액세스를 제공합니다. VCN에서 Oracle 서비스로의 트래픽은 Oracle 네트워크 패브릭을 통해 이동하며 인터넷을 순회하지 않습니다.

  • Tenancy

    테넌시는 Oracle Cloud Infrastructure에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 안전하고 격리된 파티션입니다. 테넌시 내에서 OCI의 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 회사는 단일 테넌시를 가지며 해당 테넌시 내의 조직 구조를 반영합니다. 단일 테넌시는 대개 단일 구독과 연관되며, 단일 구독에는 일반적으로 하나의 테넌시만 포함됩니다.

  • 로깅
    Oracle Cloud Infrastructure Logging은 클라우드 리소스의 다음 로그 유형에 대한 액세스를 제공하는 확장성이 뛰어난 완전 관리형 서비스입니다.
    • 감사 로그: OCI Audit으로 생성된 이벤트와 관련된 로그입니다.
    • 서비스 로그: OCI API Gateway, OCI Events, OCI Functions, OCI Load Balancing, OCI Object Storage, VCN 흐름 로그 등 개별 서비스가 게시한 로그입니다.
    • 사용자정의 로그: 사용자정의 애플리케이션, 기타 클라우드 제공자 또는 온프레미스 환경의 진단 정보가 포함된 로그입니다.
  • 모니터링

    Oracle Cloud Infrastructure Monitoring은 클라우드 리소스를 능동적이고 수동적으로 모니터링하며 측정 지표가 지정된 트리거를 충족할 때 알림을 위해 알람을 사용합니다.

  • 정책

    Oracle Cloud Infrastructure Identity and Access Management 정책은 누가 어떤 리소스에 액세스할 수 있는지, 어떻게 액세스할 수 있는지 지정합니다. 그룹 및 구획 레벨에서 액세스가 부여됩니다. 즉, 특정 구획 내에서 또는 테넌시에 특정 유형의 액세스 권한을 그룹에 제공하는 정책을 작성할 수 있습니다.

  • Oracle Cloud Infrastructure Vault

    Oracle Cloud Infrastructure Vault를 사용하면 데이터를 보호하는 암호화 키와 클라우드의 리소스에 대한 액세스를 보호하는 데 사용하는 보안 자격 증명을 생성하고 중앙에서 관리할 수 있습니다. 기본 키 관리는 Oracle 관리 키입니다. OCI Vault를 사용하는 고객 관리 키를 사용할 수도 있습니다. OCI Vault는 Vault 및 키를 관리할 수 있는 다양한 REST API 세트를 제공합니다.

  • 워크플로우

    Oracle Cloud Infrastructure Workflow는 개발자 및 아키텍트를 위한 그래픽 플로우 디자이너를 갖춘 서버리스 워크플로우 엔진입니다. OCI Functions 또는 AI/ML과 같은 OCI 서비스의 생성, 실행 및 통합관리를 가속화합니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 맞춤형 소프트웨어 정의 네트워크입니다. 기존의 데이터 센터 네트워크와 마찬가지로 VCN을 통해 네트워크 환경을 제어할 수 있습니다. VCN에는 VCN 생성 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. VCN을 서브넷으로 분할할 수 있습니다. 서브넷은 지역 또는 가용성 도메인으로 범위가 지정될 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 생성 후 서브넷의 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • API 게이트웨이

    Oracle Cloud Infrastructure API Gateway를 사용하면 네트워크 내에서 액세스할 수 있고 필요한 경우 공용 인터넷에 노출할 수 있는 전용 엔드포인트가 있는 API를 게시할 수 있습니다. 엔드포인트는 API 검증, 요청 및 응답 변환, CORS, 인증 및 권한 부여, 요청 제한을 지원합니다.

  • Autonomous Database

    Oracle Autonomous Database는 트랜잭션 처리 및 데이터 웨어하우징 워크로드에 사용할 수 있는 완전 관리형 사전 구성 데이터베이스 환경입니다. 하드웨어를 구성 또는 관리하거나 소프트웨어를 설치할 필요가 없습니다. Oracle Cloud Infrastructure는 데이터베이스 생성, 백업, 패치, 업그레이드 및 튜닝을 처리합니다.

  • 배스천 호스트

    배스천 호스트는 클라우드 외부의 토폴로지에 대한 안전하고 제어된 시작점 역할을 하는 컴퓨팅 인스턴스입니다. 배스천 호스트는 일반적으로 DMZ(Demilitarized Zone)에 프로비저닝됩니다. 클라우드 외부에서 직접 액세스할 수 없는 전용(Private) 네트워크에 중요한 리소스를 배치하여 보호할 수 있습니다. 토폴로지에는 알려진 단일 시작점이 있으며, 주기적으로 모니터링하고 감사(audit)할 수 있습니다. 따라서 액세스를 방해하지 않으면서 토폴로지의 더 중요한 구성요소가 노출되지 않도록 할 수 있습니다.

  • 계산

    Oracle Cloud Infrastructure Compute를 사용하면 클라우드에서 컴퓨트 호스트를 프로비저닝하고 관리할 수 있습니다. CPU, 메모리, 네트워크 대역폭 및 스토리지에 대한 리소스 요구사항을 충족하는 구성을 사용하여 컴퓨트 인스턴스를 실행할 수 있습니다. 컴퓨트 인스턴스를 생성한 후 안전하게 액세스하고, 다시 시작하고, 볼륨을 연결 및 분리하고, 더 이상 필요하지 않을 때 이를 종료할 수 있습니다.

  • DNS

    Oracle Cloud Infrastructure DNS(Domain Name System) 서비스는 확장성이 뛰어난 글로벌 애니캐스트 DNS(Domain Name System) 네트워크로, 향상된 DNS 성능, 복원성 및 확장성을 제공하여 최종 사용자가 어디서나 인터넷 애플리케이션에 빠르게 연결할 수 있도록 합니다.

  • Kafka 스트림

    Kafka Streams는 입력 및 출력 데이터가 Kafka 클러스터에 저장되는 애플리케이션 및 마이크로서비스를 구축하기 위한 클라이언트 라이브러리입니다. 표준 Java 및 Scala 애플리케이션을 클라이언트측에 작성하고 배포하는 단순성과 Kafka의 서버측 클러스터 기술의 이점을 결합합니다.

  • 오브젝트 스토리지

    OCI Object Storage는 데이터베이스 백업, 분석 데이터, 이미지 및 비디오와 같은 리치 콘텐츠 등 모든 콘텐츠 유형의 대량의 구조적 및 비구조적 데이터에 빠르게 액세스할 수 있게 해줍니다. 인터넷 또는 클라우드 플랫폼 내에서 직접 데이터를 안전하고 안전하게 저장할 수 있습니다. 성능 또는 서비스 안정성이 저하되지 않고 스토리지를 확장할 수 있습니다.

    빠르고 즉각적이며 자주 액세스하는 데 필요한 "핫" 스토리지에 표준 스토리지를 사용합니다. 장기간 보존하고 거의 또는 거의 액세스하지 않는 "콜드" 스토리지에 아카이브 스토리지를 사용합니다.

  • Oracle Management Agent

    Oracle Management Agent는 Oracle Cloud Infrastructure와 온프레미스 관리 인스턴스 간에 짧은 대기 시간의 대화식 통신 및 데이터 수집을 제공하는 서비스입니다. Management Agent는 모니터할 소스에서 데이터를 수집합니다. Oracle Cloud Service인 Management Agent Service는 Management Agent 및 서비스에 대한 플러그인의 수명 주기를 관리합니다.

  • Oracle Cloud 에이전트

    Oracle Cloud Agent는 OCI의 컴퓨트 인스턴스에서 실행되는 플러그인의 수명 주기를 관리하는 경량 프로세스입니다. JMS 플러그인은 OCI의 관리 인스턴스에 배치된 환경에서 Java 메타데이터를 수집합니다. JMS 플러그인은 이 Java 메타데이터를 OCI의 JMS 서비스로 추출합니다.

  • 서비스형 키예프(KaaS)

    KaaS은 주로 OCI의 제어 플레인 서비스에서 사용되는 완전 관리형 데이터 플랫폼 서비스입니다. KaaS 간편한 통합, 직렬화 가능한 스캔, 변경 피드 스트리밍 및 기타 기능을 위한 고급 NoSQL API를 제공합니다. KaaS는 키예프 위에 구축된 서비스입니다. Kiev는 편의를 위해 미니 트랜잭션을 지원하는 "NoSQL 키-값 저장소"입니다. 응용 프로그램에서 동시성 버그를 방지하기 위해 Kiev의 미니 트랜잭션은 Oracle 및 MySQL에서 일반적으로 사용되는 약한 격리 수준보다 강력한 보장을 제공하는 강력한 격리를 제공합니다. Kiev의 가용성 SLA는 99.9%입니다.

필수 서비스 및 역할 정보

이 솔루션에는 다음과 같은 서비스 및 역할이 필요합니다.

JMS는 기본 기능을 위해 Oracle Cloud Infrastructure Monitoring 및 Logging 서비스와 통합됩니다.

  • JMS(Java Management Service)
  • Oracle Cloud Infrastructure (OCI)
  • OCI 모니터링
  • OCI 로깅
  • 관리 인스턴스의 동적 그룹입니다(OCI 컴퓨트 인스턴스 및 관리 에이전트로 구성됨). 동적 그룹을 사용하면 다른 OCI 리소스와의 통신을 위해 정책을 집합적으로 적용할 수 있습니다.
리소스를 보다 효율적으로 관리하려면 다음 그룹을 만듭니다.
  • JMS 플리트 관리자 사용자 그룹: JMS 관련 리소스를 사용 및 관리할 사용자 그룹입니다.
  • 관리 인스턴스 동적 그룹: 관리 인스턴스의 동적 그룹입니다(OCI 컴퓨트 인스턴스 및 관리 에이전트로 구성됨). 동적 그룹을 사용하면 다른 OCI 리소스와의 통신을 위해 정책을 총체적으로 적용할 수 있습니다.
  • JMS 서버 구성요소: 다른 OCI 리소스와 상호 작용할 JMS 백엔드 구성요소의 리소스 그룹입니다.

각 서비스에 필요한 역할입니다.

서비스 이름: 역할 필수...
OCI OCI ID 및 액세스 관리: 관리자 동적 그룹 생성 및 OCI 리소스에 대한 액세스 제어
OCI: 사용자 관리자 ID 도메인에 대한 사용자, 그룹 및 그룹 멤버십을 관리합니다.

필요한 것을 얻으려면 Oracle 제품, 솔루션 및 서비스를 참조하십시오.