2015-08-19 5 views
1

Я использую файлы журнала fluentd для хвоста и подталкиваю журналы к индексу эластичного поиска. У меня есть два вопроса:fluentd in_tail plugin pos_file content format

1) Как fluentd сохраняет позицию, которую последний раз считывал для данного файла? пример в моем файле поз является -

/myfolder/myfile.log  00000000004cfccb  0000000000116ce0 

Что значения 00000000004cfccb и 0000000000116ce0 обозначают?

2) Этот файл (myfile.log) содержит 2520 строк. По какой-то причине последние 100 строк не были прочитаны. Я перезапустил агент td, но он все еще не смог прочитать последние 100 строк. Когда это может произойти?

Мой источник TD-агент выглядит примерно так -

<source> 
    type tail 
    format none 
    path /myfolder/*.log 
    pos_file /var/log/td-agent/mylogfiles.pos 
    tag mylog.* 
    read_from_head true 
</source> 

Спасибо,

ответ

0

От fluentd Docs

может быть указано Регулярное выражение для параметра формата. Если значение параметра начинается и заканчивается на «/», оно считается регулярным выражением. Регулярное выражение должно иметь по крайней мере один именованный захват (? PATTERN). Если regexp имеет захват с именем «время», он используется как время события . Вы можете указать формат времени, используя параметр time_format .

+0

К сожалению, я не вижу, как это отвечает любой из двух моих вопросов. Атрибут формата, по-видимому, связан с форматом содержимого журнала в считываемом файле журнала, который может использоваться для анализа содержимого журнала. Я имею в виду содержимое pos-файла. – ksrini

1

Для 1, см. Этот комментарий: https://github.com/fluent/fluentd/blob/5ed4b29ebda0815edb7bdd444e7e5ca2e9874a27/lib/fluent/plugin/in_tail.rb#L652. Hex количество позиций в файле и inode файла.

Для 2, включение событий в файл также 2420 строк? Вы можете проверить проблему в файле in_tail или out_elasticsearch ниже.

<match mylog.*> 
    type copy 
    <store> 
    type file 
    </store> 
    <store> 
    type elasticsearch 
    </store> 
</match> 
0

1) настоятельно рекомендуется pos_file /var/log/td-agent/mylogfiles.pos

выше параметра. Fluentd будет записывать позицию, которую он последний раз читал в этот файл. Когда-либо перезапуске TD-агент это прочитать файл последнего индекса т (mylogfiles.pos internaly генерироваться следующие значения: ех 00000000004cfccb и 0000000000116ce0 эти значения могут заменяться при TD-агент рестарт)

2) Пожалуйста, следуйте ниже URL https://docs.fluentd.org/v1.0/articles/in_tail#read_lines_limit

read_from_head истинного удалить и попробовать один раз