1
0
mirror of https://github.com/php/doc-ja.git synced 2026-04-24 16:38:16 +02:00
Files
archived-doc-ja/reference/fpm/status.xml
T

344 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: a4429100780d1d0d6ce204c11ad223f6526990ab Maintainer: mumumu Status: ready -->
<sect1 xml:id="fpm.status" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>FPM の情報ページ</title>
<para>
このページは、FPM の情報ページをセットアップする方法の説明と、
表示される内容について記しています。
<function>fpm_get_status</function> も参照ください。
</para>
<sect2 xml:id="fpm.status.configuration">
<title>設定</title>
<para>
FPM の情報ページは、
FPM プールの設定にある
<link linkend="pm.status-path">pm.status_path</link>
パラメータを設定することで有効にできます。
</para>
<caution>
<para>
セキュリティを考慮して、
FPM の情報ページへのアクセスは、
内部的なリクエスト
または既知のクライアントIPからのリクエストに限定すべきです。
なぜなら、この情報ページはリクエストURLや、
利用可能なリソースに関する情報を晒してしまっているからです。
</para>
</caution>
<para>
ウェブサーバーの設定によっては、
PHP スクリプトをバイパスさせ、
このパスへの直接アクセスを許可する必要があるかもしれません。
Unix Domain Socket(UDS) 経由で listen している FPM と
Apache を設定する例は、下記のようになります。
ここでは、
<literal>pm.status_path</literal><literal>/fpm-status</literal>
を設定しています:
</para>
<informalexample>
<programlisting role="apache-conf">
<![CDATA[
<LocationMatch "/fpm-status">
Order Allow,Deny
Allow from 127.0.0.1
ProxyPass "unix:/var/run/php-fpm.sock|fcgi://localhost/fpm-status"
</LocationMatch>
]]>
</programlisting>
</informalexample>
<para>
FPM とウェブサーバーをリロードまたは再起動した後、
情報ページがブラウザからアクセスできるようになっているはずです。
(IP アドレス制限が設定されている場合は、
リクエストが許可したIPアドレスから来ている場合に限ります)
</para>
</sect2>
<sect2 xml:id="fpm.status.parameters">
<title>クエリパラメータ</title>
<para>
情報ページの出力フォーマットは、以下のクエリパラメータのうちひとつを指定することで変更できます:
</para>
<simplelist>
<member><literal>html</literal></member>
<member><literal>json</literal></member>
<member><literal>openmetrics</literal></member>
<member><literal>xml</literal></member>
</simplelist>
<para>
クエリパラメータ <literal>full</literal> を使うことで、
追加の情報を出力させることもできます。
</para>
<para>
情報ページのURLの例は、下記のとおりです:
</para>
<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&amp;full</literal>
- HTML フォーマットで、全ての情報を出力します。
</member>
</simplelist>
</sect2>
<sect2 xml:id="fpm.status.contents">
<title>表示される情報</title>
<para>
日付/時刻 の値は、JSON と XML 出力では Unixタイムスタンプを使います。
それ以外の場合は、
<literal>"03/Jun/2021:07:21:46 +0100"</literal>
のようなフォーマットを使います。
</para>
<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>
<para>
プールに特有の全ての値は、FPM が再起動されるとリセットされます。
</para>
</note>
<note>
<para>
OpenMetrics フォーマットの出力は、
OpenMetrics に準拠した、異なるパラメータタイプを使います。
出力のパラメータとその説明は、
OpenMetrics フォーマット出力に含まれています。
</para>
</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
-->