使用zabbix监控nginx和php-fpm性能
2017-08-28 10:20
691 查看
http://chuansong.me/n/1818444251232系统环境
1.1
1.2
zabbix安装在
nginx安装在
php安装在
继续后面的操作前,请确认nginx和php-fpm的服务端口都处于监听状态。
2配置nginx的status
2.1
使用
2.2
修改nginx.conf文件
一般在默认主机中增加如下location即可:
查看nginx
status
nginx配置文件修改完成以后,使用
然后使用浏览器或者
status:
2.3
php-fpm自带的有用于查询其工作状态的页面,需要进行如下
3配置php-fpm的status
3.1
修改
3.2
修改完
php-fpm的status可以查看汇总信息和详细信息,详细信息比汇总信息要多出每一个php-fpm进程的相关信息,同时支持多种格式输出,如xml、html和json,默认情况下分别使用如果指令即可:Examples
for summary status page: http://example.com/status http://example.com/status?json http://example.com/status?html http://example.com/status?xml
Example for detailed status page: http://example.com/status?full http://example.com/status?json&full http://example.com/status?html&full http://example.com/status?xml&full使用何种格式查看status决定了后续使用zabbix进行监控获取status数值的方式。本文以上述3.3
4编写status数据提取脚本
在适当的位置,一般是4.1
此脚本为
4.2
php-fpm
status数值提取脚本为
5创建zabbix_agentd的子配置文件
在
status和php-fpm
status的子配置文件,创建一个,或者在已有的某配置文件中增加也可以,我这里分别为它们创建配置文件,文件名可自定义,只要确保此文件夹全部内容在5.1
5.2
5.3
确认在
6重启zabbix_agentd服务
7测试zabbix_get能否取到数据
在zabbix
server上使用如下指令测试能否获取到nginx和php-fpm status数值。
注意:
server上运行。
userparameter_*.conf文件位于zabbix_agentd端。
nginx_status.sh和php_fpm_status.sh位于zabbix_agentd端。
8zabbix server上配置相应的模板
这里的模板包含对nginx
status和php-fpm status要监控的
server上新增要监控的内容,最好的办法就是从模板开始,然后按照顺序依次配置相应内容,无需去网上找现成的模板导入,对于系统的监控按需配置是最好的。下面是相应的操作过程。8.1
新建nginx
status模板
定义nginx
status模板
新建nginxApplication
定义nginx
status items,这里我使用的是被动临控
增加nginx
status状态码映射
nginx
trigger定义
定义nginx监控视图8.2
php-fpm
status的模板添加步骤和上述方法一样,此处不在赘述。8.3
给主机或主机组关联模板
9实际监控效果展示
查看监控效果可以通过查看
nginx的监控数据也可以通过定义的
nginx
statur监控视图
10小结
zabbix中要实现对用户自定义的item的监控,大致过程如下:启用相应软件的性能统计功能
编写性能统计数据提取脚本
配置自定义的userparameter
conf文件
重启zabbix_agentd服务
zabbix
server web上添加相应的模板
给主机或主机组调用模板
1.1
软件及其版本
1.2
软件安装路径
zabbix安装在/usr/local/zabbix路径下,其相关配置文件及二进制执行程序都放置其中。
nginx安装在
/usr/local/nginx下,其相关配置文件及二进制执行程序都放置其中。
php安装在
/usr/local/php下,其相关配置文件及二进制执行程序都放置其中。
继续后面的操作前,请确认nginx和php-fpm的服务端口都处于监听状态。
2配置nginx的status
2.1
确认nginx的status已编译到程序包中
使用nginx -V可以查看nginx是否将模块·http_stub_status_module`编译进包中:
2.2
启用nginx的status模块
修改nginx.conf文件一般在默认主机中增加如下location即可:
查看nginx
status
nginx配置文件修改完成以后,使用
nginx -t测试配置文件是否有明显逻辑及语法错误,没有问题则重载配置文件。
然后使用浏览器或者
curl指令查看nginx
status:
2.3
nginx status数值的含义说明
php-fpm自带的有用于查询其工作状态的页面,需要进行如下
两步,以启用这一功能。
3配置php-fpm的status3.1
启用php-fpm status页面
修改php-fpm.conf文件,去掉status页面的注释,并可以根据需要将其改名。操作如下:
3.2
查看php-fpm的status
修改完php-fpm.conf后,使用
service php-fpm reload重新加载配置文件,然后在浏览器或者使用
curl指令查看php-fpm的status。操作如下:
php-fpm的status可以查看汇总信息和详细信息,详细信息比汇总信息要多出每一个php-fpm进程的相关信息,同时支持多种格式输出,如xml、html和json,默认情况下分别使用如果指令即可:Examples
for summary status page: http://example.com/status http://example.com/status?json http://example.com/status?html http://example.com/status?xml
Example for detailed status page: http://example.com/status?full http://example.com/status?json&full http://example.com/status?html&full http://example.com/status?xml&full使用何种格式查看status决定了后续使用zabbix进行监控获取status数值的方式。本文以上述
curl localhost/php_fpm-status的输出为例。
3.3
php-fpm status的含义
4编写status数据提取脚本
/usr/local/zabbix/bin里准备脚本用于提取status里每个字段的数值。
4.1
nginx的status数值提取脚本
此脚本为/usr/local/zabbix/bin/nginx_status.sh,其内容如下:
4.2
php-fpm status数值提取脚本
php-fpmstatus数值提取脚本为
/usr/local/zabbix/bin/php_fpm_status.sh,内容如下:
5创建zabbix_agentd的子配置文件
/usr/local/zabbix/etc/zabbix_agentd.d/中创建关联nginx
status和php-fpm
status的子配置文件,创建一个,或者在已有的某配置文件中增加也可以,我这里分别为它们创建配置文件,文件名可自定义,只要确保此文件夹全部内容在
zabbix_agentd.conf中包含(include)了。
5.1
userparameter_nginx.conf
5.2
userparameter_php-fpm.conf
5.3
确认子配置文件被zabbix_agentd配置文件包含
确认在/usr/local/zabbix/etc/zabbix_agentd.conf中包含:
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/且没有被注释。
6重启zabbix_agentd服务
service zabbix_agentd restart让zabbix_agentd加载新的配置文件。
7测试zabbix_get能否取到数据
server上使用如下指令测试能否获取到nginx和php-fpm status数值。
注意:
zabbix_get指令在zabbix
server上运行。
userparameter_*.conf文件位于zabbix_agentd端。
nginx_status.sh和php_fpm_status.sh位于zabbix_agentd端。
zabbix-get后
-s指定的ip为zabbix-agentd的监听ip。
8zabbix server上配置相应的模板
status和php-fpm status要监控的
item、
trigger、
Graphs等一系列内容。对于在zabbix
server上新增要监控的内容,最好的办法就是从模板开始,然后按照顺序依次配置相应内容,无需去网上找现成的模板导入,对于系统的监控按需配置是最好的。下面是相应的操作过程。
8.1
添加nginx status监控模板
新建nginx
status模板
定义nginx
status模板
新建nginxApplication
定义nginx
status items,这里我使用的是被动临控
增加nginx
status状态码映射
nginx
trigger定义
定义nginx监控视图
8.2
添加php-fpm status监控模板
php-fpmstatus的模板添加步骤和上述方法一样,此处不在赘述。
8.3
选择相应的主机或主机组关联上相应的模板
给主机或主机组关联模板
9实际监控效果展示
Monitoring---->
Latest data,过滤出相应的主机及应用名进行查看,最新收集的各item的监控结果,凡是监控到数据的item会显示数据,出现灰色的表示没有监控到数据,需要排查原因。如下所示:
nginx的监控数据也可以通过定义的
Graphs查看监控效果:
nginx
statur监控视图
10小结
编写性能统计数据提取脚本
配置自定义的userparameter
conf文件
重启zabbix_agentd服务
zabbix
server web上添加相应的模板
给主机或主机组调用模板
相关文章推荐
- zabbix监控php-fpm性能状态
- zabbix用low level discovery监控磁盘吞吐量与iops zabbix监控nginx,php-fpm和mysql占用内存和进程个数
- 使用socket方式连接Nginx优化php-fpm性能
- zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数
- zabbix监控nginx、php-fpm的状态
- 使用socket方式连接Nginx优化php-fpm性能
- 使用socket方式连接Nginx优化php-fpm性能
- zabbix监控php-fpm性能状态
- zabbix监控nginx、php-fpm的状态
- zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数
- 使用socket方式连接Nginx优化php-fpm性能
- Zabbix监控Memcached PHP-FPM Tomcat Nginx MySQL 网站日志
- zabbix监控php-fpm的性能
- 使用socket方式连接Nginx优化php-fpm性能
- Zabbix监控Nginx 和PHP-FPM状态
- zabbix监控redis、mysql状态、php-fpm性能状态
- 使用socket方式连接Nginx优化php-fpm性能
- zabbix 监控php-fpm 性能
- 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法