Согласно сообщению Магнуса, вы неправильно используете функцию сопоставления grok, @timestamp — это имя системного поля, которое logstash использует в качестве временной метки, по которой было получено сообщение, а не имя шаблона grok.
Сначала я рекомендую вам взглянуть на некоторые шаблоны grok по умолчанию, которые вы можете использовать, которые можно найти здесь, то я также рекомендую вам использовать отладчик grok, наконец, если ничего не помогает, зайдите на irc-канал #logstash (на freenode), мы там довольно активны, так что я уверен, что кто-то вам поможет.
Просто чтобы помочь вам, я создал быстрый шаблон grok, который должен соответствовать вашему примеру (я использовал только отладчик grok, чтобы проверить это, поэтому результаты в производстве могут быть не идеальными — так что проверьте!)
filter {
grok {
match => [ "message", "%{TIMESTAMP_ISO8601}\|\ %{WORD}\|\ %{GREEDYDATA}\ min/avg/max:\ %{NUMBER:minimum}/%{NUMBER:average}/%{NUMBER:maximum}" ]
}
}
Чтобы немного объяснить, %{TIMESTAMP_ISO8601} — это шаблон grok по умолчанию, который соответствует метке времени в вашем примере.
Вы заметите использование \ довольно часто, так как символы, следующие за этим, должны быть экранированы (поскольку мы используем механизм регулярных выражений, а пробелы, каналы и т. д. имеют значение, экранируя их, мы отключаем это значение и используем их буквально) .
Я использовал шаблон %{GREEDYDATA}, так как он будет захватывать что угодно, это может быть полезно, когда вы просто хотите захватить остальную часть сообщения, если вы поместите его в конец шаблона grok, он захватит весь оставшийся текст. Затем я взял немного из вашего примера (min/avg/max), чтобы не дать GREEDYDATA захватить остальную часть сообщения, так как после этого нам нужны данные.
%{NUMBER}, очевидно, будет захватывать числа, но бит после : внутри фигурных скобок определяет имя, которое поле будет присвоено logstash и впоследствии сохранено в elasticsearch.
Надеюсь, это поможет!
person
Rumbles
schedule
28.04.2015
@timestamp
— это имя поля, а не шаблон. Но где в сообщении указана загрузка ЦП? 0,00%? - person Magnus Bäck   schedule 28.04.2015