4.15. 브로커 상태 점검 구성


시작, 활성 상태 프로브 및 준비 상태 프로브를 사용하여 AMQ Broker에서 상태 점검을 구성할 수 있습니다.

  • 시작 프로브는 컨테이너 내의 애플리케이션이 시작되었는지 여부를 나타냅니다.
  • 활성 상태 프로브는 컨테이너가 여전히 실행 중인지 확인합니다.
  • 준비 상태 프로브는 컨테이너가 서비스 요청을 수락할 준비가 되었는지 확인

Pod의 시작 프로브 또는 활성 상태 프로브 검사가 실패하면 프로브에서 Pod를 다시 시작합니다.

AMQ Broker에는 기본 준비 상태 및 활성 프로브가 포함됩니다. 기본 활성 프로브는 브로커의 HTTP 포트를 ping하여 브로커가 실행 중인지 확인합니다. 기본 준비 상태 프로브는 브로커에 대해 구성된 각 어셉터 포트에 대한 연결을 열어 브로커가 네트워크 트래픽을 허용할 수 있는지 확인합니다.

기본 활성 및 준비 상태 프로브를 사용하는 제한 사항은 브로커의 파일 시스템과 같은 기본 문제를 식별할 수 없다는 것입니다. 브로커의 명령줄 유틸리티인 Artemis를 사용하여 보다 포괄적인 상태 점검을 실행하는 사용자 정의 활성 상태 프로브 및 준비 상태 프로브를 생성할 수 있습니다.

AMQ Broker에는 기본 시작 프로브가 포함되어 있지 않습니다. ActiveMQArtemis 사용자 정의 리소스(CR)에서 시작 프로브를 구성할 수 있습니다.

4.15.1. 시작 프로브 구성

브로커 컨테이너 내의 AMQ Broker 애플리케이션이 시작되었는지 확인하도록 시작 프로브를 구성할 수 있습니다.

프로세스

  1. 브로커 배포의 CR 인스턴스를 편집합니다.

    1. OpenShift 명령줄 인터페이스 사용:

      1. 브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift Container Platform에 로그인합니다.
      2. 배포에 사용할 CR을 편집합니다.

         oc edit ActiveMQArtemis <CR instance name> -n <namespace>
        Copy to Clipboard Toggle word wrap
    2. OpenShift Container Platform 웹 콘솔 사용:

      1. 브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift Container Platform에 로그인합니다.
      2. 왼쪽 창에서 Administration Custom Resource Definitions 를 클릭합니다.
      3. ActiveMQArtemis CRD를 클릭합니다.
      4. Instances 탭을 클릭합니다.
      5. 브로커 배포에 사용할 인스턴스를 클릭합니다.
      6. YAML 탭을 클릭합니다.

        콘솔에서 YAML 편집기가 열리고 CR 인스턴스를 편집할 수 있습니다.

  2. CR의 deploymentPlan 섹션에서 startupProbe 섹션을 추가합니다. 예를 들면 다음과 같습니다.

    spec:
      deploymentPlan:
        startupProbe:
          exec:
            command:
              - /bin/bash
              - '-c'
              - /opt/amq/bin/artemis
              - 'check'
              - 'node'
              - '--up'
              - '--url'
              - 'tcp://$HOSTNAME:61616'
          initialDelaySeconds: 5
          periodSeconds: 10
          timeoutSeconds: 3
          failureThreshold: 30
    Copy to Clipboard Toggle word wrap
    command
    컨테이너 내에서 실행할 startup probe 명령입니다. 이 예에서 시작 프로브는 Artemis check node 명령을 사용하여 브로커 Pod의 컨테이너에서 AMQ Broker가 시작되었는지 확인합니다.
    initialDelaySeconds
    컨테이너가 시작된 후 프로브가 실행되기 전에 지연(초)입니다. 기본값은 0입니다.
    periodSeconds
    프로브가 실행되는 간격(초)입니다. 기본값은 10입니다.
    timeoutSeconds
    시작 프로브 명령이 브로커의 응답을 기다리는 시간(초)입니다. 명령에 대한 응답이 수신되지 않으면 명령이 종료됩니다. 기본값은 1 입니다.
    failureThreshold

    프로브가 실패한 것으로 간주되는 시작 프로브의 시간 초과를 포함한 최소 연속 실패입니다. 프로브가 실패한 것으로 간주되면 Pod를 다시 시작합니다. 기본값은 3입니다.

    클러스터의 리소스 및 브로커 저널 크기에 따라 브로커가 프로브 검사를 시작하고 전달할 수 있도록 실패 임계값을 늘려야 할 수 있습니다. 그렇지 않으면 브로커가 실패 임계값에 반복적으로 도달하고 시작 프로브에 의해 매번 브로커가 다시 시작되는 루프 조건을 입력합니다. 예를 들어 failureThreshold30 으로 설정하고 프로브가 기본 간격인 10초에서 실행되는 경우 브로커는 300초로 시작하여 프로브 확인을 전달합니다.

  3. CR을 저장합니다.

