分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

zabbix监控nginx和fpm(网站并发数)自定义key

发布时间:2023-09-06 02:11责任编辑:苏小强关键词:nginx
监控nginx,主要讲解监控并发数:
1: nginx编译参数:
--prefix=/usr/local/nginx --with-http_stub_status_module

zabbix编译参数的查看:
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module

2: nginx配置新增

location /status {
allow 127.0.0.1;
deny all;
stub_status on;
access_log off;
}
重启nginx:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

3: 测试下看看能不能获取nginx状态
curl 127.0.0.1/status

4: 写脚本获取nginx的状态
监控脚本(/usr/local/zabbix/check_nginx.sh):

#!/bin/sh
#20170603 nginx status
#Active connections: 1
#server accepts handled requests
#1035268066 1035268066 1035136592
#Reading: 0 Writing: 1 Waiting: 0
while getopts "o:" opt
do
case $opt in
o ) option=$OPTARG;;
? )
echo ‘parameter is wrong!‘
exit 1;;
esac
done
if [ ! "${option}" ];then
echo "parameter is null" ???????
exit 1
fi

if [[ ${option} == "active" ]];then
curl -s 127.0.0.1/status |grep ‘^Active connections‘ |awk ‘{print $NF}‘
elif [[ ${option} == "accepts" ]];then
curl -s 127.0.0.1/status |awk ‘NR==3‘|awk ‘{print $1}‘
fi

5: zabbix配置(/usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx.conf):
UserParameter=nginx.status[*],sh /usr/local/zabbix/check_nginx.sh -o $1
重启zabbix agentd(pkill zabbix_agentd; sleep 3; /usr/local/zabbix/sbin/zabbix_agentd )

6: zabbix网页配置:
nginx.status[accepts] ×××(每秒差值)

监控fpm,主要讲解监控动态并发数:
1: /usr/local/php/etc/php-fpm.conf fpm配置新增:
pm.status_path = /php_fpm_status
fpm需要重启。

2: nginx配置新增:

location /php_fpm_status
{
allow 127.0.0.1;
deny all;
fastcgi_pass ??127.0.0.1:9000;
fastcgi_param ?SCRIPT_FILENAME ?$document_root$fastcgi_script_name;
include ???????fastcgi_params;
}
nginx需要reload

3: 测试看看能不能获取到fpm的状态
curl 127.0.0.1/php_fpm_status
pool: ????????????????www
process manager: ?????static
start time: ??????????02/Jun/2017:17:45:05 +0800
start since: ?????????58677
accepted conn: ???????10753843
listen queue: ????????0
max listen queue: ????0
listen queue len: ????0
idle processes: ??????249
active processes: ????1
total processes: ?????250
max active processes: 251
max children reached: 0
slow requests: ???????426

4: 写脚本获取fpm的状态
监控脚本(/usr/local/zabbix/check_fpm.sh):

#!/bin/sh
#20170603 fpm status
#curl 127.0.0.1/php_fpm_status
#pool: ????????????????www
#process manager: ?????static
#start time: ??????????02/Jun/2017:17:45:05 +0800
#start since: ?????????59022
#accepted conn: ???????10768453
#listen queue: ????????0
#max listen queue: ????0
#listen queue len: ????0
#idle processes: ??????249
#active processes: ????1
#total processes: ?????250
#max active processes: 251
#max children reached: 0
#slow requests: ???????426
while getopts "o:" opt
do
case $opt in
o ) option=$OPTARG;;
? )
echo ‘parameter is wrong!‘
exit 1;;
esac
done
if [ ! "${option}" ];then
echo "parameter is null" ???????
exit 1
fi

if [[ ${option} == "conn" ]];then
curl -s 127.0.0.1/php_fpm_status |grep ‘^accepted conn‘|awk ‘{print $NF}‘
elif [[ ${option} == "idle" ]];then
curl -s 127.0.0.1/php_fpm_status |grep ‘^idle processes‘|awk ‘{print $NF}‘
elif [[ ${option} == "active" ]];then
curl -s 127.0.0.1/php_fpm_status |grep ‘^active processes‘|awk ‘{print $NF}‘
fi

5: zabbix配置(vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/fpm.conf):

UserParameter=fpm.status[*],sh /usr/local/zabbix/check_fpm.sh ?-o $1
重启zabbix agent。pkill zabbix_agentd; sleep 3; /usr/local/zabbix/sbin/zabbix_agentd

6: zabbix网页配置:
fpm.status[conn]

zabbix监控nginx和fpm(网站并发数)自定义key

原文地址:http://blog.51cto.com/13120271/2162292

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved