6 Zabbix系列之监控php-fpm

开启 php-fpm 状态页面

vim /etc/php-fpm.d/www.conf
#配置状态页面访问路径
pm.status_path = /php_status

Nginx 代理 php-fpm 状态页面

location /php_status {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

配置 php-fpm 监控脚本

[root@php-fpm ~]# cat /etc/zabbix/zabbix_agentd.d/php-fpm-params.conf 
UserParameter=php-fpm[*],/bin/bash /opt/script/php-fpm-check.sh "$1" "$2"

重启 zabbix-agent

[root@php-fpm ~]# systemctl restart zabbix-agent

监控脚本如下:
PS:这些脚本和模板也是我从GitHub上下载的

#!/bin/bash
##################################
# Zabbix monitoring script
#
# php-fpm:
#  - anything available via FPM status page
#
##################################
# Contact:
#  vincent.viallet@gmail.com
##################################
# ChangeLog:
#  20100922	VV	initial creation
##################################

# Zabbix requested parameter
ZBX_REQ_DATA="$1"
ZBX_REQ_DATA_URL="$2"

# Nginx defaults
NGINX_STATUS_DEFAULT_URL="http://localhost:80/php-fpm_status"
WGET_BIN="/usr/bin/wget"

#
# Error handling:
#  - need to be displayable in Zabbix (avoid NOT_SUPPORTED)
#  - items need to be of type "float" (allow negative + float)
#
ERROR_NO_ACCESS_FILE="-0.9900"
ERROR_NO_ACCESS="-0.9901"
ERROR_WRONG_PARAM="-0.9902"
ERROR_DATA="-0.9903" # either can not connect /	bad host / bad port

# Handle host and port if non-default
if [ ! -z "$ZBX_REQ_DATA_URL" ]; then
  URL="$ZBX_REQ_DATA_URL"
else
  URL="$NGINX_STATUS_DEFAULT_URL"
fi

# save the nginx stats in a variable for future parsing
NGINX_STATS=$($WGET_BIN -q $URL -O - 2> /dev/null)

# error during retrieve
if [ $? -ne 0 -o -z "$NGINX_STATS" ]; then
  echo $ERROR_DATA
  exit 1
fi

# 
# Extract data from nginx stats
#
RESULT=$(echo "$NGINX_STATS" | awk 'match($0, "^'"$ZBX_REQ_DATA"':[[:space:]]+(.*)", a) { print a[1] }')
if [ $? -ne 0 -o -z "$RESULT" ]; then
    echo $ERROR_WRONG_PARAM
    exit 1
fi

echo $RESULT

exit 0

在 Zabbix server 上测试是否能拿到数据

[root@zabbix-server ~]# zabbix_get -s 192.168.1.253 -k php-fpm["idle processes",http://192.168.1.251/php_status]
4

测试时所需要的参数通过简单的阅读监控脚本都可以知道

导入 php-fpm 监控模板

我也上传了一份资源,可以免费下载我的。

导入模板

在这里插入图片描述

在这里插入图片描述

查看模板的监控项

在这里插入图片描述

为php-fpm监控模板配置宏(变量赋值)

在这里插入图片描述
在这里插入图片描述

为主机添加监控模板

在这里插入图片描述

查看监控状态

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值