logstash 필터 예제

보다 현실적인 예로, 파일에서 이러한 로그를 읽어 봅시다: 소스 구성 옵션은 로그의 어떤 필드가 구문 분석할 JSON인지 정의합니다. 이 예제에서 전체 메시지 필드는 JSON입니다. 또한 대상 옵션을 사용하여 JSON을 log라는 필드 내의 데이터 구조로 확장하고 있습니다. 예를 들어 메시지 필드에 syslog 줄이 있는 경우 다음과 같이 일치하는 부분으로 메시지 필드를 덮어쓸 수 있습니다. 당신의 제안에 따라 나는 아래에 언급 한 대로 변경했다 … 어떻게 든 logstash가 1 분마다 실패하고 실행되지 않습니다 … 당신은 내가 잘못 Syslog로 가서 Logstash에 대한 가장 일반적인 사용 사례 중 하나입니다 저를 제안 할 수 있습니다, 하나는 (로그 라인이 RFC3164에 대략 준수하는 한) 대단히 잘 처리합니다. Syslog는 사실상 UNIX 네트워크 로깅 표준으로 클라이언트 컴퓨터에서 로컬 파일로 메시지를 보내거나 rsyslog를 통해 중앙 집중식 로그 서버로 메시지를 전송합니다. 이 예제에서는 작동하는 syslog 인스턴스가 필요하지 않습니다.

우리는 당신이 무슨 일이 일어나는지에 대한 느낌을 얻을 수 있도록 명령 줄에서 가짜 거야. 패턴은 일치하는 값을 새 필드에 저장할 수 있습니다. grok 필터에서 필드 이름 지정: Grok 필터는 로그에서 만날 수 있는 일반적인 데이터 형식 및 식(예: IP, 사용자 이름, 전자 메일, 호스트 이름 등)에 대해 다양한 정규식 및 패턴이 함께 제공됩니다. Logstash가 로그를 읽을 때 이러한 패턴을 사용하여 구조화된 필드로 전환하려는 로그 메시지의 의미 체계 요소를 찾을 수 있습니다. 이 예제에서는 Logstash가 네 개의 응용 프로그램 상자 각각에서 실행되고 있습니다. 각 독립적인 구성은 처리된 이벤트를 중앙 집중식 ElasticSearch 클러스터로 보냅니다. 이렇게 하면 확장할 수 있지만 로그 처리 리소스가 응용 프로그램 리소스와 경쟁하고 있음을 의미합니다. 이 예제에서는 Syslog에 추가하는 Syslog를 기반으로 하는 기존 중앙 집중식 로깅 인프라를 보여 주며 있습니다.

여기서 Logstash는 중앙 집중식 로깅 상자에 설치되고 rsyslog의 파일 출력을 사용하도록 구성됩니다. 그런 다음 처리된 결과가 ElasticSearch로 전송됩니다. 필터{ json{ 소스 => “메시지” } 경우 ([메시지] =~ “HealthChecker”) { drop {} } } 예를 들어, 위와 같이 postfix 큐 ID 예제를 수행: gsub 필터를 사용하여 메시지의 첫 번째 부분(정규식일 수 있음)을… 거의 아무것도. 다음 예제에서는 Logstash를 구성하여 이벤트를 필터링하고, 아파치 로그 및 syslog 메시지를 처리하고, 조건문을 사용하여 필터 또는 출력에서 처리되는 이벤트를 제어하는 방법을 보여 줍니다. 참고: CentOS와 같은 RedHat 변형을 사용하는 경우 로그는 예제에서 사용되는 /var/log/apache2 대신 /var/log/httpd에 있습니다. 따라서 Grok 필터는 텍스트 패턴을 로그와 일치하는 것으로 결합하여 작동합니다. Grok 패턴을 정의 하 여 검색 할 데이터를 Grok말할 수 있습니다: %{SYNTAX:SEMANTIC} rsyslog에서 두 개의 서버로 전달 하려는 경우 두 작업을 정의 해야 합니다.

Geplaatst in Geen categorie