Apigee-Monit로 자가 복구

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

apigee-monit를 사용하려면 수동으로 설치해야 합니다. 표준 설치의 일부가 아닙니다.

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

빠른 시작

이 섹션에서는 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
SymasLDAP
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인 새 Edge UI가 아닌 클래식 UI에 적용됩니다.

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

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

apigee-monit 설치

apigee-monit은 기본적으로 설치되지 않습니다. Apigee Edge for Private Cloud 버전 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. 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 제어 설정을 맞춤설정할 수 있습니다. 구성으로 코드 작성 기법을 사용하여 속성 파일을 수정하면 됩니다. Apigee Edge for Private Cloud를 업그레이드한 후에도 속성 파일은 유지됩니다.

다음 표에서는 맞춤설정할 수 있는 기본 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 Edge for Private Cloud에 포함되지 않은 서비스를 확인하도록 apigee-monit에 자체 구성을 추가할 수 있습니다. 예를 들어 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 작업도 사용 중지해야 합니다. 그렇지 않으면 cronapigee-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