apigee-monit를 사용한 자가 복구

프라이빗 클라우드용 Apigee Edge에는 오픈소스 monit 유틸리티를 기반으로 하는 도구인 apigee-monit가 포함되어 있습니다. apigee-monit는 주기적으로 Edge 서비스를 폴링합니다. 서비스를 사용할 수 없는 경우 apigee-monit는 서비스를 다시 시작하려고 시도합니다.

apigee-monit를 사용하려면 수동으로 설치해야 합니다. 표준 설치에 포함되지 않습니다.

기본적으로 apigee-monit는 60초마다 Edge 서비스의 상태를 확인합니다.

빠른 시작

이 섹션에서는 apigee-monit를 빠르게 시작하고 실행하는 방법을 보여줍니다.

Amazon Linux를 사용하는 경우 먼저 Fedora를 설치합니다. 그 이외의 경우 이 단계를 건너뛰세요.

sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm

apigee-monit을 설치하려면 다음 단계를 따르세요.

  apigee-monit 설치
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

이렇게 하면 apigee-monit가 설치되고 기본적으로 노드의 모든 구성요소 모니터링이 시작됩니다.

  모니터링 구성요소 중지
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
  구성요소 모니터링 시작
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
  요약 상태 정보 가져오기
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
  apigee-monit 로그 파일 확인
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log

이러한 각 주제와 기타 주제는 다음 섹션에서 자세히 설명합니다.

apigee-monit 정보

apigee-monit는 노드의 모든 구성요소가 계속 실행되도록 합니다. 이를 위해 다음과 같은 다양한 서비스를 제공합니다.

  • 실패한 서비스 다시 시작
  • 요약 정보 표시
  • 로깅 모니터링 상태
  • 알림 전송
  • Edge 이외의 서비스 모니터링

Apigee에서는 apigee-monit가 실행 중인지 모니터링하는 것이 좋습니다. 자세한 내용은 apigee-monit 모니터링을 참조하세요.

apigee-monit 아키텍처

프라이빗 클라우드용 Apigee Edge 설치 및 구성 중에 클러스터의 각 노드에 별도의 apigee-monit 인스턴스를 선택적으로 설치합니다. 이러한 개별 apigee-monit 인스턴스는 서로 독립적으로 작동합니다. 구성요소의 상태를 다른 노드에 전달하지 않으며 모니터링 유틸리티 자체의 오류를 중앙 서비스에 전달하지도 않습니다.

다음 이미지는 5노드 클러스터의 apigee-monit 아키텍처를 보여줍니다.

5노드 클러스터의 Apigee monit 아키텍처
그림 1: apigee-monit의 개별 인스턴스가 클러스터의 각 노드에서 격리되어 실행됨

지원되는 플랫폼

apigee-monit는 프라이빗 클라우드 클러스터에 대해 다음 플랫폼을 지원합니다. apigee-monit에 지원되는 OS는 프라이빗 클라우드 버전에 따라 다릅니다.

운영체제 프라이빗 클라우드 버전
v4.50.00 v4.51.00 v4.52.00
CentOS 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8
RedHat Enterprise Linux (RHEL) 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8, 7.9, 8.0 7.5, 7.6, 7.7, 7.8, 7.9, 8.0
Oracle Linux 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8
* 기술적으로 지원되지는 않지만 프라이빗 클라우드용 Apigee Edge 버전 4.19.01의 CentOS/RHEL/Oracle 버전 6.9에 apigee-monit를 설치하고 사용할 수 있습니다.

구성요소 구성

apigee-monit은 구성요소 구성을 사용하여 모니터링할 구성요소, 확인할 구성요소의 측면, 오류 발생 시 수행할 작업을 결정합니다.

기본적으로 apigee-monit는 사전 정의된 구성요소 구성을 사용하여 노드의 모든 Edge 구성요소를 모니터링합니다. 기본 설정을 보려면 apigee-monit 구성요소 구성 파일을 확인하세요. 기본 구성요소 구성은 변경할 수 없습니다.

apigee-monit는 확인하는 구성요소에 따라 구성요소의 다양한 측면을 확인합니다. 다음 표에는 apigee-monit가 각 구성요소에 대해 확인하는 항목이 나와 있으며 각 구성요소의 구성 위치가 표시되어 있습니다. 일부 구성요소는 단일 구성 파일에 정의되어 있지만 다른 구성요소에는 자체 구성이 있습니다.

