zabbix 监控 php

一、开启php-fpm的status页面,此页面跟nginx的stub_status页面类似,记录着php运行状态信息

# cat /etc/php-fpm.d/www.conf
pm.status_path = /status

二、配置nginx代理访问php的status页面

# cat /etc/nginx/conf.d/nginx_status.conf 
server {
	listen 80 default ;
	server_name _ ;
       location = /status {
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index	index.php;
		include    fastcgi.conf;  \\此选项必须添加,不添加采集不到数据
                access_log off;
		allow 127.0.0.1;
		deny all ;
	}

三、访问测试,确保可以访问到php的status的页面数据

# curl http://127.0.0.1/status
pool:                 www
process manager:      dynamic
start time:           31/3月/2016:22:29:27 +0800
start since:          489290
accepted conn:        3
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       4
active processes:     1
total processes:      5
max active processes: 1
max children reached: 0

四、在agent端编写shell脚本,采集php的status页面信息;脚本路径存放在/opt/zabbix/script/目录下

# vim php_fpm_status.sh
#!/bin/bash

AcceptedConn(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/accepted conn/{print $2}‘ |awk ‘{print $1}‘
} 

ListenQueue(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/listen queue/{print $2}‘ |awk ‘{print $1}‘
}

MaxListenQueue(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/max listen queue/{print $2}‘ |awk ‘{print $1}‘
}

ListenQueueLen(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/listen queue len/{print $2}‘|awk ‘{print $1}‘
}

IdleProcesses(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/idle processes/{print $2}‘|awk ‘{print $1}‘
}

ActiveProcesses(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/active processes/{print $2}‘|awk ‘{print $1}‘
}

TotalProcesses(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/total processes/{print $2}‘|awk ‘{print $1}‘
}

MaxActiveProcesses(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/max active processes/{print $2}‘ |awk ‘{print $1}‘
}

MaxChildrenReached(){
	curl http://127.0.0.1/zphp_status  2>/dev/null | awk -F ":" ‘/max children reached/{print $2}‘ |awk ‘{print $1}‘
}
$1
# chmod +x php_fpm_status.sh  \\添加执行权限

五、在agent端,创建key、value;位置在opt/zabbix/etc/zabbix_agentd.conf.d/目录下

# vim php-fpm-nginx.conf
UserParameter=active.conn, /opt/zabbix/script/php_fpm_status.sh AcceptedConn
UserParameter=listen.queue, /opt/zabbix/script/php_fpm_status.sh ListenQueue
UserParameter=max.listen.queue, /opt/zabbix/script/php_fpm_status.sh MaxListenQueue
UserParameter=listen.queue.len,/opt/zabbix/script/php_fpm_status.sh ListenQueueLen
UserParameter=idle.processes, /opt/zabbix/script/php_fpm_status.sh IdleProcesses
UserParameter=active.processes, /opt/zabbix/script/php_fpm_status.sh ActiveProcesses
UserParameter=total.processes, /opt/zabbix/script/php_fpm_status.sh TotalProcesses
UserParameter=max.active.processes, /opt/zabbix/script/php_fpm_status.sh MaxActiveProcesses
UserParameter=max.children.reached, /opt/zabbix/script/php_fpm_status.sh MaxChildrenReached

# /etc/init.d/zabbix_agentd restart  \\上述配置完成后,重启agentd服务

六、在server端利用zabbix_get获取测试数据,查看配置是否成功

#  zabbix_get -s 172.16.100.17 -p 10050 -k "active.conn"
42

七、以上操作成功后,在zabbix的web页面创建php模板

1)创建模板

2)创建应用集

3)创建项目

4)创建图形

5)将此模板关联主机,查看获取的数据

到此,可以安心的边喝茶边观察php的状态了。

时间: 2024-12-16 13:10:42

zabbix 监控 php的相关文章

Zabbix监控搭建

系统环境:Centos 6.6 软件环境:Zabbix-2.4.4 1.Server端安装基础软件包 在Server端安装基础软件包,这里使用的是系统自带的网络Yum源(本地Yum源会出现部分软件包安装不上,也可以使用源码包安装) yum -y install wget vim tree gcc gcc-c++ autoconf httpd php mysqlmysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql p

