Apigee-Monit로 자가 복구

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

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

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

빠른 시작

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

Amazon Linux 또는 Oracle-Linux-7.X를 사용하는 경우 먼저 Fedora를 통해 monit를 설치합니다. 그 외의 경우에는 이 단계를 건너뛰세요.

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는 사전 정의된 구성요소 구성을 사용하여 노드의 모든 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
동물원키퍼
/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인 새 Edge UI가 아닌 기본 UI에 적용됩니다.

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

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

apigee-monit 설치

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

이 섹션에서는 apigee-monit 설치 방법을 설명합니다.

apigee-monit uninstalling에 관한 자세한 내용은 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)

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

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

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

'모두'는 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. apigee-monit를 모니터링하는 cron 작업을 설정한 경우 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-monitrestart 명령어를 실행하여 모니터링을 시작할 수 있습니다. 이렇게 하면 구성요소 구성에 새 구성요소가 포함될 새 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 컨트롤 설정을 맞춤설정할 수 있습니다. 이렇게 하려면 구성이 포함된 코드 기법을 사용하여 속성 파일을 수정합니다. 속성 파일은 Private Cloud용 Apigee Edge를 업그레이드한 후에도 유지됩니다.

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

속성 설명
conf_monit_httpd_port httpd 데몬의 포트 apigee-monit는 대시보드 앱에 httpd를 사용하고 보고서/요약을 사용 설정합니다. 기본값은 2812입니다.
conf_monit_httpd_allow httpd 데몬에 대한 요청의 제약조건 apigee-monithttpd를 사용하여 대시보드 앱을 실행하고 보고서/요약을 사용 설정합니다. 이 값은 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 for Private Cloud에 속하지 않는 서비스를 검사할 수 있습니다. 예를 들어 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에 의해 작동 중인 것으로 보고됩니다. 서비스 1개는 현재 모니터링되지 않습니다.

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 문서 또는 설명 페이지를 참조하세요.

  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