ThingWorx 고가용성 > 고가용성 시스템 모니터링
고가용성 시스템 모니터링
ThingWorx HA 구성에는 많은 구성 요소가 있습니다. 모든 구성 요소를 모니터링하는 것은 복잡하며 가장 좋은 방법은 관리 작업을 더 쉽게 수행할 수 있는 모니터링 도구를 사용하는 것입니다.
PTC System Monitor
PTC System Monitor(PSM)는 Dynatrace Production Edition에서 제공하는 별도의 독립적인 응용 프로그램 성능 모니터링 시스템입니다. PTC는 ThingWorx 등의 PTC 제품 모니터링 요구를 충족하도록 Dynatrace Production Edition을 조정했습니다. PTC System Monitor는 중요한 성능 요구 사항을 유지 관리하는 동시에 모니터링을 허용하는 유용한 대시보드 및 계측을 제공합니다.
PTC System Monitor에 대한 설명서:
PSM 기본 배포를 수행할 경우 각 ThingWorx 서버 및 데이터베이스 서버에 대한 모니터링 솔루션이 제공됩니다. PSM을 사용하면 몇몇 추가 플러그인을 통해 ThingWorx HA 구성의 다른 구성 요소를 모니터링할 수도 있습니다.
PSM 모니터링 데이터베이스
PSM에는 Microsoft SQL Server용 기본 제공 모니터링 기능이 있습니다.
PostgreSQL용 선택적 모니터링 플러그인도 있습니다. 최신 플러그인을 구하려면 Dynatrace의 GitHub 저장소로 이동하여 'postgresql'을 검색하십시오. 검색 결과에 플러그인, 설치, 구성 지침, 모니터링되는 메트릭에 대한 설명을 다운로드하기 위한 링크가 제공되어야 합니다.
PSM 모니터링 ZooKeeper
Dynatrace JMX 모니터를 사용하면 ZooKeeper에서 메트릭을 수집할 수 있습니다.
PSM 모니터링 HAProxy
Dynatrace JMX 모니터를 사용하면 HAProxy에서 메트릭을 수집할 수 있습니다.
일반 모니터링 정보
ThingWorx HA 구성의 각 서버에서 다음 메트릭을 모니터링하는 것이 좋습니다.
각 시스템 또는 프로세스의 CPU 사용률
메모리 사용량
하드 디스크 공간
열린 포트 수
환경 내의 각 구성 요소에는 모니터링할 추가 메트릭이 있습니다. 구성 요소 메트릭에 대한 자세한 내용은 다음 단원을 참조하십시오.
ZooKeeper
ZooKeeper를 모니터링하는 방법은 다음과 같습니다.
ZooKeeper는 두 가지 방법을 통한 모니터링을 지원합니다.
1. 해당 명령 포트에 대한 호출 및 특정 4자 단어 제공
2. JMX
기본 구성에서 ZooKeeper는 다음 포트에서 통신합니다.
포트 2181(클라이언트 연결용)
포트 2888(후속 노드 하트비트 메시지용)
포트 3888(리더 선택 중 다른 ZooKeeper 노드와의 통신용)
ZooKeeper는 Log4j를 로깅 솔루션으로 사용합니다. 자세한 내용은 여기에 제공되어 있습니다. https://zookeeper.apache.org/doc/r3.4.12/zookeeperAdmin.html#sc_logging
Pgpool-II
기본적으로 Pgpool-II는 포트 9000에서 watchdog 메시지를 통신하고 포트 9694에서 하트비트를 통신합니다.
watchdog이 있는 Pgpool-II는 파일 위치 /usr/sbin/pgpool에 있는 pgpool이라는 프로세스로 실행됩니다. 다음 명령을 사용하여 프로세스의 상태를 확인할 수 있습니다.
ps -elf | grep pgpool
프로세스 목록이 반환되어야 하며 이는 Pgpool-II가 실행되고 있음을 나타냅니다.
발생하는 모든 이벤트나 오류는 syslog에 로깅됩니다.
다음 메시지는 watchdog이 있는 Pgpool-II가 성공적으로 시작되었음을 나타냅니다.
...
wd_init: start watchdog
pgpool-II successfully started. version x.x.x (...)
find_primary_node: primary node id is 0
...
PostgreSQL
PostgreSQL에는 Statistics Collector라는 모니터링용 하위 시스템이 포함되어 있습니다. Statistics Collector는 postgresql.conf 파일에 구성되어 있습니다. 자세한 내용은 http://www.postgresql.org/docs/current/static/monitoring-stats.html을 참조하십시오. PostgreSQL 모니터링 옵션에 대한 자세한 내용은 https://wiki.postgresql.org/wiki/Monitoring을 참조하십시오.
기본적으로 PostgreSQL은 포트 5432에서 데이터베이스 연결을 수락합니다.
Ubuntu 환경에서는 PostgreSQL이 postgresql이라는 서비스에서 실행됩니다.
PostgreSQL은 해당 로그를 /var/log/postgresql/postgresql-10.x-main.log 파일에 저장합니다. 다음 메시지가 로깅되면 시스템이 실행 중임을 확인할 수 있습니다.
...
(...) LOG: database system is ready to accept connections
...
HAProxy
HAProxy에는 기본 제공 상태 웹 페이지가 있습니다. 이 상태 웹 페이지는 haproxy.cfg 파일에 구성 설정을 추가하고 브라우저에서 구성된 포트로 이동하여 액세스할 수 있습니다. 기본 구성을 사용하면 포트 1936에서 HAProxy 상태 페이지로 이동할 수 있습니다.
HAProxy 포트 사용은 환경의 구성에 따라 달라지지만 HAProxy 및 ThingWorxport 예제 구성에서는 포트 8080을 사용합니다. SSL을 사용하는 환경에서는 포트 8443을 경유하도록 구성해야 합니다. 기본 설정에서 구성 파일을 사용하는 경우 HAProxy 상태 페이지가 포트 1936에서 통신합니다.
HAProxy는 haproxy라는 서비스에서 실행됩니다.
HAProxy는 서비스 세부 정보를 /var/log/syslog에 로깅합니다. 또한 시작 시 또는 런타임 중 HAProxy에 문제가 발생할 경우 오류가 작성되는 /var/log/haproxy.log에 자체의 로그가 있습니다.