1.nginx配置增加状态
vim /app/local/nginx/conf/vhosts/php-fpm_status.conf server { listen *:81 default_server; server_name _; location /php-fpm-status { fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; } }
2.测试访问
# curl http://localhost:81/php-fpm-status pool: www process manager: static start time: 09/Jan/2017:16:09:17 +0800 start since: 176354 accepted conn: 5538266 listen queue: 0 max listen queue: 31 listen queue len: 65535 idle processes: 298 active processes: 2 total processes: 300 max active processes: 300 max children reached: 0 slow requests: 1102
3.增加监控脚本
vim php_stat.sh #!/bin/bash source /etc/bashrc >/dev/null 2>&1 source /etc/profile >/dev/null 2>&1 LOG=/usr/local/zabbix-agent/logs/phpfpmstatus.log curl -s http://127.0.0.1:81/php-fpm-status >$LOG pool(){ awk '/pool/ {print $NF}' $LOG } process_manager(){ awk '/process manager/ {print $NF}' $LOG } start_since(){ awk '/start since:/ {print $NF}' $LOG } accepted_conn(){ awk '/accepted conn:/ {print $NF}' $LOG } listen_queue(){ awk '/^(listen queue:)/ {print $NF}' $LOG } max_listen_queue(){ awk '/max listen queue:/ {print $NF}' $LOG } listen_queue_len(){ awk '/listen queue len:/ {print $NF}' $LOG } idle_processes(){ awk '/idle processes:/ {print $NF}' $LOG } active_processes(){ awk '/^(active processes:)/ {print $NF}' $LOG } total_processes(){ awk '/total processes:/ {print $NF}' $LOG } max_active_processes(){ awk '/max active processes:/ {print $NF}' $LOG } max_children_reached(){ awk '/max children reached:/ {print $NF}' $LOG } case "$1" in pool) pool ;; process_manager) process_manager ;; start_since) start_since ;; accepted_conn) accepted_conn ;; listen_queue) listen_queue ;; max_listen_queue) max_listen_queue ;; listen_queue_len) listen_queue_len ;; idle_processes) idle_processes ;; active_processes) active_processes ;; total_processes) total_processes ;; max_active_processes) max_active_processes ;; max_children_reached) max_children_reached ;; *) echo "Usage: $0 {pool|process_manager|start_since|accepted_conn|listen_queue|max_listen_queue|listen_queue_len|idle_processes|active_processes|total_processes|max_active_processes|max_children_reached}" esac
4.增加配置参数
vim /app/local/nginx/conf/vhosts/php-fpm_status.conf #phpstatus UserParameter=phpfpm.status.pool,/usr/local/zabbix-agent/scripts/php_stat.sh pool UserParameter=phpfpm.status.process.manager,/usr/local/zabbix-agent/scripts/php_stat.sh process_manager UserParameter=phpfpm.status.start.since,/usr/local/zabbix-agent/scripts/php_stat.sh start_since UserParameter=phpfpm.status.accepted.conn,/usr/local/zabbix-agent/scripts/php_stat.sh accepted_conn UserParameter=phpfpm.status.listen.queue,/usr/local/zabbix-agent/scripts/php_stat.sh listen_queue UserParameter=phpfpm.status.max.listen.queue,/usr/local/zabbix-agent/scripts/php_stat.sh max_listen_queue UserParameter=phpfpm.status.listen.queue.len,/usr/local/zabbix-agent/scripts/php_stat.sh listen_queue_len UserParameter=phpfpm.status.idle.processes,/usr/local/zabbix-agent/scripts/php_stat.sh idle_processes UserParameter=phpfpm.status.active.processes,/usr/local/zabbix-agent/scripts/php_stat.sh active_processes UserParameter=phpfpm.status.total.processes,/usr/local/zabbix-agent/scripts/php_stat.sh total_processes UserParameter=phpfpm.status.max.active.processes,/usr/local/zabbix-agent/scripts/php_stat.sh max_active_processes UserParameter=phpfpm.status.max.children.reached,/usr/local/zabbix-agent/scripts/php_stat.sh max_children_reached
5.重启进程
/etc/init.d/zabbix_agentd restart
6.增加模板
7.增加item
8.增加监控图像
9.查看监控
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。