<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2</id>
	<title>Шаблоны ротации логов - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&amp;action=history"/>
	<updated>2026-10-07T18:56:48Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&amp;diff=7006&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: « = Шаблоны ротации логов = Ключ-АСТРОМ отслеживает шаблоны ротации файлов логов. Эта функция обеспечивает полноту процесса чтения файлов, даже если &#039;&#039;&#039;ЕдиныйАгент&#039;&#039;&#039; временно отключён или приложение аварийно завершилось.  == Варианты использования == Пони...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&amp;diff=7006&amp;oldid=prev"/>
		<updated>2026-10-06T17:36:04Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « = Шаблоны ротации логов = Ключ-АСТРОМ отслеживает шаблоны ротации файлов логов. Эта функция обеспечивает полноту процесса чтения файлов, даже если &amp;#039;&amp;#039;&amp;#039;ЕдиныйАгент&amp;#039;&amp;#039;&amp;#039; временно отключён или приложение аварийно завершилось.  == Варианты использования == Пони...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
= Шаблоны ротации логов =&lt;br /&gt;
Ключ-АСТРОМ отслеживает шаблоны ротации файлов логов. Эта функция обеспечивает полноту процесса чтения файлов, даже если &amp;#039;&amp;#039;&amp;#039;ЕдиныйАгент&amp;#039;&amp;#039;&amp;#039; временно отключён или приложение аварийно завершилось.&lt;br /&gt;
&lt;br /&gt;
== Варианты использования ==&lt;br /&gt;
Понимание шаблонов ротации логов актуально в следующих случаях:&lt;br /&gt;
&lt;br /&gt;
* Вы настраиваете мониторинг логов для приложения, которое выполняет ротацию файлов логов.&lt;br /&gt;
* Вам нужно убедиться, что &amp;#039;&amp;#039;&amp;#039;ЕдиныйАгент&amp;#039;&amp;#039;&amp;#039; собирает все записи логов во время ротации.&lt;br /&gt;
* Вы диагностируете пропажу данных логов, вызванную ротацией файлов.&lt;br /&gt;
&lt;br /&gt;
== Отслеживание ротации на основе имени файла ==&lt;br /&gt;
Обычно ротационные файлы логов содержат собственные идентификаторы ротации, встроенные в имена файлов. Идентификаторы ротации могут быть добавленной временной меткой или счётчиком. Например:&lt;br /&gt;
&lt;br /&gt;
* Активный файл лога без идентификатора ротации: &amp;lt;code&amp;gt;/var/log/application.log&amp;lt;/code&amp;gt;&lt;br /&gt;
* Ротационные/архивные файлы логов с добавленными идентификаторами в виде отметки даты:&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/log/application.log.20220509&lt;br /&gt;
/var/log/application.log.20220508&lt;br /&gt;
…&lt;br /&gt;
/var/log/application.log.20220503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ротационные/архивные файлы логов с добавленными идентификаторами в виде счётчика:&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/log/application.log.1&lt;br /&gt;
/var/log/application.log.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Идентификатор ротации и имя лога ===&lt;br /&gt;
В зависимости от типа файла Ключ-АСТРОМ может заменить идентификатор ротации символом &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; в процессе автообнаружения логов.&lt;br /&gt;
&lt;br /&gt;
==== Пример замены идентификатора ротации на решётку ====&lt;br /&gt;
Активный файл лога:&amp;lt;pre&amp;gt;/var/log/application20220509_060000.log&amp;lt;/pre&amp;gt;Ротационные/архивные файлы логов:&amp;lt;pre&amp;gt;/var/log/application20220509_030000.log&lt;br /&gt;
/var/log/application20220508_000000.log&lt;br /&gt;
/var/log/application20220508_210000.log&lt;br /&gt;
…&lt;br /&gt;
/var/log/application20220503_090000.log&lt;br /&gt;
определяются как /var/log/application#_#.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поддерживаемые идентификаторы ротации ===&lt;br /&gt;
Типы данных, которые могут быть заменены на &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, включают:&lt;br /&gt;
&lt;br /&gt;
* Десятичные числа любой длины.&lt;br /&gt;
* Шестнадцатеричные числа длиной не менее восьми цифр.&lt;br /&gt;
* Глобально уникальные идентификаторы (&amp;#039;&amp;#039;&amp;#039;GUID&amp;#039;&amp;#039;&amp;#039;), 128-битные текстовые строки, представляющие идентификацию (&amp;#039;&amp;#039;&amp;#039;ID&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Чтобы ротационный файл лога отслеживался, он должен содержать идентификатор ротации, перед которым и после которого стоит один из предопределённых разделителей, включая &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (точка), &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt; (дефис), &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt; (подчёркивание), &amp;lt;code&amp;gt;()&amp;lt;/code&amp;gt; (скобки) или &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt; (квадратные скобки). В случае, когда идентификатор ротации является десятичным числом, достаточно, чтобы перед ним или после него стоял предопределённый разделитель.&lt;br /&gt;
&lt;br /&gt;
Помимо явных идентификаторов ротации, видимых под символом &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, Ключ-АСТРОМ неявно поддерживает мониторинг ротационных файлов, которые:&lt;br /&gt;
&lt;br /&gt;
* Содержат десятичный суффикс, добавленный в конец имени лога.&lt;br /&gt;
* Содержат десятичный инфикс вместо любого из предопределённых разделителей (&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Примеры обнаруженных ротационных файлов логов с неявными идентификаторами ====&lt;br /&gt;
Активный файл лога: &amp;lt;code&amp;gt;/var/log/application.log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ключ-АСТРОМ обнаруживает файл с именем &amp;lt;code&amp;gt;/var/log/application.log&amp;lt;/code&amp;gt; и идентифицирует ротационные файлы во всех примерах ниже:&amp;lt;pre&amp;gt;/var/log/application.log.1&lt;br /&gt;
/var/log/application.log.2&lt;br /&gt;
…&lt;br /&gt;
/var/log/application.log.9&amp;lt;/pre&amp;gt;или&amp;lt;pre&amp;gt;/var/log/application.20220509.120000.log&lt;br /&gt;
/var/log/application.20220509.060000.log&lt;br /&gt;
/var/log/application.20220508.120000.log&lt;br /&gt;
…&lt;br /&gt;
/var/log/application.20220503.120000.log&amp;lt;/pre&amp;gt;или&amp;lt;pre&amp;gt;/var/log/application.20220509.log.1&lt;br /&gt;
/var/log/application.20220509.log.2&lt;br /&gt;
/var/log/application.20220508.log.1&lt;br /&gt;
…&lt;br /&gt;
/var/log/application.20220503.log.1&lt;br /&gt;
/var/log/application.20220503.log.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Отслеживание ротации на основе типа генерации логов ==&lt;br /&gt;
Ключ-АСТРОМ поддерживает основные типы генерации логов, включая:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ротационная генерация логов на основе правила «Индекс»&amp;#039;&amp;#039;&amp;#039;, где приложение открывает файлы один за другим и присваивает им индексные номера.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ротационная генерация логов на основе правила «Переименовать и заменить»&amp;#039;&amp;#039;&amp;#039;, где приложение пишет в файл с одним и тем же именем. Если критерий ротации выполнен (например, достигнут требуемый размер файла), открывается новый файл с тем же именем, а старый переименовывается.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ротационная генерация логов на основе правила «Копировать и усечь»&amp;#039;&amp;#039;&amp;#039;, где приложение пишет в файл с одним и тем же именем, но сама ротация выполняется внешним процессом, который после выполнения критерия ротации копирует содержимое файла в другое место и усекает содержимое исходного (активного) файла. Примером здесь служит процесс &amp;lt;code&amp;gt;logrotate&amp;lt;/code&amp;gt; в Linux.&lt;br /&gt;
&lt;br /&gt;
== Ограничения ротации логов ==&lt;br /&gt;
Сценарии, не поддерживаемые в процессе мониторинга ротационных логов, включают:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|Ротационная генерация логов с изменением директории&lt;br /&gt;
|Возможное последствие — создание дубликатов и/или неполных логов.&lt;br /&gt;
|-&lt;br /&gt;
|Ротационная генерация логов с немедленным сжатием&lt;br /&gt;
|Поддерживается в Linux с локальными дисками в &amp;#039;&amp;#039;&amp;#039;ЕдиномАгенте&amp;#039;&amp;#039;&amp;#039; версии 1.343+. На других платформах этот процесс может привести к неполной загрузке логов; сохраняйте хотя бы один несжатый ротационный файл.&lt;br /&gt;
|-&lt;br /&gt;
|Ротационная генерация логов с логикой очереди&lt;br /&gt;
|Самые старые записи логов удаляются всякий раз, когда в файл добавляется новое содержимое, что приводит к относительно постоянному размеру файла лога. Этот сценарий можно легко заменить поддерживаемой схемой ротации, например, начиная новый файл, когда текущий файл достигает предопределённого размера.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Неподдерживаемые сценарии автообнаружения ==&lt;br /&gt;
Сценарии, не поддерживаемые в процессе автообнаружения ротационных логов, включают:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ротационная генерация логов с изменением директории&amp;#039;&amp;#039;&amp;#039;. Этот процесс может привести к созданию множества неагрегированных и/или неполных логов, а также к чрезмерному использованию ресурсов.&lt;br /&gt;
&lt;br /&gt;
== Ротационная генерация логов с немедленным сжатием в Linux с локальными дисками ==&lt;br /&gt;
В &amp;#039;&amp;#039;&amp;#039;ЕдиномАгенте&amp;#039;&amp;#039;&amp;#039; версии 1.343+ в Linux с локальными дисками модуль логов &amp;#039;&amp;#039;&amp;#039;ЕдиногоАгента&amp;#039;&amp;#039;&amp;#039; сохраняет открытый дескриптор файла для растущего файла лога. Открытый дескриптор не позволяет операционной системе удалить файл с диска даже после его сжатия или удаления во время ротации. В результате &amp;#039;&amp;#039;&amp;#039;ЕдиныйАгент&amp;#039;&amp;#039;&amp;#039; полностью читает файл, прежде чем освободить дескриптор.&lt;br /&gt;
&lt;br /&gt;
Пример шаблона ротации:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/log/application.log&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/log/application.log.1.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/log/application.log.2.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/log/application.log.3.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Настройка не требуется. Обнаружение немедленного сжатия работает автоматически.&lt;br /&gt;
&lt;br /&gt;
=== Ограничения ===&lt;br /&gt;
&lt;br /&gt;
* Поддержка немедленного сжатия не применяется к шаблону ротации «Копировать и усечь». Файлы логов, ротированные путём копирования содержимого и усечения оригинала, не читаются через открытый дескриптор файла.&lt;br /&gt;
* Поддержка немедленного сжатия доступна только для источников логов с одним активным файлом.&lt;br /&gt;
* Модуль логов поддерживает максимум 2 000 открытых дескрипторов файлов для этой функции.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>