Фильтр Logsta sh для извлечения электронной почты и кредитной карты - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в logsta sh и хочу извлечь из файлов идентификаторы электронной почты и данные кредитной карты. Я использую filebeat для передачи файлов журнала в logsta sh, а также установил файл конфигурации с шаблонами grok. Однако я не могу извлечь ни emailID, ни кредитную карту. Я получаю эту ошибку:

 "tags" => [
    [0] "beats_input_codec_plain_applied",
    [1] "_grokparsefailure"

Ниже приведен мой конфигурационный файл (шаблон работает в приложении grokdebug ).

input {
      beats {
        port => 5044
        host => "0.0.0.0"
    }
}

filter {
    if [message] =~ "(?<ccNumber>\d{4}-\d{4}-\d{4})" {
        mutate { add_tag => ["ccNumber"] } 
    }
    else if [message] =~ "(?<emailID>[a-zA-Z0-9_.+=:-]+@[0-9A-Za-z][0-9A-Za-z-]{0,62}(?:\.(?:[0-9A-Za-z][0-‌​9A-Za-z-]{0,62}))*)" {
        mutate { add_tag => ["emailID"] }
    } 
    else {
        grok {
            match => {
                "message" => '%{HTTPD_COMMONLOG} "%{GREEDYDATA:referrer} %{GREEDYDATA:agent}"'
            }
        }
    }

    mutate {
        convert => {
            "response" => "integer"
            "bytes" => "integer"
        }
    }
}

output {
    stdout {
        codec => rubydebug
    }

    file {
        path => "logs\output.txt"
    }
}
...