Skip to content
This repository has been archived by the owner on Feb 13, 2019. It is now read-only.

jacking75/conf_kgc2015Demo_ServerMornitoringSystem

Repository files navigation

kgc 2015에서 강연한 'C# 스크립트를 사용한 게임서버 모니터링 시스템 개발'의 Demo 코드

구현된 기능

  • 서버 애플리케이션 on/off
  • 서버 머신 및 서버 애플리케이션 CPU, RAM 사용량 표시
  • 서버 애플리케이션 리소스 업데이트. AWS S3 이용.
  • 관리자 로그인

구현 예정 기능

  • (TCP 혹은 http 사용)서버 애플리케이션가 좀비가 되었는지 조사(Agent와 애플리케이션 서버간의 네트워크 통신)
  • 아직 미 실행된 관리자 요청 보여주기, 요청이 오래된 것은 자동 취소(5초)
  • 로그 남기기(파일로)
  • 클라이언트 UI에 Visualization: Gauge 적용

구성

  • 저장소의 MonitoringSystem 디렉토리에 이름 그대로 모니터링 시스템의 Server와 Agent가 있다.
    • Server는 클라이언트(관리자 혹은 운영자)가 접속하여 복수의 '서버 애플리케이션(게임서버,로그인 서버 등을 가르킨다)'의 상태를 파악하거나 특정 Agent에 명령을 내릴 수 있다.
    • Agent는 '서버 애플리케이션(게임서버,로그인 서버 등을 가르킨다)'이 설치되는 컴퓨터에 복사한다.
    • Agent는 주기적으로 http 통신으로 Server와 통신한다.
  • 저장소의 ServerApps는 테스트용으로 사용되는 '서버 애플리케이션'이 있다.
    • 'HttpGameServer'는 WCF로 만들어진 서버이며, 빌드는 VS 2013 이상이 필요하고, 빌드 후 실행 파일은 Bin 디렉토리에 생성되고, 실행에는 관리자 권한이 필요하다.

실행 하기

  • ScriptCS를 설치해야 한다.
  • Server나 Agent를 실행하지 않고 특정 기능을 테스트 해보고 싶을 때는 Agent 디렉토리에 있는 unitTest.csx을 참고해서 코드 테스트를 해볼 수 있다.
  • Server, Agent 실행 순서는 상관 없다.
  • server와 Agent를 실행하기 위해 '명령창'(cmd.exe)을 관리자 권한으로 실행한다.

Server

  • 'server.csx'가 주 실행 부이다. 명령창에서 아래의 명령어로 실행한다.
    • scriptcs server.csx
    • server.csx 파일을 열어 보면 상단에 로그를 출력하는 실행 명령어가 주석으로 적어 있다.
    • Server의 port 번호는 8888 이다. 만약 port 번호를 바꾸고 싶다면 https://github.com/adamralph/scriptcs-nancy 를 참조하기 바란다. 참고로 Server의 웹프레임워크는 Nancy를 사용하였다.

Agent

  • configuration.csx 파일을 열어서 Server의 http 주소, Agent가 실행되는 컴퓨터의 IP, Agent가 관리하는 서버 애플리케이션의 정보를 수정해야 한다.
  • AWS의 S3를 사용하려면 aws_s3_service.csx 파일을 열어서 aws의 접근키, 패스워드, S3의 버킷 이름을 입력해야 한다.
  • 위의 두 파일을 수정을 한 후 Agent를 실행한다.
  • 'agent.csx'가 주 실행 부이다. 명령창에서 아래의 명령어로 실행한다.
    • scriptcs agent.csx
    • agent.csx 파일을 열어 보면 상단에 로그를 출력하는 실행 명령어가 주석으로 적어 있다.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published