구성요소 구성 위치 모니터링 대상
관리 서버 /opt/apigee/edge-management-server/monit/default.conf apigee-monit 검사:
  • 지정된 포트가 열려 있고 요청을 수락함
  • 지정된 프로토콜이 지원됨
  • 응답 상태

또한 이러한 구성요소 apigee-monit의 경우 다음을 수행합니다.

  • 조치를 취하기 전에 지정된 주기 내에 여러 번 실패해야 함
  • 커스텀 요청 경로를 설정합니다.
메시지 프로세서 /opt/apigee/edge-message-processor/monit/default.conf
Postgres 서버 /opt/apigee/edge-postgres-server/monit/default.conf
Qpid 서버 /opt/apigee/edge-qpid-server/monit/default.conf
라우터 /opt/apigee/edge-router/monit/default.conf
Cassandra
Edge UI
OpenLDAP
Postgres
Qpid
Zookeeper
/opt/apigee/data/apigee-monit/monit.conf apigee-monit 검사:
  • 서비스가 실행 중입니다.

다음 예시에서는 edge-router 구성요소의 기본 구성요소 구성을 보여줍니다.

check host edge-router with address localhost
  restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart"
  if failed host 10.1.1.0 port 8081 and protocol http
    and request "/v1/servers/self/uuid"
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

  if failed port 15999 and protocol http
    and request "/v1/servers/self"
    and status < 600
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

다음 예시는 기존 UI (edge-ui) 구성요소의 기본 구성을 보여줍니다.

check process edge-ui
 with pidfile /opt/apigee/var/run/edge-ui/edge-ui.pid
 start program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui start" with timeout 55 seconds
 stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui stop"

이는 구성요소 이름이 edge-management-ui인 새 에지 UI가 아닌 기존 UI에 적용됩니다.

프라이빗 클라우드용 Apigee Edge 구성요소의 기본 구성요소 구성을 변경할 수 없습니다. 하지만 대상 엔드포인트 또는 httpd 서비스와 같은 외부 서비스에 대한 자체 구성요소 구성을 추가할 수 있습니다. 자세한 내용은 Apigee 이외의 구성요소 구성을 참조하세요.

기본적으로 apigee-monit는 실행 중인 노드의 모든 구성요소를 모니터링합니다. 모든 구성요소 또는 개별 구성요소에 대해 사용 설정하거나 사용 중지할 수 있습니다. 자세한 내용은 다음을 참고하세요.

apigee-monit 설치

apigee-monit은 기본적으로 설치되지 않습니다. 프라이빗 클라우드용 Apigee Edge 버전 4.19.01 이상을 업그레이드하거나 설치한 후 수동으로 설치할 수 있습니다.

이 섹션에서는 지원되는 플랫폼에 apigee-monit를 설치하는 방법을 설명합니다.

apigee-monit 제거에 대한 자세한 내용은 apigee-monit 제거를 참조하세요.

지원되는 플랫폼에 apigee-monit 설치

이 섹션에서는 지원되는 플랫폼에 apigee-monit를 설치하는 방법을 설명합니다.

지원되는 플랫폼에 apigee-monit을 설치하려면 다음 안내를 따르세요.

  1. 다음 명령어를 사용하여 apigee-monit를 설치합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit install
  2. 다음 명령어를 사용하여 apigee-monit를 구성합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  3. 다음 명령어를 사용하여 apigee-monit를 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start
  4. 클러스터의 각 노드에서 이 절차를 반복합니다.

모니터링 구성요소 중지 및 시작

어떤 이유로든 서비스가 중지되면 apigee-monit에서 서비스를 다시 시작하려고 시도합니다.

이로 인해 구성요소를 의도적으로 중지하려는 경우 문제가 발생할 수 있습니다. 예를 들어 구성요소를 백업하거나 업그레이드해야 할 때 구성요소를 중지할 수 있습니다. 백업 또는 업그레이드 중에 apigee-monit에서 서비스를 다시 시작하면 유지보수 절차가 중단되어 실패할 수 있습니다.

다음 섹션에서는 구성요소 모니터링을 중지하는 옵션을 보여줍니다.

구성요소 중지 및 모니터링 해제

