I did a quick test and came up with this.
Input data (assuming the \t is a tab in the input file)
pjanzen@logstash1:~$ cat /home/pjanzen/input.txt
[05/Feb/2018:10:39:47 +0000]
pjanzen@logstash1:~$
input {
file {
path => "/home/pjanzen/input.txt"
sincedb_path => "/dev/null"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "\t\[%{GREEDYDATA:timestamp}\]\t" }
}
}
output {
stdout { codec => rubydebug }
}
The result is this.
pjanzen@logstash1:~$ sudo /usr/share/logstash/bin/logstash --path.settings=/etc/logstash -f /home/pjanzen/test.conf
Sending Logstash's logs to /opt/logstash/logs which is now configured via log4j2.properties
{
"path" => "/home/pjanzen/input.txt",
"@timestamp" => 2018-03-13T13:06:30.315Z,
"@version" => "1",
"host" => "logstash1",
"message" => "\t[05/Feb/2018:10:39:47 +0000]\t",
"timestamp" => "05/Feb/2018:10:39:47 +0000"
}
I hope this helps.