comparison xml/ru/docs/stream/ngx_stream_log_module.xml @ 1776:8d0372178e00

Documented the ngx_stream_log_module module.
author Yaroslav Zhuravlev <yar@nginx.com>
date Wed, 07 Sep 2016 19:42:32 +0300
parents xml/ru/docs/http/ngx_http_log_module.xml@080b36ad8d76
children 8b1ef02c8686
comparison
equal deleted inserted replaced
1775:a469e77d446f 1776:8d0372178e00
1 <?xml version="1.0"?>
2
3 <!--
4 Copyright (C) Nginx, Inc.
5 -->
6
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
8
9 <module name="Модуль ngx_stream_log_module"
10 link="/ru/docs/stream/ngx_stream_log_module.html"
11 lang="ru"
12 rev="1">
13
14 <section id="summary">
15
16 <para>
17 Модуль <literal>ngx_stream_log_module</literal> записывает логи сессий
18 в указанном формате.
19 </para>
20
21 </section>
22
23
24 <section id="example" name="Пример конфигурации">
25
26 <para>
27 <example>
28 log_format basic '$remote_addr [$time_local] '
29 '$protocol $status $bytes_sent $bytes_received '
30 ' $session_time';
31
32 access_log /spool/logs/nginx-access.log basic buffer=32k;
33 </example>
34 </para>
35
36 </section>
37
38
39 <section id="directives" name="Директивы">
40
41 <directive name="access_log">
42 <syntax>
43 <value>путь</value>
44 <value>формат</value>
45 [<literal>buffer</literal>=<value>размер</value>]
46 [<literal>gzip[=<value>степень</value>]</literal>]
47 [<literal>flush</literal>=<value>время</value>]
48 [<literal>if</literal>=<value>условие</value>]</syntax>
49 <syntax><literal>off</literal></syntax>
50 <default>off</default>
51 <context>stream</context>
52 <context>server</context>
53
54 <para>
55 Задаёт путь, <link id="log_format">формат</link>
56 и настройки буферизованной записи в лог.
57 На одном уровне может использоваться несколько логов.
58 Запись в <link doc="../syslog.xml">syslog</link>
59 настраивается указанием префикса
60 “<literal>syslog:</literal>” в первом параметре.
61 Специальное значение <literal>off</literal> отменяет все директивы
62 <literal>access_log</literal> для текущего уровня.
63 </para>
64
65 <para>
66 Если задан размер буфера с помощью параметра <literal>buffer</literal> или
67 указан параметр <literal>gzip</literal>, то запись будет
68 буферизованной.
69 <note>
70 Размер буфера должен быть не больше размера атомарной записи в дисковый файл.
71 Для FreeBSD этот размер неограничен.
72 </note>
73 </para>
74
75 <para>
76 При включённой буферизации данные записываются в файл:
77 <list type="bullet">
78
79 <listitem>
80 если очередная строка лога не помещается в буфер;
81 </listitem>
82
83 <listitem>
84 если данные в буфере находятся дольше интервала времени, заданного
85 параметром <literal>flush</literal>;
86 </listitem>
87
88 <listitem>
89 при <link doc="../control.xml">переоткрытии</link> лог-файла или
90 завершении рабочего процесса.
91 </listitem>
92
93 </list>
94 </para>
95
96 <para>
97 Если задан параметр <literal>gzip</literal>, то буфер будет сжиматься перед
98 записью в файл.
99 Степень сжатия может быть задана в диапазоне от 1 (быстрее, но хуже сжатие)
100 до 9 (медленнее, но лучше сжатие).
101 По умолчанию используются буфер размером 64К байт и степень сжатия 1.
102 Данные сжимаются атомарными блоками, и в любой момент времени лог-файл может
103 быть распакован или прочитан с помощью утилиты “<literal>zcat</literal>”.
104 </para>
105
106 <para>
107 Пример:
108 <example>
109 access_log /path/to/log.gz basic gzip flush=5m;
110 </example>
111 </para>
112
113 <para>
114 <note>
115 Для поддержки gzip-сжатия логов nginx должен быть собран с библиотекой zlib.
116 </note>
117 </para>
118
119 <para>
120 В пути файла можно использовать переменные,
121 но такие логи имеют некоторые ограничения:
122 <list type="bullet">
123
124 <listitem>
125 <link doc="../ngx_core_module.xml" id="user">пользователь</link>,
126 с правами которого работают рабочие процессы, должен
127 иметь права на создание файлов в каталоге с такими логами;
128 </listitem>
129
130 <listitem>
131 не работает буферизация;
132 </listitem>
133
134 <listitem>
135 файл открывается для каждой записи в лог и сразу же после записи закрывается.
136 Следует однако иметь в виду, что поскольку дескрипторы часто используемых файлов
137 могут храниться в <link id="open_log_file_cache">кэше</link>,
138 то при вращении логов в течение времени, заданного параметром
139 <literal>valid</literal> директивы <link id="open_log_file_cache"/>,
140 запись может продолжаться в старый файл.
141 </listitem>
142
143 </list>
144 </para>
145
146 <para>
147 Параметр <literal>if</literal> включает условную запись в лог.
148 Сессия не будет записываться в лог, если результатом вычисления
149 <value>условия</value> является “0” или пустая строка.
150 </para>
151
152 </directive>
153
154
155 <directive name="log_format">
156 <syntax>
157 <value>название</value>
158 <value>строка</value> ...</syntax>
159 <default></default>
160 <context>stream</context>
161
162 <para>
163 Задаёт формат лога, например:
164 <example>
165 log_format proxy '$remote_addr [$time_local] '
166 '$protocol $status $bytes_sent $bytes_received'
167 '$session_time "$upstream_addr"'
168 '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connection_time" ';
169 </example>
170 </para>
171
172 </directive>
173
174
175 <directive name="open_log_file_cache">
176
177 <syntax>
178 <literal>max</literal>=<value>N</value>
179 [<literal>inactive</literal>=<value>время</value>]
180 [<literal>min_uses</literal>=<value>N</value>]
181 [<literal>valid</literal>=<value>время</value>]</syntax>
182 <syntax><literal>off</literal></syntax>
183 <default>off</default>
184 <context>stream</context>
185 <context>server</context>
186
187 <para>
188 Задаёт кэш, в котором хранятся дескрипторы файлов часто используемых
189 логов, имена которых заданы с использованием переменных.
190 Параметры директивы:
191 <list type="tag">
192
193 <tag-name><literal>max</literal></tag-name>
194 <tag-desc>
195 задаёт максимальное число дескрипторов в кэше;
196 при переполнении кэша наименее востребованные (LRU)
197 дескрипторы закрываются
198 </tag-desc>
199
200 <tag-name><literal>inactive</literal></tag-name>
201 <tag-desc>
202 задаёт время, после которого закэшированный дескриптор закрывается,
203 если к нему не было обращений в течение этого времени;
204 по умолчанию 10 секунд
205 </tag-desc>
206
207 <tag-name><literal>min_uses</literal></tag-name>
208 <tag-desc>
209 задаёт минимальное число использований файла в течение
210 времени, заданного параметром <literal>inactive</literal>,
211 после которого дескриптор файла будет оставаться открытым в кэше;
212 по умолчанию 1
213 </tag-desc>
214
215 <tag-name><literal>valid</literal></tag-name>
216 <tag-desc>
217 задаёт, через какое время нужно проверять, что файл ещё
218 существует под тем же именем;
219 по умолчанию 60 секунд
220 </tag-desc>
221
222 <tag-name><literal>off</literal></tag-name>
223 <tag-desc>
224 запрещает кэш
225 </tag-desc>
226
227 </list>
228 </para>
229
230 <para>
231 Пример использования:
232 <example>
233 open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;
234 </example>
235 </para>
236
237 </directive>
238
239 </section>
240
241 </module>