zabbix php-fpm监控
#!/bin/bash
##################################
# Zabbix monitoring script
#
# php-fpm:
# - anything available via php-fpm status
#
##################################
# Contact:
# tgavriltg@gmail.com
##################################
# ChangeLog:
# 2014-04-01 VV initial creation
##################################
# Zabbix default parameter
ZABBIX_SENDER="/usr/local/zabbix/bin/zabbix_sender"
ZABBIX_SERVER="10.10.253.1"
if [ -x /usr/local/zabbix/bin/zabbix_sender ];then
ZABBIX_SENDER="/usr/local/zabbix/bin/zabbix_sender"
elif [ -x /usr/local/zabbix/bin/zabbix_sender ];then
ZABBIX_SENDER="/usr/local/zabbix/bin/zabbix_sender"
else
echo "do not find zabbix_sender."
exit 1
fi
# php-fpm defaults
URL="http://127.0.0.1:56789/weimobphp00status"
WGET="/usr/bin/wget"
PHP_FPM_STATS="/tmp/php_fpm_stats"
#tmp file
TMP_FILE="/tmp/pmstatus"
#error info
ERROR_DATA="either can not connect / bad host / bad port, or cat not get intranet ip"
usage(){
cat << EOF
Usage:
This program is extract data from php-fpm stats to zabbix.
Options:
--help|-h)
Print help info.
--zabbix-server|-z)
Hostname or HOSTNAME address of Zabbix server(default=172.16.35.92).
--url|-u)
php-fpm status default URL(default:http://127.0.0.1:80/pm_status).
Example:
./$0 -z 10.10.253.1 -u http://localhost:80/pm_status
EOF
}
while test -n "$1"; do
case "$1" in
-z|--zabbix-server)
ZABBIX_SERVER=$2
shift 2
;;
-u|--url)
URL=$2
shift 2
;;
-h|--help)
usage
exit
;;
*)
echo "Unknown argument: $1"
usage
exit
;;
esac
done
# Get localhost intranet ip
#HOSTNAME=$(/sbin/ifconfig | grep addr: | grep -E "10\.|172\.16" | awk -F\: '{print $2}' | cut -d' ' -f 1)
HOSTNAME=`hostname`
# save the nginx stats in a variable for future parsing
$WGET -q $URL -O - 2 > $PHP_FPM_STATS
# error during retrieve
if [ -z "$PHP_FPM_STATS" -o -z "$HOSTNAME" ]; then
echo $ERROR_DATA
exit 1
fi
# Extract data from php-fpm stats
accepted_conn=$(cat $PHP_FPM_STATS | /bin/grep "^accepted conn:" | awk -F\: '{print $2}')
listen_queue=$(cat $PHP_FPM_STATS | /bin/grep "^listen queue:" | awk -F\: '{print $2}')
max_listen_queue=$(cat $PHP_FPM_STATS | /bin/grep "^max listen queue:" | awk -F\: '{print $2}')
listen_queue_len=$(cat $PHP_FPM_STATS | /bin/grep "^listen queue len:" | awk -F\: '{print $2}')
idle_processes=$(cat $PHP_FPM_STATS | /bin/grep "^idle processes:" | awk -F\: '{print $2}')
active_processes=$(cat $PHP_FPM_STATS | /bin/grep "^active processes:" | awk -F\: '{print $2}')
total_processes=$(cat $PHP_FPM_STATS | /bin/grep "^total processes:" | awk -F\: '{print $2}')
max_active_processes=$(cat $PHP_FPM_STATS | /bin/grep "^max active processes:" | awk -F\: '{print $2}')
max_children_reached=$(cat $PHP_FPM_STATS | /bin/grep "^max children reached:" | awk -F\: '{print $2}')
slow_requests=$(cat $PHP_FPM_STATS | /bin/grep "^slow requests:" | awk -F\: '{print $2}')
/bin/cat > $TMP_FILE << EOF
$HOSTNAME accepted_conn $accepted_conn
$HOSTNAME listen_queue $listen_queue
$HOSTNAME max_listen_queue $max_listen_queue
$HOSTNAME listen_queue_len $listen_queue_len
$HOSTNAME idle_processes $idle_processes
$HOSTNAME active_processes $active_processes
$HOSTNAME total_processes $total_processes
$HOSTNAME max_active_processes $max_active_processes
$HOSTNAME max_children_reached $max_children_reached
$HOSTNAME slow_requests $slow_requests
EOF
$ZABBIX_SENDER -z $ZABBIX_SERVER -i $TMP_FILE
exit 0
###*/2 * * * * root /usr/local/zabbix/scripts/php-fpm_status_analyze.sh -z 10.10.253.1 -u http://127.0.0.1:56789/weimobphp00status > /dev/null 2>&1
zabbix php-fpm监控的更多相关文章
- zabbix模板化监控
zabbix模板化监控 1. 实验简述 在zabbix监控中,有很多组的概念,具体有以下几种: 1. 主机和主机组,相同类型/应用的主机,可以归属于同一个主机组 2. item和application ...
- Zabbix 添加端口监控链接
zabbix 添加端口监控 连接数: zabbix 配置 添加 监控项: 其他检测 方式也是 示例: zabbix 客户端配置文件添加: 编辑 zabbix_agentd.conf 添加 端口 ...
- zabbix实现自定义监控
实现自定义监控项实例 .创建主机组 .创建主机 .创建监控项 .到需要监控的主机的agent中添加自定义的监控项目 cd /etc/zabbix/zabbix_agentd.d vi userpara ...
- zabbix使用jmx监控tomcat
zabbix监控Tomcat/JVM实例性能(115) – 运维生存时间http://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/ zabbi ...
- 24 Zabbix系统配置日志监控告警--关键字触发
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 24 Zabbix系统配置日志监控告警--关键字触发 trapper是被监控主机主动发送数据给za ...
- 给zabbix添加percona监控模板
简单说明一下给zabbix添加的percona的监控模板. 在percona官方网站有说明怎么安装,这里记录下步骤.首先搭建好的zabbix环境. 监控插件连接 : 链接:https://pan.ba ...
- 16 利用Zabbix完成windows监控
点击返回:自学Zabbix之路 16 利用Zabbix完成windows监控 1.安装zabbix_agentd 1.1.下载zabbix_agentd监控客户端软件安装包(windows操作系统客户 ...
- 17 利用Zabbix完成VMare监控
点击返回:自学Zabbix之路 17 利用Zabbix完成VMare监控 最近在研究通过Zabbix监控VMware vSphere,Zabbix Documentation 3.0 从文档中我们看到 ...
- 自学Zabbix11.1 Zabbix 配置SNMP监控
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix11.1 Zabbix 配置SNMP监控 1. 概述 zabbix采集数据方式: ...
- zabbix 配置SNMP监控
什么是SNMP? 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组 ...
随机推荐
- secure-file-priv特性
转载自:https://segmentfault.com/a/1190000009333563 当出现:1290 - The MySQL server is running with the --se ...
- java8 Lambda 表达式和函数式接口快速理解
前言 接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Lambda 表达式和函数式接口说明. Lambda 表达式 lambda 表达式其实就是使用了 ...
- 开源矿工工具箱新增了ETH反抽水工具
开源矿工工具箱新增了ETH反抽水工具 —— 将决定使用Claymore挖ETH时拦截的老外的抽水归谁的权力交给矿工 众所周知,所有的挖矿辅助工具都拦截了老外的Claymore内核挖ETH时的内核开发费 ...
- Exif认识
找到一个js获取Exif的信息.php的也很简单.打开扩展就可以直接读了.也支持url的 这个是js的 http://code.ciaoca.com/javascript/exif-js/ EXIF ...
- 基于tensorflow训练模型的显存不足解决办法
import tensorflow as tfimport osos.environ["CUDA_VISIBLE_DEVICES"] = '0' #指定第一块GPU可用config ...
- 在Nginx服务器上安装SSL证书
配置nginx 1.下载证书文件 2.在nginx的conf目录中创建目录cert目录,并将证书文件拷贝进去. 3.配置nginx.conf,完整的nginx.conf如下: #user nobody ...
- 开发技术--pandas模块
开发|pandas模块 整了一篇关于pandas模块的使用文章,方便检查自己的学习质量.自从使用了pandas之后,真的是被它的功能所震撼~~~ 前言 目前所有的文章思想格式都是:知识+情感. 知识: ...
- Nginx实现防盗链的方式
一.ngx_http_referer_module(阻挡来源非法的域名请求),配置如下: location ~.*\. (gif|jpg|png|flv|swf|rar|zip)$ { valid_r ...
- js计算数组中元素出现的次数,并实现去重
function getCount(arr, rank,ranktype){ var obj = {}, k, arr1 = []; for (var i = 0, len = arr.length; ...
- Go发送Email
使用Go发送邮件,目前官网GO 1.12的版本的文档中,包 "net/smtp" 仅支持支持两种SMTP的认证方式.CRAM-MD5和PLAIN 认证方式. CRAM-MD5 是基 ...