:: Lab

Jetronome Server

jETA 2018. 12. 26. 10:00
반응형

Jetronome Server


Jetronome Server는 운용 중인 Application의 상태를 한 곳에서 확인할 수 있는 가장 간단한 방법입니다.

License: MIT License


Features

- 주기적 실행 여부 확인

- IP를 기준으로 한 App 목록 그룹화

- 신호 누락 시 알림

- 테스트 API 접속 실패 시 알림


Install

- 서버로 사용할 Node.js 프로젝트에서 다음 명령을 실행합니다.

npm i --save jetronome-server


Usage

초기화

require('jetronome-server')({
    alertFn: (name, msg) => { // 알림 발생 시 실행될 함수.
        console.error(name);
        console.error(msg);
    },
    port: 7828, // (Optional) 서버로 사용할 포트. 기본값은 7828.
});

- 서버로 사용할 Node.js 프로젝트의 적당한 위치에 위 코드를 입력합니다. 일반적으로는 초기화 직후에 사용합니다.

- 2: 알림(경고)가 발생한 경우 실행되는 함수입니다. 예제는 콘솔에 오류를 찍지만, SMS를 보내거나 다른 관제 시스템으로 신호를 보내도록 변경할 수 있습니다.

- 6: 기본값은 7828 포트를 이용합니다. 원하면 다른 포트로 변경할 수 있습니다.


목록 조회

목록은 두 가지 형태로 조회할 수 있습니다.

아래 예제 URL은 기본 포트인 7828 포트를 이용하는 경우입니다.


1. HTML 페이지로 조회: /list (http://localhost:7828/list)

목록을 열면 신호로 관리되고 있는 App의 목록을 확인할 수 있습니다.

일정한 시간마다 화면이 갱신되며, 신호가 중단되거나 테스트 API에 접속 실패한 경우 붉은색으로 표시됩니다.


  1. IP 표시줄
    실행 중인 PC의 IP가 표시됩니다. [#] 부분을 클릭하면 별칭을 설정할 수 있습니다.
    별칭이 설정된 경우 IP 뒤에 별칭이 표시됩니다.
  2. App 목록
    실행 중인 App의 정보가 표시됩니다.
    더 이상 신호 확인이 필요하지 않은 경우 [x] 부분을 클릭하여 모니터링을 중단할 수 있습니다.
    App의 이름 아래에는 'CPU 사용율', '메모리 사용율', '디스크 사용률'이 순서대로 표시되며, 우측엔 마지막 신호가 수신된 시간이 표시됩니다.


2. JSON 형태로 조회: /list?type=json (http://localhost:7828/list?type=json)


호출된 순간의 목록을 JSON 형태로 반환합니다.

각 객체의 속성이 뜻하는 바는 아래와 같습니다.

  • id: App을 서버에서 관리할 때 사용하는 ID
  • name: App 이름
  • ip: App이 실행 중인 PC의 IP
  • description: App 설명
  • lastChecked: 마지막으로 신호가 수신된 시각 (ISO String)
  • isOk: 정상 여부
  • stat: 해당 서버의 상태
        - cpu: CPU 사용률
        - memory: 메모리 사용률
        - disk: 디스크 사용률


Feedback

Github Repository

https://github.com/jetronome/jetronome-server


Blog

https://jetalog.net/78

반응형