zabbix监控环境搭建错误(1)

我们在搭建zabbix监控时由于自己的操作错误会出现下图的错误: 我们在组态中创建动作时:要是在动作那栏把配置写好后直接点存档后就会出现如图上的错误,具体解决方法如下 点到操作选项并添加新的动作操作后将配置填好后先点添加最后点存档,要不然就会报图1的错误!

资源汇集:跟着ttlsa学习zabbix监控

从2009年开始接触zabbix,当时版本在1.8,经过差不多5年的时间,zabbix历经2.0,2.1,2.2数个版本,虽然大多数功能保持不变,但是还是有非常明显的改变. Zabbix VS Nagios指数 我们来看看zabbix的发展趋势,打开http://index.baidu.com/?tpl=trend&word=zabbix,可以看到这个月的日平均指数在258,整体同比增长928%,环比增长10%.nagios月平均指数在308,同比增长13%,环比24%,可以看出zabbix虽然

zabbix监控LINUX下CPU,硬盘,流量,内存

1.LINUX下zabbix客户端安装 [[email protected] ~]# mkdir /usr/local/zabbix [[email protected] ~]# mv zabbix_agents_2.0.3.linux2_6.amd64.tar.gz /usr/local/zabbix/ [[email protected] ~]# cd /usr/local/zabbix/ [[email protected] zabbix]# tar zxvf zabbix_agents_

部署zabbix监控mysql (一) 安装zabbix

部署zabbix监控mysql (1)安装LAMP环境 [[email protected] ~]# yum -y installmysql-server http php (2)安装zabbix web所需要的依赖包 [[email protected] ~]# yum -y installmysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmathphp-mbstring php-xml 安装Fpin

zabbix监控MySQL(windows和linux环境)

一.linux环境下监控MySQL Zabbix Server自带了MySQL插件来监控mysql数据库的模板,只需要配置好agent客户端,然后在web端给主机增加模板就行了 监控项目: Com_update:     mysql执行的更新个数 Com_select:     mysql执行的查询个数 Com_insert:     mysql执行插入的个数 Com_delete:     执行删除的个数 Com_rollback:   执行回滚的操作个数 Bytes_received:  接

Zabbix监控

一.监控概述: ·初级: ·1.识别监控对象 (分级) ·2.理解监控对象  (理论基础) ·3.细分监控对象的指标 ·4.确定告警的基准线 ·预中级: 1.工具化和监控分离 2.监控对象的分类: 2.1 硬件监控 (方法:机房巡检.IPMI.SNMP简单网络管理协议.) 2.2 系统监控  (对象:cpu.内存.IO[磁盘.网络]) 2.3 服务监控  (对象:分类服务) 2.4 日志监控   (方法:Elastic Stack) 2.5 网络监控   (方法: 第三方.Smokeping)

Zabbix监控PostgreSQL

Zabbix监控PostgreSQL 学习 PostgreSQL zabbix Zabbix监控PostgreSQL 1. 安装libzbxpgsql 2. 配置zabbix配置文件zabbix_agentd.conf 3. 创建监控用户 4. 导入监控模板 5. 主机链接模板,设置宏变量 因上次用到了PostgreSQL,而所使用的监控又是Zabbix,所以找到了此插件用于Zabbix监控PostgreSQL. 插件网站:PostgreSQL monitoring for Zabbix Git

Zabbix监控nginx服务进程状态

zabbix监控nginx需要开启nginx status,要确认nginx编译http_sub_module模块! 1.检查当前nginx是否安装配置http_sub_module模块 # nginx -V Tengine version: Tengine/1.5.2 (nginx/1.2.9) built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) TLS SNI support enabled configure arguments: --p

CentOS下zabbix监控mysql5.6版本主从

上次Zabbix添加了监控MySQL性能,因此此次在其基础上添加主从监控.文章过程中不在介绍MySQL5.6版本相关细节处理,具体可以参考上次文章: http://blog.csdn.net/ygqygq2/article/details/53264955 1. Zabbix添加自定义监控流程 Zabbix agentd添加自定义key: 自定义key调用的是获取监控数据源脚本等: 添加Zabbix主机数据源模板,主机链接模板; 2. 具体步骤 1. 编写监控mysql主从脚本 vim /usr