여러 서버에서 프로그램 진행 상황 모니터링


9

우리는 tmux세션 내에서 데이터 분석 작업을 실행하는 파이썬 프로그램을 실행하는 세 개의 서버가 있습니다 . 현재 우리가 사용하는 방법은 tmux세션을 연결 하고 명령 줄에서 출력을 보는 것입니다.

이 방법은 지루하므로 여러 서버에서 동시에 프로그램 진행 (CLI의 출력) 모니터링을 자동화하는 솔루션입니다. 우리는 이상적으로 웹 UI 솔루션을 원하지만 CLI도 완벽하게 적합합니다.

읽어 주셔서 감사합니다.


prometheus 와 grafana를 사용하십시오 :-)
Reinstate Monica-M. Schröder

답변:


8

임시 장기 실행 명령을 실행할 때마다 오류 처리를 포함하여 프로세스가 자동화되므로 프로세스를 뒤로 물러나 다시 생각해야합니다.

상태를 확인하기 위해 서버에 연결하는 대신 해당 정보를 내보내는 것이 더 나은 방법입니다. 많은 사용자 정의 코드를 작성하려는 경우 다양한 작업을 수행 할 수 있지만 가장 간단한 방법은 syslog를 통해 중앙 로깅 시스템 (syslog 자체 또는 ELK 등)으로 출력을 보내기 시작하는 것입니다. 그렇게하면 중앙 위치에서 모든 것을 모니터링 할 수 있습니다.

앞으로이 작업이 일회성 작업이 아닌 경우 모니터링을 자동화해야합니다. 즉, 예상대로 상황이 진행되고 있는지 확인하기 위해 로그를 볼 필요가 없습니다. 대신, 경고음이 울릴 때까지 계속 작동하고 다른 작업을 계속해야 합니다 . 이는 안정적이고 넓은 범위의 경고를받는 데 시간을 투자하는 것이지만 시스템이 복잡 해짐에 따라 변경 사항이있을 때마다 모든 것을 모니터링 할 필요가 없기 때문에 비용이 많이 듭니다 .


이것은 하나의 일이 아닙니다. 로깅 모니터링 및 중앙 집중화 자동화에 시간을 투자하는 것에 대한 아이디어가 마음에 듭니다. 무료로 사용할 수 있고 프로그램을 실행하는 우분투 호스트와 잘 작동하는 도구에 대한 제안 사항이 있습니까?
guano

@guano 나는 Wissam이 Sensu 와 같은 것을 사용하여 경고를 강화하는 것 외에도 언급 할 모든 특정 도구를 다루었 다고 생각 합니다.
Xiong Chiamiov

4

그레이 로그

두 사람이 이미 현재 프로세스를 다시 생각하라고 조언했기 때문에 (어느 시점에서 잠 못 이루는 밤을 일으킬 것이기 때문에 두 번째)) 다른 경로로 가서 특정 소프트웨어를 추천합니다. 당신의 요구 : Graylog .

나는 로그 집계 및 비즈니스 인텔리전스를 위해 두 개의 ELK 스택 을 구현하고 사용했으며 현재 현재 고용주에서 약 2 년 동안 그레이 로그를 실행 / 유지합니다. 그레이 로그에는 다음과 같은 기능이 내장되어 있으며 설정 및 유지 관리가 조금 더 쉽습니다.

  • 웹 인터페이스
  • 다중 사용자 기능
  • 경고

시나리오를 이해하는 한, 로그 메시지 스트림에 나타나는 특정 이벤트에 대해 조치를 취하거나 경고해야하는 것처럼 보입니다. Graylog 기능을 살펴보면 다음과 같습니다.

로그인 시도 실패, 예외 또는 성능 저하와 같은주의가 필요한 경우 조치를 트리거하거나 알림을받습니다.

아이디어 : 팀에게 이메일 또는 슬랙 메시지를 보냅니다. 처리 부하를 분산시키기 위해 새로운 기계를 생성하십시오. 공격이 탐지되면 방화벽의 IP 범위를 자동으로 차단하십시오.

그레이 로그를 시험해 보려면 다음 두 단계를 수행하는 것이 좋습니다.

  • 모든 애플리케이션 호스트가 도달 할 수있는 전용 호스트를 설정하여 그레이 로그 (및 그 종속물 MongoDB 및 ElasticSearch)를 실행합니다.
  • 애플리케이션에서 그레이 로그 ( GELF 메시지로)에 로그를 보냅니다.

참고 :이 두 단계에는 모범 사례의 페이지와 페이지를 채우는 기능이 있으며 적어도 두 가지 생각을 받아야합니다. 그레이 로그는 모니터링 솔루션이 아니며 그레이 로그 자체는 적절한 모니터링 도구 (예 : Icinga, Prometheus, Nagios 등)로 모니터링해야합니다.


3

@Xiong Chiamiov에 동의하며 더 명확한 옵션을 제공하고 싶습니다. CLI의 모든 줄을 모니터링하려면 모든 출력을 특정 파일로 리디렉션하고 오류를 다른 파일로 리디렉션 한 다음 logstash 또는 filebeat 를 사용 하여이 파일을 모두 Elasticsearch보내면 Logtril 을 구성 할 수 있습니다 키바는 당신이보고, 분석, 검색 및 개발 운영 친화적 인 인터페이스와 실시간으로 여러 호스트에서 꼬리 로그 이벤트 제공합니다


1

중앙 집중식 tmux

다른 답변은 장기적으로 더 똑똑하고 현명하지만 빠른 해킹 CLI 솔루션은 언급 할 가치가 있다고 생각합니다. tmux다른 서버 모두에 도달 할 수있는 하나의 서버에서 실행하십시오 . 이것에 대한 좋은 장소는 점프 박스 또는 사람들이 일반적으로 로그인하는 다른 장소입니다. 이 "중앙"내 tmux에서 다른 창에있는 각 상자에 ssh하고 필요한 로그 파일을 모두 꼬리로 묶습니다. ctrl- b "를 사용 하면 한 탭에서 더 많은 창을 얻을 수 있습니다 tmux. 이제 누군가가 "중앙" tmux세션에 연결 하여 모든 것을 한눈에 확인할 수 있습니다.

나는 당신이 일하고있는 웹 UI 솔루션을 구축하는 데 많은 시간을 보냈지 만 오늘 필요하다면 무언가를 해킹 tmux하면 하루를 절약 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.