Zabbix4.0:Zabbix監視設定追加(php-fpm編)

Zabbixは、デフォルトの監視項目以外に「プラグイン」で監視したい項目を増やすことができます。Zabbix4.0.x監視設定に「php-fpm」を追加します。(2019/02/24作成)

高負荷 MichaelGaida / Pixabay

php-fpmとは

FPM (FastCGI Process Manager) は PHP の FastCGI 実装のひとつで、 主に高負荷のサイトで有用な追加機能を用意しています。(出典: http://php.net)

0.環境

[crayon]
$ cat /etc/system-release
Amazon Linux release 2 (Karoo)

$ zabbix_agentd –version | head -n 1
zabbix_agentd (daemon) (Zabbix) 4.0.3
[/crayon]

※Zabbixエージェントが /zabbix-agent/ ディレクトリにインストールされていることを選定にしています。

1.インストール

github / jizhang / abbix-templates / php-fpm
https://github.com/jizhang/zabbix-templates/tree/master/php-fpm

1)php-fpmの設定

※php-fpmプールの設定ファイルを開き ‘pm.status =’ ディレクティブのコメントを外します。

[crayon]
$ sudo vi /etc/php-fpm.d/www.conf

;pm.status_path = /status

pm.status_path = /php-fpm_status
[/crayon]

2)Nginxの設定

以下の行をNginxの設定に追加します。
※1 Nginxと php-fpmの通信によって「TCP」と「UNIX ドメインソケット」のを読み替えて設定します。

[crayon]
$ sudo vi /etc/nginx/nginx.conf

server {
listen 10061;
location /php-fpm_status {
# fastcgi_pass 127.0.0.1:9000; # ※1 TCP
fastcgi_pass unix:/var/run/php-fpm/www.sock; # ※1 UNIX domain socket
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
[/crayon]

php-fpmとnginxの両方を再起動した後、次のコマンドでphp-fpmのステータスが取得できるか確認をとります。

[crayon]
$ curl http://127.0.0.1:10061/php-fpm_status
pool: www
process manager: dynamic
start time: 31/Jan/2019:06:32:27 +0000
start since: 104
accepted conn: 92
listen queue: 0
max listen queue: 0
listen queue len: 0
idle processes: 14
active processes: 1
total processes: 15
max active processes: 8
max children reached: 0
slow requests: 0
[/crayon]

3)インストールスクリプト

対象ファイル: php-fpm-check.sh

[crayon]
$ sudo mkdir -p /usr/local/zabbix-agent-ops/bin

$ cd /usr/local/zabbix-agent-ops/bin

$ sudo wget https://raw.githubusercontent.com/jizhang/zabbix-templates/master/php-fpm/php-fpm-check.sh

$ sudo chmod +x php-fpm-check.sh
[/crayon]

4)ユーザパラメータを追加

対象ファイル: php-fpm-params.conf

[crayon]
$ cd /etc/zabbix/zabbix_agentd.d

$ sudo wget https://raw.githubusercontent.com/jizhang/zabbix-templates/master/php-fpm/php-fpm-params.conf

$ sudo systemctl restart zabbix-agent.service
[/crayon]

5)インポートテンプレート

対象ファイル: php-fpm-template.xml

php-fpm-template.xmlをインポートし、それをホストにリンクします。必要に応じてホストマクロ{$ PHP_FPM_STATUS_URL}を設定してください。

[crayon]
マクロ: {$PHP_FPM_STATUS_URL}
値: http://127.0.0.1:10061/php-fpm_status
[/crayon]

以上

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください