logstash의 Filter 설정
                                            
 12310 단어  Logstash
                    
[sqczm@sqczm logstash-6.7.1]$ pwd
/opt/logstash-6.7.1
[sqczm@sqczm logstash-6.7.1]$ ls demo/second/
events.txt  second.conf
[sqczm@sqczm logstash-6.7.1]$ more demo/second/events.txt 
2019-04-20 20:21:00 64 bytes from 8.8.8.8: icmp_seq=1 ttl=64 time=1.720 ms
2019-04-20 20:21:01 64 bytes from 8.8.8.8: icmp_seq=2 ttl=64 time=2.197 ms
[sqczm@sqczm logstash-6.7.1]$ more demo/second/second.conf 
input {
    file {
        path => ["/opt/logstash-6.7.1/demo/second/events.txt"]
        start_position => "beginning"
    }
}
filter {
    
}
output {
    stdout {}
}
[sqczm@sqczm logstash-6.7.1]$ bin/logstash -f demo/second/second.conf 
……        ……
{
      "@version" => "1",
          "host" => "sqczm",
    "@timestamp" => 2019-04-20T12:28:58.365Z,
       "message" => "2019-04-20 20:21:01 64 bytes from 8.8.8.8: icmp_seq=2 ttl=64 time=2.197 ms",
          "path" => "/opt/logstash-6.7.1/demo/second/events.txt"
}
{
      "@version" => "1",
          "host" => "sqczm",
    "@timestamp" => 2019-04-20T12:28:58.323Z,
       "message" => "2019-04-20 20:21:00 64 bytes from 8.8.8.8: icmp_seq=1 ttl=64 time=1.720 ms",
          "path" => "/opt/logstash-6.7.1/demo/second/events.txt"
}
  위에서 설명한 데이터를 살펴보면 다음과 같은 기능을 수행하는 것이 매우 간단합니다.
위의 이 의문을 가지고 우리는 어떻게 실현하는지 보았다.우선, @timestamp 필드를 교체해야 합니다. 이 필드를 바꾸려면logstash-filter-date 플러그인이 필요합니다. 이 플러그인에 대한 상세한 설명은 아래의 주소logstash-filter-date 상세한 설명을 보면 logstash-filter-date 이 플러그인을 이해한 것 같습니다. 우리는 또 다른 플러그인을 알아야 합니다. 이 플러그인은logstash-filter-grok입니다.정규 해석 텍스트에 대한 정보를 쓰기 위해서, 이 플러그인에 대한 상세한 설명은 아래의 사이트 주소logstash-filter-grok에 있는 상세한 설명을 보십시오
위의 두 플러그인을 이해한 후에 우리는 우리의 요구 기능을 실현할 것이다
[sqczm@sqczm logstash-6.7.1]$ pwd
/opt/logstash-6.7.1
[sqczm@sqczm logstash-6.7.1]$ rm data/plugins/inputs/file/.sincedb_814435f84c5f13c338c4625fd2af163b 
[sqczm@sqczm logstash-6.7.1]$ more demo/second/second.conf 
input {
    file {
        path => ["/opt/logstash-6.7.1/demo/second/events.txt"]
        start_position => "beginning"
    }
}
filter {
    grok {
        match => { "message" => "%{TIMESTAMP_ISO8601:logdate} %{NUMBER:bytes} by
tes from %{IP:ip}: icmp_seq=%{NUMBER:icmp_seq} ttl=%{NUMBER:ttl} time=%{NUMBER:t
ime} ms" }
    }
    date {
        match => [ "logdate", "yyyy-MM-dd HH:mm:ss"]
    }
}
output {
    stdout {}
}
[sqczm@sqczm logstash-6.7.1]$ bin/logstash -f demo/second/second.conf 
……        ……
{
       "message" => "2019-04-20 20:21:01 64 bytes from 8.8.8.8: icmp_seq=2 ttl=64 time=2.197 ms",
      "icmp_seq" => "2",
          "host" => "sqczm",
         "bytes" => "64",
            "ip" => "8.8.8.8",
          "time" => "2.197",
          "path" => "/opt/logstash-6.7.1/demo/second/events.txt",
      "@version" => "1",
       "logdate" => "2019-04-20 20:21:01",
           "ttl" => "64",
    "@timestamp" => 2019-04-20T12:21:01.000Z
}
{
       "message" => "2019-04-20 20:21:00 64 bytes from 8.8.8.8: icmp_seq=1 ttl=64 time=1.720 ms",
      "icmp_seq" => "1",
          "host" => "sqczm",
         "bytes" => "64",
            "ip" => "8.8.8.8",
          "time" => "1.720",
          "path" => "/opt/logstash-6.7.1/demo/second/events.txt",
      "@version" => "1",
       "logdate" => "2019-04-20 20:21:00",
           "ttl" => "64",
    "@timestamp" => 2019-04-20T12:21:00.000Z
}
  이로써 우리의 기능은 이미 실현되었다. 플러그인에서 비교적 번거로운 것은grok 부분이다. 사실 이 플러그인은 우리에게 많은 정규를 제공했다. 공식 문서에서 설명한 바와 같이 이러한 정규는 아래의 사이트에서 내장된 정규를 찾을 수 있다. 물론 당신이 직접 정규를 쓰면 아래의 사이트를 사용하여 Grok 정규 검증을 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
logstash를 Docker로 이동하여 Elastic Cloud에 데이터를 업로드해 봅니다.환경: Elasticsearch는 Elastic Cloud 사용 logstash: 7.9.1 metricbeat: 7.9.1 Elastic Cloud는 설정이 끝난 것으로 한다. Cloud Id, 패스워드도 메모가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.