# Logstash: формирование @timestamp, используя имя файла лога и данные самого лога (ч. 2)

**URL:** https://discuss.elastic.co/t/logstash-timestamp-2/276144
**Category:** Вопросы на русском языке
**Created:** [June 16, 2021, 1:00pm UTC](https://discuss.elastic.co/t/logstash-timestamp-2/276144 "2021-06-16T13:00:12Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![lkfmasd](https://avatars.discourse-cdn.com/v4/letter/l/2bfe46/32.png) [@lkfmasd](https://discuss.elastic.co/u/lkfmasd)
#### Post date: [June 16, 2021, 1:00pm UTC](https://discuss.elastic.co/t/logstash-timestamp-2/276144/1 "2021-06-16T13:00:12Z")

</div>

Добрый день.

Продолжение темы: [Logstash: формирование @timestamp, используя имя файла лога и данные самого лога](https://discuss.elastic.co/t/logstash-timestamp/273303).

Продублирую задачу:  
На текущий момент поле @timestamp формируется, исходя из даты, когда данные были переданы в elastic.

Подскажите пожалуйста, как в logstash полностью сформировать @timestamp при условии, что каждый файл лога содержит события за 1 час и имеет имя yymmddhh.log, где:  
● yy ‑ две последние цифры года;  
● mm ‑ номер месяца;  
● dd ‑ номер дня;  
● hh ‑ номер часа.,  
а каждое событие лога(новая строка) начинается с:  
мм:сс.тттт-д, где:  
● мм – номер минуты в текущем часе;  
● сс – номер секунды в текущей̆ минуте;  
● тттт – номер миллионной доли секунды;  
● д – длительность события в миллионных долях секунды;

Был получен совет использовать index ([Elasticsearch output plugin | Logstash Reference [7.12] | Elastic](https://www.elastic.co/guide/en/logstash/7.12/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-index)).  
Если честно, совсем не понял, как это поможет мне в формировании @timestamp (необходимо частично использовать данные из имени файла лога).  
Есть еще какие-нибудь варианты?

---

<div class="post-metadata">

### Author: ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)
#### Post date: [June 16, 2021, 6:38pm UTC](https://discuss.elastic.co/t/logstash-timestamp-2/276144/2 "2021-06-16T18:38:48Z")

</div>

> [@lkfmasd](#):
>
> Есть еще какие-нибудь варианты?

Вот очень похожая ситуация:

> [@Generate @timestamp in-logstash-by-concatenating-date-from-filename-and-time-from-logs](https://discuss.elastic.co/t/generate-timestamp-in-logstash-by-concatenating-date-from-filename-and-time-from-logs/82556):
>
> Hi, I have log file name 'log.20170410.123146.txt' and time in log entry. I want to merge date from filename and time from logs to generate @timestamp in logstash. grok { match =\> ["message", "^(?\<timestamp\_tmp\>\d{4}\d{2}\d{2} \d{2}\:\d{2}\:\d{2})"] match =\> ["path", "^\/var\/logs\/sitecore\/log\.(?\<date\_tmp\>\d{4}\d{2}\d{2})"] } mutate { add\_field =\> {"timestamp" =\> "%{date\_tmp} %{timestamp\_tmp}" } grok { match =\> ["file…

---

<div class="post-metadata">

### Author: ![lkfmasd](https://avatars.discourse-cdn.com/v4/letter/l/2bfe46/32.png) [@lkfmasd](https://discuss.elastic.co/u/lkfmasd)
#### Post date: [June 17, 2021, 5:02am UTC](https://discuss.elastic.co/t/logstash-timestamp-2/276144/3 "2021-06-17T05:02:45Z")

</div>

Игорь, спасибо, буду изучать.

---

<div class="post-metadata">

### Author: ![lkfmasd](https://avatars.discourse-cdn.com/v4/letter/l/2bfe46/32.png) [@lkfmasd](https://discuss.elastic.co/u/lkfmasd)
#### Post date: [June 22, 2021, 7:06pm UTC](https://discuss.elastic.co/t/logstash-timestamp-2/276144/4 "2021-06-22T19:06:35Z")

</div>

Задача решается буквально в несколько строк с помощью разбора содержимого трех классов:  
[log][file][path]

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 20, 2021, 7:07pm UTC](https://discuss.elastic.co/t/logstash-timestamp-2/276144/5 "2021-07-20T19:07:23Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
