문제

직장에서 우리는 분산 애플리케이션을 구축하고 있습니다(아마도 LAN의 여러 시스템에 걸쳐, 나중에는 WAN+VPN을 통해 여러 대륙에 걸쳐).우리는 로그 파일이 각 시스템에 로컬로 존재하는 것을 원하지 않으므로(디스크가 가득 차서 전체적으로 볼 수 없음) 네트워크를 통해 로깅을 중앙 집중화해야 합니다.대부분의 로그는 중요하지 않으므로 UDP가 적합하지만 일부는 돈을 잃는 중요한 경고이므로 TCP를 암시하여 안정적으로 전달되어야 합니다.로깅 프로토콜이 너무 수다스러우면 네트워크가 혼잡해지거나, 응답하지 않으면 앱을 크롤링하도록 드래그할까봐 걱정됩니다.

내가 고려한 몇 가지 가능성은 다음과 같습니다.

  • 시스템 로그 (완벽해 보이지만 상사가 반감이 있어서 선택하지 못할 수도 있습니다.)
  • 학자 facebook에서 (하지만 모든 시스템에 서버가 있어서 약간 무거워 보입니다. 모든 로그 메시지에 높은 신뢰성이 필요한 것은 아닙니다.)
  • 다음과 같은 메시지 대기열을 사용하여 토끼mq 다양한 수준의 트랜잭션 안전에 맞게 조정된 여러 대기열을 가질 수 있습니다.
  • 최악의 경우 처음부터 직접 작성할 수 있습니다.

다른 제안사항이 있나요?어떤 중앙 집중식 로깅 솔루션을 사용해 보셨으며 얼마나 효과가 있었나요?

편집하다: 나는 저장 후 전달(store-and-forward) 디자인이 실행 중인 앱과 네트워크 대기 시간을 분리하기 때문에 스크라이브로 기울고 있었습니다.그러나 설치하는 데 어려움을 겪은 후 (1) 바이너리 패키지로 사용할 수 없다는 사실을 발견했습니다. 요즘은 용서할 수 없는 일입니다. (2) 바이너리 패키지로도 사용할 수 없는 라이브러리(중고품)에 밀접하게 의존합니다!그리고 무엇보다도 최악의 경우 제대로 컴파일되지도 않습니다.이는 오픈 소스에서도 릴리스 품질 코드가 아닙니다.

도움이 되었습니까?

해결책

우리는 성공적으로 사용했습니다 ZeroMQ 귀하와 같은 분산 애플리케이션 시나리오의 로그입니다.매우 안정적이고 믿을 수 없을 만큼 빠릅니다.우리는 그다지 성공적이지 못한 구현 이후 ZeroMQ로 전환했습니다. 확산.우리의 설정에서 단일 ZeroMQ 서버는 중간에서 매우 바쁜 분산 애플리케이션까지 70개 이상의 다양한 로그를 처리할 수 있습니다.LAN과 인터넷을 통해 데이터를 수신합니다.

자세한 큐서버 비교가 필요하시다면, Second Life 위키에서 이 페이지를 보세요..

도움이 되길 바랍니다!

다른 팁

최근에 몇 가지 대안이 있습니다. 특히 Scribe는 더 이상 유지되지 않습니다. Facebook은 Caligraphus라는 후임자를 개발했으며 오픈 소스가 아닙니다. 대안 목록은 다음과 같습니다.

  • Syslog : 모든 Linux 배포판에 설치되었습니다
  • 유동성: C+Ruby 기반 Lightweight Logger, 로그를 JSON 스트림으로 처리합니다.
  • 연도: Cloudera에서 개발, Java로 작성되었으며 Hadoop 생태계와 잘 작동합니다.
  • 아파치 카프카: 링크드 인, 풀 기반 아키텍처에서 개발되었습니다
  • Scribe : Facebook에 의해 오픈 소스이지만 더 이상 유지되지 않음

면책 조항 : 저는 Fluentd 프로젝트의 커밋 자입니다.

인프라 로그 (예 : 시스템 수준)에만 집중하려는 경우 Syslog가 좋습니다. 나는 그 말을 들었다 Kiwi Syslog 서버 나 자신을 시도하지는 않았지만 좋은 것입니다. 반면에, 응용 프로그램 관련 내용을 기록하려면 Syslog가 가장 좋은 옵션이 아닐 수도 있습니다. Apache 로깅 서비스 (Log4J, Log4XXX 및 나머지)를 사용하는 경우 로그 페이스 한 곳에서 여러 응용 프로그램을 집계하기 위해 특히 구축되었으므로 좋은 솔루션이 될 것입니다. TCP 또는 UDP 연결과 함께 작동하며 괜찮은 로그 뷰어 및 데이터베이스 통합이 있습니다.

폭로: 저는이 제품의 저자입니다.

다른 예는 좋을지 모르지만 행운을 빕니다 syslog-ng. 매우 유연하고 구성 가능합니다. 그것을 집어 들고 빠르게 유용한 일을하는 것은 매우 쉽습니다.

SNMP 알림 사용을 고려할 수도 있습니다.

이 스레드에서 권장되는 모든 대안을 검토했습니다. 파이썬이 구동되는 것을 찾았습니다. 더 많은 검색을하고 센트리를 찾았습니다 https://getsentry.com/welcome/ 잘 문서화 된 오픈 소스. 상위를 기반으로 한 비즈니스가 있으므로 광고에 신뢰할 수 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top