-
Notifications
You must be signed in to change notification settings - Fork 82
Expand file tree
/
Copy pathstatus.xml
More file actions
340 lines (320 loc) · 10.9 KB
/
status.xml
File metadata and controls
340 lines (320 loc) · 10.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: fa98755da49828e6a37049bdaf7bd16aa8adf879 Maintainer: mumumu Status: ready -->
<sect1 xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="fpm.status">
<title>FPM の情報ページ</title>
<simpara>
このページは、FPM の情報ページをセットアップする方法の説明と、
表示される内容について記しています。
<function>fpm_get_status</function> も参照ください。
</simpara>
<sect2 xml:id="fpm.status.configuration">
<title>設定</title>
<simpara>
FPM の情報ページは、
FPM プールの設定にある
<link linkend="pm.status-path">pm.status_path</link>
パラメータを設定することで有効にできます。
</simpara>
<caution>
<simpara>
セキュリティを考慮して、
FPM の情報ページへのアクセスは、
内部的なリクエスト
または既知のクライアントIPからのリクエストに限定すべきです。
なぜなら、この情報ページはリクエストURLや、
利用可能なリソースに関する情報を晒してしまっているからです。
</simpara>
</caution>
<simpara>
ウェブサーバーの設定によっては、
PHP スクリプトをバイパスさせ、
このパスへの直接アクセスを許可する必要があるかもしれません。
Unix Domain Socket(UDS) 経由で listen している FPM と
Apache を設定する例は、下記のようになります。
ここでは、
<literal>pm.status_path</literal> に <literal>/fpm-status</literal>
を設定しています:
</simpara>
<informalexample>
<programlisting role="apache-conf">
<![CDATA[
<LocationMatch "/fpm-status">
Require local
ProxyPass "unix:/var/run/php-fpm.sock|fcgi://localhost/"
</LocationMatch>
]]>
</programlisting>
</informalexample>
<simpara>
FPM とウェブサーバーをリロードまたは再起動した後、
情報ページがブラウザからアクセスできるようになっているはずです。
(IP アドレス制限が設定されている場合は、
リクエストが許可したIPアドレスから来ている場合に限ります)
</simpara>
</sect2>
<sect2 xml:id="fpm.status.parameters">
<title>クエリパラメータ</title>
<simpara>
情報ページの出力フォーマットは、以下のクエリパラメータのうちひとつを指定することで変更できます:
</simpara>
<simplelist>
<member><literal>html</literal></member>
<member><literal>json</literal></member>
<member><literal>openmetrics</literal></member>
<member><literal>xml</literal></member>
</simplelist>
<simpara>
クエリパラメータ <literal>full</literal> を使うことで、
追加の情報を出力させることもできます。
</simpara>
<simpara>
情報ページのURLの例は、下記のとおりです:
</simpara>
<simplelist>
<member>
<literal>https://localhost/fpm-status</literal>
- デフォルトのテキストフォーマットで、概要を出力します。
</member>
<member>
<literal>https://localhost/fpm-status?full</literal>
- デフォルトのテキストフォーマットで、全ての情報を出力します。
</member>
<member>
<literal>https://localhost/fpm-status?json</literal>
- JSON で 概要を出力します。
</member>
<member>
<literal>https://localhost/fpm-status?html&full</literal>
- HTML フォーマットで、全ての情報を出力します。
</member>
</simplelist>
</sect2>
<sect2 xml:id="fpm.status.contents">
<title>表示される情報</title>
<simpara>
日付/時刻 の値は、JSON と XML 出力では Unixタイムスタンプを使います。
それ以外の場合は、
<literal>"03/Jun/2021:07:21:46 +0100"</literal>
のようなフォーマットを使います。
</simpara>
<table>
<title>基本情報 - 常に表示されます</title>
<tgroup cols="2">
<thead>
<row>
<entry>パラメータ</entry>
<entry>説明</entry>
</row>
</thead>
<tbody>
<row>
<entry>pool</entry>
<entry>FPM プロセスプールの名前</entry>
</row>
<row>
<entry>proccess manager</entry>
<entry>プロセスマネージャーのタイプ - static, dynamic, または ondemand.</entry>
</row>
<row>
<entry>start time</entry>
<entry>プロセスプールが最後に起動した日付/時刻</entry>
</row>
<row>
<entry>start since</entry>
<entry>プロセスプールが最後に起動してから経過した秒数</entry>
</row>
<row>
<entry>accepted conn</entry>
<entry>受け入れた接続の合計数</entry>
</row>
<row>
<entry>listen queue</entry>
<entry>空きのプロセスを待っている(backlogに入っている)現在のリクエスト数</entry>
</row>
<row>
<entry>max listen queue</entry>
<entry>ある一時点でlisten キューに入ったリクエストの最大数</entry>
</row>
<row>
<entry>listen queue len</entry>
<entry>許可されているlisten キューの最大サイズ</entry>
</row>
<row>
<entry>idle processes</entry>
<entry>(リクエストを待っている)現在アイドルなプロセス数</entry>
</row>
<row>
<entry>active processes</entry>
<entry>現在リクエストを処理しているプロセス数</entry>
</row>
<row>
<entry>total processes</entry>
<entry>現在のプロセスの合計数</entry>
</row>
<row>
<entry>max active processes</entry>
<entry>同時にアクティブになったプロセスの最大数</entry>
</row>
<row>
<entry>max children reached</entry>
<entry>
プロセスの最大数に達したことがあるかを示します。
ある場合、表示は <literal>1</literal> 以上になります。
ない場合、表示は <literal>0</literal> になります。
</entry>
</row>
<row>
<entry>slow requests</entry>
<entry>
設定した <literal>request_slowlog_timeout</literal>
に到達したリクエストの合計
</entry>
</row>
<row>
<entry>memory peak</entry>
<entry>
FPM が起動してからのメモリ使用量の最大値
</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>プロセス単位の情報 - 出力モードが <literal>full</literal> の場合にだけ表示されます</title>
<tgroup cols="2">
<thead>
<row>
<entry>パラメータ</entry>
<entry>説明</entry>
</row>
</thead>
<tbody>
<row>
<entry>pid</entry>
<entry>プロセスの PID</entry>
</row>
<row>
<entry>state</entry>
<entry>プロセスの状態 - Idle, Running, ...</entry>
</row>
<row>
<entry>start time</entry>
<entry>プロセスが起動した日付/時刻</entry>
</row>
<row>
<entry>start since</entry>
<entry>プロセスが起動後、経過した秒数</entry>
</row>
<row>
<entry>requests</entry>
<entry>処理したリクエスト数</entry>
</row>
<row>
<entry>request duration</entry>
<entry>直近のリクエストを処理するのに使った時間の合計(ミリ秒単位)</entry>
</row>
<row>
<entry>request method</entry>
<entry>直近のリクエストの HTTP メソッド</entry>
</row>
<row>
<entry>request uri</entry>
<entry>
最後に処理したリクエストのURL(webサーバーが処理した後のもの。フロントコントローラーパターンを使っている場合、常に <literal>/index.php</literal> になる場合があります)
</entry>
</row>
<row>
<entry>content length</entry>
<entry>直近のリクエストの、body の長さ(バイト単位)</entry>
</row>
<row>
<entry>user</entry>
<entry>直近のリクエストの HTTP ユーザー (<literal>PHP_AUTH_USER</literal>)</entry>
</row>
<row>
<entry>script</entry>
<entry>
直近のリクエストで実行されたスクリプトのフルパス。
適用できない場合(例: FPM 情報ページへのリクエスト)は、
<literal>'-'</literal> になります。
</entry>
</row>
<row>
<entry>last request cpu</entry>
<entry>
直近のリクエストの、%cpu の値。
プロセスがアイドルでない場合、この値は0になります。
なぜなら、リクエストの処理が終わった時にこの値は計算されるからです。
この値は100%を超えることがあります。
なぜならこのメトリクスは、
直近のリクエストで使われたCPU時間の合計をパーセント単位で示すからです -
つまりこの値はすべてのコアのプロセスを考慮しますが、
コアがひとつの場合は、100% になります。
</entry>
</row>
<row>
<entry>last request memory</entry>
<entry>
直近のリクエストが消費したメモリの最大値。
プロセスがアイドルでない場合、この値は0になります。
なぜなら、リクエストの処理が終わった時にこの値は計算されるからです。
</entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<simpara>
プールに特有の全ての値は、FPM が再起動されるとリセットされます。
</simpara>
</note>
<note>
<simpara>
OpenMetrics フォーマットの出力は、
OpenMetrics に準拠した、異なるパラメータタイプを使います。
出力のパラメータとその説明は、
OpenMetrics フォーマット出力に含まれています。
</simpara>
</note>
</sect2>
<sect2 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.1.0</entry>
<entry>openmetrics フォーマットが追加されました。</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->