Mercurial > hg > nginx-site
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> |