함께 놀자! Linux와 Python

Multitail과 lnav로 ZeroAOS를 모니터링

0 192

1.
이번 주 내내 통합시험을 진행중입니다. DMA용 매매시스템과 증권사 트레이더용 매매시스템은 다른 수준의 시험을 요구합니다. 위험관리가 충실하지 못한 매매시스템은 회사를 파산으로 이끕니다. 대표적인 경우가 한맥투자증권입니다. 알고리즘기반의 자동매매시스템이 일반적이지 않은 환경 혹은 부정적인 시각이 많은 조건에서 무엇을 가이드라인으로 할지 중요합니다. ZeroAOS를 설계할 때부터 심혈을 기울인 부분이 Pre-Trade Risk Control입니다. FIA나 FINRA 혹은 해외 거래소가 내놓은 자료를 기준으로 요건을 정리했습니다. 국내도 비슷한 가이드라인이 있습니다. 한국거래소 시장감시위원회가 발간한 주문사고 예방을 위한 “알고리즘거래 위험관리 가이드라인” 입니다. 이외에 금융투자회사의 금융사고 방지를 위한 모범규준중 자기매매시스템과 관련한 규준이 있습니다.

통합시험을 하면서 고민을 한 부분중 하나가 시스템 모니터링환경입니다. 시험용으로 사용하는 모니터가 작은 모니터 두개라 더욱더 효율적인 환경을 만들고 싶었습니다. 특히 로그(LOG)와 관련한 도구를 찾았습니다. 일반적으로 리눅스계열의 서버에 터미널접속을 할 경우 Putty를 많이 사용합니다. 저도 Putty를 사용해서 로그온을 한 후 grep, tail 등의 명령어를 이용하여 메시지를 필터링하는 방식을 사용했습니다. 간단한 시험을 불편하지 않았지만 여러 파일이나 데이타 혹은 프로세스를 확인하려고 할 때 창을 관리하기도 불편하고 보기도 힘들었습니다.

고민을 하다가 생각한 것이 Multitail과 Lnav입니다. 먼저 Multitail입니다. 개발자의 설명입니다. Multiple + Tail이라고 생각하면 거의 비슷합니다.

MultiTail lets you view one or multiple files like the original tail program. The difference is that it creates multiple windows on your console (with ncurses). It can also monitor wildcards: if another file matching the wildcard has a more recent modification date, it will automatically switch to that file. That way you can, for example, monitor a complete directory of files. Merging of 2 or even more logfiles is possible. It can also use colors while displaying the logfiles (through regular expressions), for faster recognition of what is important and what not. It can also filter lines (again with regular expressions).

MultiTail – Monitor Multiple Files Simultaneously in a Single Linux Terminal을 보면 잘 정리해놓았습니다. 저는 -e 혹은 -ev 옵션으로 특정한 값이 들어간 줄 혹은 아닌 줄만 보이는 방식으로 사용했습니다. 주로 ERR로 필터링을 하였습니다.

zeroaos_multitail

2.
또다른 도구는 lnav(The Log File Navigator)입니다. Multitail과 비슷합니다. Lnav는 특정한 파일을 모니터링할 때 필터링을 바꾸거나 좁히면서 원인을 찾을 때 사용했습니다. lnav가 지원하는 명령어(cmd)중 filter-in과 filter-out이 있습니다. 각각 정규식에 따른 줄을 보여주거나 주여주지 않는 기능입니다. 나아가 filter-in -> filter-in -> filter-out식으로 필터링을 이을 수 있습니다. tail을 사용할 때 grep 을 여러번 사용하는 것과 비슷한 개념입니다.

lnav1

여기에 좁은 사무실의 일상에서 소개하였던 Putty Connection Manager까지 동원하여 모니터링을 합니다. 이상을 모아서 만든 모니터링 및 디버깅환경입니다. 좌측은 프로세스와 메모리데이타입니다. watch 명령어를 이용하여 자동으로 변경부분을 볼 수 있도록 했습니다. 우측은 로그 등입니다.

puttycm

물론 ZeroTerminal을 이용한 매매모니터링을 가능합니다만 시스템 등은 터미날이 유용합니다.

About the author / 

smallake

댓글달기

최신 댓글

  • smallake 내 기억속의 여의도
    저도 인터넷에서 받은 사진이라 저작권이 없습니다. 사용하셔도 무방할 듯 하지만 인터넷에서 검색을 해보시면 좋을 듯 합니다.
  • PB 내 기억속의 여의도
    안녕하세요 여의도 흑백사진이 정말 멋있습니다. 혹시 여의도 대지조사 자료에 저 사진을 인용해도 괜찮을까요??
  • smallake 늙은 개발자
    작고 낭만이 있고 소박한 삶이 어느 때부터 더 어렵다는 생각이 들더군요. 그런 생각이 몸과 마음을 힘들게 한다고 생각하지 않고요.…
  • 가오리 늙은 개발자
    small lake 작은호수...ㅋ 꿈이 그렇게 작고 낭만적이고 소박하니, 항상 힘든겁니다~

트윗

  • 원자력과 관련한 학계 사람들이 탈핵반대성명을 내놓았죠. 이에 대한 반론적 성격의 칼럼입니다. "원전에 대한 장밋빛 환상 거두자" 주류가 이해에 묶일 때 비주류는 세상을 넓고 다르게 본다는 생각이 드네요. https://t.co/A0w4dWhTsT

    yesterday
  • 무척이나 좋은 제품이지만 항상 비용이 부담을 준 Jira와 Confluence. 드디어 이별을 고하고 Redmine으로 돌아섰습니다. Bitnami가 패키징한 Redmine, 설치의 고통을 덜어줍니다. 좋은 제품보다 더 중요한 건 좋은 사용이죠

    yesterday
  • 국정운영 5개년 계획중 금융 및 소프트웨어와 관련한 전략과제입니다. 바꿀 수 있을지, 이제 실행력의 문제입니다. https://t.co/BGsGN7U2wP https://t.co/M4FWzu1Bss

    yesterday
  • '10년새 반토막' 이발소·사진관...주위서 사라지는 것들. 전 여전히 사각사각 가위질하는 소리가 좋습니다. 병원에서 목욕 봉사할 때 이발을 원하는 분들이 많은데 어디 무료로 가르쳐주는 곳이 없을까요?(^^) https://t.co/wIShQgWQA5

    2 days ago
  • 이념적으로 인정하지 못하는 오바마케어를 없애려고 한 트럼프. 실패중입니다. 정책에 대한 지지율이 높고 수혜계층이 명확합니다. 대못을 박고 지속가능한 정책의 첫째는 명확한 수혜계층입니다. https://t.co/T4HGuNJxOh

    2 days ago
트레이딩컨설팅그룹이음 서비스

ZeroAOS, 매매API
ZeroFIX/OMS
국내외매매플랫폼
Jira, SPA, Node.js
매매서버 및 튜닝

자세한 정보는 아래를 선택하세요
    바   로   가   기