대규모 로그 전송 및 집계


14

UNIX / Linux 시스템의 로그 파일을 어떻게 분석합니까? 직접 또는 syslog를 통해 자체 로그 파일을 생성하는 수백 대의 서버를 실행합니다. 나는 이것을 모으고 중요한 사건을 골라내는 알맞은 해결책을 찾고 있습니다. 이 문제는 3 가지 구성 요소로 분류됩니다.

1) 메시지 전송

고전적인 방법은 syslog를 사용하여 원격 호스트에 메시지를 기록하는 것입니다. 이것은 syslog에 로그인하는 응용 프로그램에는 적합하지만 로컬 파일에 쓰는 응용 프로그램에는 유용하지 않습니다. 이를위한 솔루션에는 syslog를 사용하여 메시지를 전송하기 위해 프로그램에 연결된 FIFO에 응용 프로그램 로그를 기록하거나 로컬 파일을 grep하고 중앙 syslog 호스트로 출력을 보내는 항목을 작성하는 것이 포함될 수 있습니다. 그러나 메시지를 syslog로 가져 오기 위해 도구를 작성하는 데 어려움을 겪는다면 syslog 보다 더 많은 유연성과 신뢰성을 제공하는 Facebook의 Scribe 와 같은 것으로 대체하는 것이 더 좋을까요?

2) 메시지 집계

로그 항목은 호스트 및 서비스의 두 가지 유형 중 하나에 해당합니다. 호스트 별 메시지는 한 시스템에서 발생하는 메시지입니다. 디스크 장애 또는 의심스러운 로그인을 생각하십시오. 서비스 별 메시지는 서비스를 실행하는 대부분 또는 모든 호스트에서 발생합니다. 예를 들어, Apache가 SSI 오류를 발견 한시기를 알고 싶지만 100 대의 컴퓨터에서 동일한 오류를 원하지 않습니다. 모든 경우에 우리는 각 유형의 메시지 중 하나만보고 싶습니다. 동일한 디스크가 고장났다는 10 개의 메시지는 원하지 않으며 SSI가 손상 될 때마다 메시지를 원하지 않습니다.

이를 해결하는 한 가지 방법은 동일한 유형의 여러 메시지를 각 호스트에서 하나의 메시지로 집계하고 중앙 서버로 메시지를 보낸 다음 동일한 종류의 메시지를 하나의 전체 이벤트로 집계하는 것입니다. SER 은이 작업을 수행 할 수 있지만 사용하기가 어렵습니다. 며칠간의 헛소리를 한 후에도 나는 기본적인 집계 만 수행했으며 SER이 이벤트를 연관시키는 데 사용하는 논리를 지속적으로 찾아야했습니다. 강력하지만 까다로운 일입니다. 동료들이 가능한 한 짧은 시간 내에 픽업하여 사용할 수있는 것이 필요합니다. SER 규칙이 해당 요구 사항을 충족하지 않습니다.

3) 경고 생성

흥미로운 일이 발생하면 관리자에게 어떻게 알립니 까? 그룹받은 편지함을 우편으로 보내시겠습니까? 나지 오스에 주사?

그렇다면이 문제를 어떻게 해결하고 있습니까? 나는 접시에 답을 기대하지 않는다. 나는 세부 사항을 스스로 해결할 수는 있지만 일반적인 문제가 무엇인지에 대한 높은 수준의 토론은 좋을 것입니다. 현재 우리는 cron 작업, syslog의 혼란을 사용하고 있으며 누가 이벤트를 찾을 수 있는지 알고 있습니다. 이것은 확장 가능하거나 유지 관리 가능하거나 유연하지 않으므로 우리가해서는 안되는 많은 것들을 그리워합니다.

업데이트 : 우리는 이미 모니터링을 위해 Nagios를 사용하고 있습니다 . 이는 다운 다운 호스트 / 테스트 서비스 등에 적합하지만 로그 파일 스크랩에 덜 유용합니다. Nagios 용 로그 플러그인이 있다는 것을 알고 있지만 호스트 별 알림보다 확장 성이 뛰어나고 계층적인 것에 관심이 있습니다.


답변:


5

로그를 중앙 집중화하기 위해 세 가지 다른 시스템을 사용했습니다.

  1. 하나의 호스트로 Syslog / syslog-ng 전달
  2. 이벤트 집계 및 경고를위한 Zenos
  3. 로그 집계 및 검색을위한 Splunk

# 3의 경우 일반적으로 syslog-ng를 사용하여 각 호스트의 메시지를 splunk로 직접 전달합니다. 로그 파일을 직접 구문 분석 할 수도 있지만 약간의 고통이 될 수 있습니다.

Splunk는 검색 및 로그 분류에 매우 좋습니다. 로그 경고에 splunk를 사용하지 않았지만 가능하다고 생각합니다.


Splunk의 경우 +1 특정 이벤트가 감지되면 Splunk가 외부 스크립트를 트리거하도록 할 수 있습니다. 메일 보내기 또는 SNMP 트랩.
Murali Suriar

2

완전한 오픈 소스 HIDS 인 OSSEC를 살펴볼 수 있으며 분석을 수행하고 작업을 트리거하거나 경고 메시지를 보낼 수 있습니다. 경고는 간단한 XML 기반 규칙 집합으로 분류되며 다양한 로그 형식에 대해 미리 정의 된 규칙이 많이 포함되어 있으며 고유 한 규칙을 추가 할 수 있습니다.

http://www.ossec.net/


1

Octopussy를 살펴보십시오 . 그것은 완전히 사용자 정의 할 수 있으며 모든 요구에 부응하는 것 같습니다 ...

추신 : 저는이 솔루션의 개발자입니다.


1
이름에 "pussy"가있는 제품을 배포하거나 권장 할 위험이 없습니다. 특히 IT 내에서 일하는 여성이있는 경우 (대부분의 회사에서는) 대부분의 회사와 잘 어울리지 않을 것입니다.
불가사리

0

모니터링 시스템 (예 : Zenoss Core) 을 조사해야합니다 . 무엇보다도 소개 페이지에 나와 있습니다.

Zenoss Event Monitoring and Management는 가용성 모니터링, 성능 모니터링, syslog 소스 , SNMP 트랩 소스, Windows 이벤트 로그를 포함한 다양한 소스의 로그 및 이벤트 정보를 집계하는 기능을 제공합니다 .

보기 - 도구 - 무슨 - 당신 - 사용 - 투 - 모니터 - 네 - 서버를 .


Zenoss에 로그 집계 기능이 있다는 것을 몰랐습니다. 감사합니다.
markdrayton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.