추가 리소스

OpenShift Container Platform의 활성 상태 프로브 및 준비 상태 프로브에 대한 자세한 내용은 OpenShift Container Platform 설명서의 상태 점검을 사용하여 애플리케이션 상태 모니터링 을 참조하십시오.

4.15.2. 활성 상태 프로브 및 준비 상태 프로브 구성

다음 예제에서는 활성 상태 프로브 및 준비 상태 프로브를 사용하여 상태 점검을 실행하도록 브로커 배포에 대한 기본 CR(사용자 정의 리소스) 인스턴스를 구성하는 방법을 보여줍니다.

사전 요구 사항

프로세스

  1. 브로커 배포의 CR 인스턴스를 편집합니다.

    1. OpenShift 명령줄 인터페이스 사용:

      1. 브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift Container Platform에 로그인합니다.
      2. 배포에 사용할 CR을 편집합니다.

         oc edit ActiveMQArtemis <CR instance name> -n <namespace>
        Copy to Clipboard Toggle word wrap
    2. OpenShift Container Platform 웹 콘솔 사용:

      1. 브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift Container Platform에 로그인합니다.
      2. 왼쪽 창에서 Administration Custom Resource Definitions 를 클릭합니다.
      3. ActiveMQArtemis CRD를 클릭합니다.
      4. Instances 탭을 클릭합니다.
      5. 브로커 배포에 사용할 인스턴스를 클릭합니다.
      6. YAML 탭을 클릭합니다.
  2. 활성 프로브를 구성하려면 CR의 deploymentPlan 섹션에 livenessProbe 섹션을 추가합니다. 예를 들면 다음과 같습니다.

    spec:
      deploymentPlan:
        livenessProbe:
          initialDelaySeconds: 5
          periodSeconds: 5
          failureThreshold: 30
    Copy to Clipboard Toggle word wrap
    initialDelaySeconds

    컨테이너가 시작된 후 프로브가 실행되기 전에 지연(초)입니다. 기본값은 5 입니다.

    참고

    배포에 시작 프로브도 구성된 경우 활성 상태 프로브와 준비 상태 프로브 모두에 대해 지연을 0으로 설정할 수 있습니다. 이러한 두 프로브는 시작 프로브가 전달된 후에만 실행됩니다. 시작 프로브가 이미 통과된 경우 브로커가 성공적으로 시작되었으므로 활성 상태 프로브 및 준비 상태 프로브 실행 지연이 필요하지 않습니다.

    periodSeconds
    프로브가 실행되는 간격(초)입니다. 기본값은 5 입니다.
    failureThreshold

    프로브를 나타내는 활성 프로브의 시간 초과를 포함한 최소 연속 실패가 실패했습니다. 프로브가 실패하면 Pod를 다시 시작합니다. 기본값은 3입니다.

    배포에 활성 프로브가 실행되기 전에 브로커 애플리케이션이 시작되었는지 확인하는 시작 프로브가 구성되지 않은 경우 브로커가 활성 상태 프로브 검사를 시작하고 전달할 수 있도록 실패 임계값을 늘려야 할 수 있습니다. 그렇지 않으면 브로커는 실패 임계값에 반복적으로 도달하고 활성 상태 프로브에 의해 매번 브로커 Pod를 다시 시작하는 루프 조건을 입력할 수 있습니다.

    브로커가 활성 상태 프로브 검사를 시작하고 전달하는 데 필요한 시간은 클러스터의 리소스 및 브로커 저널 크기에 따라 다릅니다. 예를 들어 failureThreshold 를 30으로 설정하고 프로브가 기본 5초 간격으로 실행되는 경우 브로커는 150초 동안 활성 상태 프로브 검사를 시작하고 전달합니다.

    참고

    활성 상태 프로브를 구성하지 않거나 구성된 프로브에서 처리기가 없는 경우 AMQ Broker Operator는 다음 구성이 있는 기본 TCP 프로브를 생성합니다. 기본 TCP 프로브는 지정된 포트의 브로커 컨테이너에 대한 소켓을 열려고 시도합니다.

    spec:
      deploymentPlan:
        livenessProbe:
          tcpSocket:
            port: 8181
          initialDelaySeconds: 30
          timeoutSeconds: 5
    Copy to Clipboard Toggle word wrap
  3. 준비 상태 프로브를 구성하려면 CR의 deploymentPlan 섹션에서 readinessProbe 섹션을 추가합니다. 예를 들면 다음과 같습니다.

    spec:
      deploymentPlan:
        readinessProbe:
          initialDelaySeconds: 5
          periodSeconds: 5
    Copy to Clipboard Toggle word wrap

    준비 상태 프로브를 구성하지 않으면 기본 제공 스크립트에서 모든 허용자가 연결을 허용할 수 있는지 확인합니다.

  4. 보다 포괄적인 상태 점검을 구성하려면 Artemis check 명령줄 유틸리티를 활성 상태 또는 준비 상태 프로브 구성에 추가합니다.

    1. 브로커에 대한 전체 클라이언트 연결을 생성하는 상태 점검을 구성하려면 livenessProbe 또는 readinessProbe 섹션에서 exec 섹션을 추가합니다. exec 섹션에서 command 섹션을 추가합니다. 명령 섹션에서 artemis 검사 노드 명령 구문을 추가합니다. 예를 들면 다음과 같습니다.

      spec:
        deploymentPlan:
          readinessProbe:
            exec:
              command:
                - bash
                - '-c'
                - /home/jboss/amq-broker/bin/artemis
                - check
                - node
                - '--silent'
                - '--acceptor'
                - <acceptor name>
                - '--user'
                - $AMQ_USER
                - '--password'
                - $AMQ_PASSWORD
            initialDelaySeconds: 30
            timeoutSeconds: 5
      Copy to Clipboard Toggle word wrap

      기본적으로 Artemis 검사 노드 명령은 Artemis라는 어셉터의 URI를 사용합니다. 브로커에 Artemis라는 어셉 터가 있는 경우 명령에서 --acceptor <acceptor name > 옵션을 제외할 수 있습니다.

      참고

      $AMQ_USER$AMQ_PASSWORD 는 AMQ Operator에 의해 구성된 환경 변수입니다.

    2. 메시지를 생성하고 사용하는 상태 점검을 구성하려면 활성Probe 또는 readinessProbe 섹션에서 브로커 파일 시스템의 상태를 검증 합니다. exec 섹션에서 command 섹션을 추가합니다. 명령 섹션에서 Artemis check queue 명령 구문을 추가합니다. 예를 들면 다음과 같습니다.

      spec:
        deploymentPlan:
          readinessProbe:
            exec:
              command:
                - bash
                - '-c'
                - /home/jboss/amq-broker/bin/artemis
                - check
                - queue
                - '--name'
                - livenessqueue
                - '--produce'
                - "1"
                - '--consume'
                - "1"
                - '--silent'
                - '--user'
                - $AMQ_USER
                - '--password'
                - $AMQ_PASSWORD
            initialDelaySeconds: 30
            timeoutSeconds: 5
      Copy to Clipboard Toggle word wrap
      참고

      지정한 큐 이름은 브로커에 구성되어야 하며 anycastroutingType 이 있어야 합니다. 예를 들면 다음과 같습니다.

      apiVersion: broker.amq.io/v1beta1
      kind: ActiveMQArtemisAddress
      metadata:
        name: livenessqueue
        namespace: activemq-artemis-operator
      spec:
        addressName: livenessqueue
        queueConfiguration:
          purgeOnNoConsumers: false
          maxConsumers: -1
          durable: true
          enabled: true
        queueName: livenessqueue
        routingType: anycast
      Copy to Clipboard Toggle word wrap
  5. CR을 저장합니다.

추가 리소스

OpenShift Container Platform의 활성 상태 프로브 및 준비 상태 프로브에 대한 자세한 내용은 OpenShift Container Platform 설명서의 상태 점검을 사용하여 애플리케이션 상태 모니터링 을 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동