구성요소를 중지하고 모니터링을 해제하려면 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
component_name는 다음 중 하나일 수 있습니다.
  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL 데이터베이스)
  • apigee-qpidd (Qpidd)
  • apigee-sso (Edge SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (관리 서버)
  • edge-management-ui (새 Edge UI)
  • edge-message-processor (메시지 프로세서)
  • edge-postgres-server (Postgres 서버)
  • edge-qpid-server (Qpid 서버)
  • edge-router (에지 라우터)
  • edge-ui (기본 UI)

'all'은 stop-component에 유효한 옵션이 아닙니다. stop-component를 사용하면 한 번에 하나의 구성요소만 중지하고 모니터링을 해제할 수 있습니다.

구성요소를 다시 시작하고 모니터링을 재개하려면 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name

'all'은 start-component에 유효한 옵션이 아닙니다.

모든 구성요소를 중지하고 모니터링을 해제하는 방법에 대한 안내는 모든 구성요소 중지 및 모니터링 해제를 참조하세요.

구성요소 모니터링 해제 (중지하지 않음)

구성요소 모니터링을 해제하려면 (중지하지 않음) 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
component_name는 다음 중 하나일 수 있습니다.
  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL 데이터베이스)
  • apigee-qpidd (Qpidd)
  • apigee-sso (Edge SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (관리 서버)
  • edge-management-ui (새 Edge UI)
  • edge-message-processor (메시지 프로세서)
  • edge-postgres-server (Postgres 서버)
  • edge-qpid-server (Qpid 서버)
  • edge-router (에지 라우터)
  • edge-ui (기본 UI)

구성요소 모니터링을 재개하려면 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

모든 구성요소 모니터링 해제 (중지하지 않음)

모든 구성요소의 모니터링을 해제하려면 (중지하지 않음) 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

모든 구성요소의 모니터링을 재개하려면 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

모든 구성요소 중지 및 모니터링 해제

모든 구성요소를 중지하고 모니터링을 해제하려면 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stop

모든 구성요소를 다시 시작하고 모니터링을 재개하려면 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

모든 구성요소의 모니터링을 중지하려면 apigee-monit 중지, 시작, 사용 중지에 설명된 대로 apigee-monit를 사용 중지하면 됩니다.

apigee-monit 중지, 시작, 사용 중지

다른 서비스와 마찬가지로 apigee-service 명령어를 사용하여 apigee-monit를 중지하고 시작할 수 있습니다. 또한 apigee-monit는 구성요소 모니터링을 일시적으로 중지할 수 있는 unmonitor 명령어를 지원합니다.

apigee-monit 중지

apigee-monit를 중지하려면 다음 명령어를 사용합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop

apigee-monit 시작

apigee-monit를 시작하려면 다음 명령어를 사용합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

apigee-monit 사용 중지

다음 명령어를 사용하여 노드의 모든 구성요소 모니터링을 정지할 수 있습니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

또는 apigee-monit 제거에 설명된 대로 노드에서 제거하여 apigee-monit를 영구적으로 사용 중지할 수 있습니다.

apigee-monit 제거

apigee-monit을 제거하려면 다음 안내를 따르세요.

  1. cron 작업을 설정하여 apigee-monit를 모니터링하는 경우 apigee-monit를 제거하기 전에 cron 작업을 삭제합니다.
    sudo rm /etc/cron.d/apigee-monit.cron
  2. 다음 명령어를 사용하여 apigee-monit를 중지합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
  3. 다음 명령어를 사용하여 apigee-monit를 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit uninstall
  4. 클러스터의 각 노드에서 이 절차를 반복합니다.

새로 설치된 구성요소 모니터링

apigee-monit를 실행하는 노드에 새 구성요소를 설치하는 경우 apigee-monit의 restart 명령어를 실행하여 모니터링을 시작할 수 있습니다. 이렇게 하면 구성요소 구성에 새 구성요소가 포함된 새 monit.conf 구성 파일이 생성됩니다.

다음 예시에서는 apigee-monit를 다시 시작합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit restart

apigee-monit 맞춤설정

다음을 포함하여 다양한 apigee-monit 설정을 맞춤설정할 수 있습니다.

  1. 기본 apigee-monit 제어 설정
  2. 전역 구성 설정
  3. Apigee 이외의 구성요소 구성

기본 apigee-monit 제어 설정

상태 확인 빈도 및 apigee-monit 파일 위치와 같은 기본 apigee-monit 제어 설정을 맞춤설정할 수 있습니다. 구성이 포함된 코드 기법을 사용하여 속성 파일을 수정하면 됩니다. 속성 파일은 프라이빗 클라우드용 Apigee Edge를 업그레이드한 후에도 유지됩니다.

다음 표에서는 맞춤설정할 수 있는 기본 apigee-monit 제어 설정을 설명합니다.

속성 설명
conf_monit_httpd_port httpd 데몬의 포트입니다. apigee-monit는 대시보드 앱에 httpd를 사용하고 보고서/요약을 사용 설정합니다. 기본값은 2812입니다.
conf_monit_httpd_allow httpd 데몬에 대한 요청 제약조건 apigee-monit는 httpd를 사용하여 대시보드 앱을 실행하고 보고서/요약을 사용 설정합니다. 이 값은 localhost (httpd가 실행 중인 호스트)를 가리켜야 합니다.

요청에 사용자 이름과 비밀번호를 포함하도록 하려면 다음 문법을 사용합니다.

conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1

사용자 이름과 비밀번호를 추가할 때 각 제약 조건 사이에 '\n'을 삽입합니다. 값에 실제 줄바꿈이나 캐리지 리턴을 삽입하지 마세요.

conf_monit_monit_datadir 이벤트 세부정보가 저장되는 디렉터리입니다.
conf_monit_monit_delay_time apigee-monit가 메모리에 처음 로드된 후 실행되기 전에 대기하는 시간입니다. 이는 첫 번째 프로세스 확인에만 apigee-monit 영향을 미칩니다.
conf_monit_monit_logdir apigee-monit 로그 파일의 위치입니다.
conf_monit_monit_retry_time apigee-monit에서 각 프로세스를 확인하는 빈도입니다. 기본값은 60초입니다.
conf_monit_monit_rundir apigee-monit에서 프로세스를 확인하는 데 사용하는 PID 및 상태 파일의 위치입니다.

기본 apigee-monit 제어 설정을 맞춤설정하려면 다음 단계를 따르세요.

  1. 다음 파일을 수정합니다.
    /opt/apigee/customer/application/monit.properties

    파일이 없으면 파일을 만들고 소유자를 'apigee' 사용자로 설정합니다.

    chown apigee:apigee /opt/apigee/customer/application/monit.properties

    파일이 이미 있는 경우 위의 표에 나열된 것 외에 추가 구성 속성이 정의되어 있을 수 있습니다. 위에 나열된 속성 이외의 속성은 수정하면 안 됩니다.

  2. 속성 값을 새 값으로 설정하거나 바꿉니다.

    예를 들어 로그 파일의 위치를 /tmp로 변경하려면 다음 속성을 추가하거나 수정합니다.

    conf_monit_monit_logdir=/tmp/apigee-monit.log
  3. 변경 사항을 monit.properties 파일에 저장합니다.
  4. 다음 명령어를 사용하여 apigee-monit를 다시 구성합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  5. 다음 명령어를 사용하여 apigee-monit를 새로고침합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    apigee-monit를 다시 시작할 수 없는 경우 apigee-monit 로그 파일 액세스에 설명된 대로 로그 파일에서 오류를 확인합니다.

  6. 클러스터의 각 노드에 이 절차를 반복합니다.

전역 구성 설정

apigee-monit의 전역 구성 설정을 정의할 수 있습니다. 예를 들어 알림에 대한 이메일 알림을 추가할 수 있습니다. 이렇게 하려면 /opt/apigee/data/apigee-monit 디렉터리에 구성 파일을 만든 다음 apigee-monit를 다시 시작합니다.

apigee-monit의 전역 구성 설정을 정의하려면 다음 안내를 따르세요.

  1. 다음 위치에 새 구성요소 구성 파일을 만듭니다.
    /opt/apigee/data/apigee-monit/filename.conf

    여기서 filename은 'monit'를 제외한 유효한 파일 이름일 수 있습니다.

  2. 다음 예시와 같이 새 구성 파일의 소유자를 'apigee' 사용자로 변경합니다.
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-mail-config.conf
  3. 새 파일에 전역 구성 설정을 추가합니다. 다음 예시에서는 메일 서버를 구성하고 알림 수신자를 설정합니다.
    SET MAILSERVER smtp.gmail.com PORT 465
      USERNAME "example-admin@gmail.com" PASSWORD "PASSWORD"
      USING SSL, WITH TIMEOUT 15 SECONDS
    
    SET MAIL-FORMAT {
      from: edge-alerts@example.com
      subject: Monit Alert -- Service: $SERVICE $EVENT on $HOST
    }
    SET ALERT fred@example.com
    SET ALERT nancy@example.com

    전역 구성 옵션의 전체 목록은 monit 문서를 참조하세요.

  4. 구성요소 구성 파일에 변경사항을 저장합니다.
  5. 다음 명령어를 사용하여 apigee-monit를 새로고침합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    apigee-monit가 다시 시작되지 않으면 apigee-monit 로그 파일 액세스에 설명된 대로 로그 파일에서 오류를 확인합니다.

  6. 클러스터의 각 노드에 이 절차를 반복합니다.

Apigee 이외의 구성요소 구성

apigee-monit에 자체 구성을 추가하여 프라이빗 클라우드용 Apigee Edge에 포함되지 않은 서비스를 확인할 수 있습니다. 예를 들어 apigee-monit를 사용하여 대상 엔드포인트에 요청을 전송하여 API가 실행 중인지 확인할 수 있습니다.

Apigee 이외의 구성요소 구성을 추가하려면 다음 안내를 따르세요.

  1. 다음 위치에 새 구성요소 구성 파일을 만듭니다.
    /opt/apigee/data/apigee-monit/filename.conf

    여기서 filename은 'monit'를 제외한 유효한 파일 이름일 수 있습니다.

    필요한 만큼 구성요소 구성 파일을 만들 수 있습니다. 예를 들어 노드에서 모니터링하려는 Apigee 이외의 구성요소마다 별도의 구성 파일을 만들 수 있습니다.

  2. 다음 예시와 같이 새 구성 파일의 소유자를 'apigee' 사용자로 변경합니다.
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-config.conf
  3. 새 파일에 커스텀 구성을 추가합니다. 다음 예시에서는 로컬 서버의 대상 엔드포인트를 확인합니다.
    CHECK HOST localhost_validate_test WITH ADDRESS localhost
      IF FAILED
        PORT 15999
        PROTOCOL http
        REQUEST "/validate__test"
        CONTENT = "Server Ready"
        FOR 2 times WITHIN 3 cycles
      THEN alert

    가능한 구성 설정의 전체 목록은 monit 문서를 참조하세요.

  4. 변경 사항을 구성 파일에 저장합니다.
  5. 다음 명령어를 사용하여 apigee-monit를 새로고침합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    apigee-monit가 다시 시작되지 않으면 apigee-monit 로그 파일 액세스에 설명된 대로 로그 파일에서 오류를 확인합니다.

  6. 클러스터의 각 노드에 이 절차를 반복합니다.

이는 Edge가 아닌 구성요소에만 해당됩니다. Edge 구성요소의 구성요소 구성을 맞춤설정할 수 없습니다.

apigee-monit 로그 파일 액세스

apigee-monit는 이벤트, 다시 시작, 구성 변경, 알림을 포함한 모든 활동을 로그 파일에 로깅합니다.

로그 파일의 기본 위치는 다음과 같습니다.

/opt/apigee/var/log/apigee-monit/apigee-monit.log

apigee-monit 컨트롤 설정을 맞춤설정하여 기본 위치를 변경할 수 있습니다.

로그 파일 항목의 형식은 다음과 같습니다.

'edge-message-processor' trying to restart
[UTC Dec 14 16:20:42] info     : 'edge-message-processor' trying to restart
'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'

apigee-monit 로그 파일 항목의 형식은 맞춤설정할 수 없습니다.

apigee-monit로 집계된 상태 보기

apigee-monit에는 노드의 구성요소에 대한 집계된 상태 정보를 제공하는 다음 명령어가 포함되어 있습니다.

명령어 사용
report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
summary
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

이러한 각 명령어는 다음 섹션에서 자세히 설명합니다.

보고서

report 명령어는 노드에서 작동 중이거나, 작동 중지되었거나, 현재 초기화 중이거나, 현재 모니터링되지 않는 구성요소 수에 대한 요약을 제공합니다. 다음 예시에서는 report 명령어를 호출합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report

다음 예시에서는 AIO (올인원) 구성의 report 출력을 보여줍니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
up:            11 (100.0%)
down:           0 (0.0%)
initialising:   0 (0.0%)
unmonitored:    1 (8.3%)
total:         12 services

이 예시에서는 12개 서비스 중 11개가 apigee-monit에 의해 작동 중인 것으로 보고됩니다. 한 서비스는 현재 모니터링되지 않습니다.

report 명령어를 처음 실행할 때 Connection refused 오류가 발생할 수 있습니다. 이 경우 conf_monit_monit_delay_time 속성 기간 동안 기다린 후 다시 시도하세요.

요약

summary 명령어는 각 구성요소를 나열하고 상태를 제공합니다. 다음 예시에서는 summary 명령어를 호출합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

다음 예시에서는 AIO (올인원) 구성의 summary 출력을 보여줍니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
Monit 5.25.1 uptime: 4h 20m
 Service Name                     Status                      Type
 host_name                        OK                          System
 apigee-zookeeper                 OK                          Process
 apigee-cassandra                 OK                          Process
 apigee-openldap                  OK                          Process
 apigee-qpidd                     OK                          Process
 apigee-postgresql                OK                          Process
 edge-ui                          OK                          Process
 edge-qpid-server                 OK                          Remote Host
 edge-postgres-server             OK                          Remote Host
 edge-management-server           OK                          Remote Host
 edge-router                      OK                          Remote Host
 edge-message-processor           OK                          Remote Host

summary 명령어를 처음 실행할 때 Connection refused 오류가 발생하면 conf_monit_monit_delay_time 속성 기간 동안 기다린 후 다시 시도하세요.

apigee-monit 모니터링

각 노드에서 apigee-monit가 실행 중인지 정기적으로 확인하는 것이 좋습니다.

apigee-monit가 실행 중인지 확인하려면 다음 명령어를 사용합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

Apigee에서는 apigee-monit를 실행하는 각 노드에서 이 명령어를 주기적으로 실행할 것을 권장합니다. 이를 위한 한 가지 방법은 사전 정의된 간격으로 예약된 작업을 실행하는 cron와 같은 유틸리티를 사용하는 것입니다.

cron를 사용하여 apigee-monit를 모니터링하려면 다음 안내를 따르세요.

  1. 다음 예와 같이 apigee-monit.cron 디렉터리를 /etc/cron.d 디렉터리에 복사하여 cron 지원을 추가합니다.
    cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
  2. apigee-monit.cron 파일을 열어 수정합니다.

    apigee-monit.cron 파일은 실행할 cron 작업과 해당 작업을 실행할 빈도를 정의합니다. 다음 예시에서는 기본값을 보여줍니다.

    # Cron entry to check if monit process is running. If not start it
    */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

    이 파일은 다음 문법을 사용합니다. 여기서 처음 5개 필드는 apigee-monit가 작업을 실행하는 시간을 정의합니다.

    min hour day_of_month month day_of_week task_to_execute

    예를 들어 기본 실행 시간은 */2 * * * *이며, 이는 cron에 2분마다 apigee-monit 프로세스를 확인하도록 지시합니다.

    cron 작업은 분당 1회 이상 실행할 수 없습니다.

    cron 사용에 대한 자세한 내용은 서버 OS 문서 또는 man 페이지를 참조하세요.

  3. 조직의 정책에 맞게 cron 설정을 변경합니다. 예를 들어 실행 빈도를 5분마다로 변경하려면 작업 정의를 다음과 같이 설정합니다.
    */5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
  4. apigee-monit.cron 파일을 저장합니다.
  5. 클러스터의 각 노드에 이 절차를 반복합니다.

cron에서 apigee-monit 시청이 시작되지 않으면 다음을 확인하세요.

  • cron 작업 정의 뒤에 빈 줄이 있습니다.
  • 파일에 정의된 cron 작업은 하나뿐입니다. (주석 처리된 줄은 계산되지 않습니다.)

apigee-monit를 중지하거나 일시적으로 사용 중지하려면 이 cron 작업도 사용 중지해야 합니다. 그렇지 않으면 cron가 apigee-monit를 다시 시작합니다.

cron를 사용 중지하려면 다음 중 하나를 수행합니다.

  • /etc/cron.d/apigee-monit.cron 파일을 삭제합니다.
    sudo rm /etc/cron.d/apigee-monit.cron

    나중에 cron를 다시 사용 설정하여 apigee-monit를 시청하려면 다시 복사해야 합니다.

    또는

  • /etc/cron.d/apigee-monit.cron 파일을 수정하고 줄의 시작 부분에 '#'을 추가하여 작업 정의를 주석 처리합니다. 예를 들면 다음과 같습니다.
    # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit