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)和一组 ...
随机推荐
- c#实现串口通信
参考文章:https://www.cnblogs.com/Zed-H/p/8651882.html 利用虚拟串口软件连接两个虚拟串口,如图连接6,7: 打开串口进行通信如下:
- springMVC对RESTful的支持
1:后台controller方法编写 @RequestMapping("/itemsLook/{id}") public ItemsCustom itemsLook(@PathVa ...
- Object-C学习之NSSet和NSMutableSet
转自:http://blog.csdn.net/likandmydeer/article/details/7939749 一.简介 集合(set)是一组单值对象,它可以是固定的(NSSet).也可以是 ...
- Android源码分析(十三)----SystemUI下拉状态栏如何添加快捷开关
一:如何添加快捷开关 源码路径:frameworks/base/packages/SystemUI/res/values/config.xml 添加headset快捷开关,参考如下修改. Index: ...
- flink batch wordcount
1.POJO方式 public class WordCountPojo { public static class Word{ private String word; private int fre ...
- shell 脚本命令之alias
1.alias的功能 设置一个别名,即为一个长命令起一个新的名字 2.alias的基本格式 alias alias_name='origin_command' alias是指定别名命令的关键字 a ...
- 大数据技术原理与应用【第五讲】NoSQL数据库:5.4 NoSQL的三大基石
NoSQL的三大基石:cap,Base,最终一致性 5.4.1 cap理论(帽子理论): consistency:一致性availability:可用性partition tolerance: ...
- 数据结构篇——字典树(trie树)
引入 现在有这样一个问题, 给出\(n\)个单词和\(m\)个询问,每次询问一个单词,回答这个单词是否在单词表中出现过. 好像还行,用 map<string,bool> ,几行就完事了. ...
- I2C协议简介
主从芯片如何传输数据 AT24C02是一个存储芯片,需要把数据从ARM板发给AT24C02,也需要从AT24C02读取数据. I2C是一个主从结构,Master发起传输,slave接收或回应 一主多从 ...
- home_url()用法小结|wordpress函数
home_url()检索可访问当前站点的URL(推荐将<?php bloginfo('url'); ?>用<?php home_url(); ?>来替代),使用适当的协议返回' ...