《使用zabbix监控nginx和php-fpm性能》要点:
本文介绍了使用zabbix监控nginx和php-fpm性能,希望对您有用。如果有疑问,可以联系我们。
zabbix安装在/usr/local/zabbix
路径下,其相关配置文件及二进制执行程序都放置其中.
nginx安装在/usr/local/nginx
下,其相关配置文件及二进制执行程序都放置其中.
php安装在/usr/local/php
下,其相关配置文件及二进制执行程序都放置其中.
继续后面的操作前,请确认nginx和php-fpm的服务端口都处于监听状态.
使用nginx -V
可以查看nginx是否将模块·http_stub_status_module`编译进包中:
nginx -t
测试配置文件是否有明显逻辑及语法错误,没有问题则重载配置文件.curl
指令查看nginx status:修改php-fpm.conf
文件,去掉status页面的注释,并可以根据需要将其改名.操作如下:
修改完php-fpm.conf
后,使用service php-fpm reload
重新加载配置文件,然后在浏览器或者使用curl
指令查看php-fpm的status.操作如下:
php-fpm的status可以查看汇总信息和详细信息,详细信息比汇总信息要多出每一个php-fpm进程的相关信息,同时支持多种格式输出,如xml、html和json,默认情况下分别使用如果指令即可:
xamples 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
的输出为例.
在适当的位置,一般是/usr/local/zabbix/bin
里准备脚本用于提取status里每个字段的数值.
此脚本为/usr/local/zabbix/bin/nginx_status.sh
,其内容如下:
php-fpm status数值提取脚本为/usr/local/zabbix/bin/php_fpm_status.sh
,内容如下:
在/usr/local/zabbix/etc/zabbix_agentd.d/
中创建关联nginx status和php-fpm status的子配置文件,创建一个,或者在已有的某配置文件中增加也可以,我这里分别为它们创建配置文件,文件名可自定义,只要确保此文件夹全部内容在zabbix_agentd.conf
中包含(include)了.
确认在/usr/local/zabbix/etc/zabbix_agentd.conf
中包含:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
且没有被注释.
service zabbix_agentd restart
让zabbix_agentd加载新的配置文件.
在zabbix server上使用如下指令测试能否获取到nginx和php-fpm status数值.
注意:
zabbix_get
指令在zabbix server上运行.zabbix-get
后-s
指定的ip为zabbix-agentd的监听ip.这里的模板包含对nginx status和php-fpm status要监控的item
、trigger
、Graphs
等一系列内容.对于在zabbix server上新增要监控的内容,最好的办法就是从模板开始,然后按照顺序依次配置相应内容,无需去网上找现成的模板导入,对于系统的监控按需配置是最好的.下面是相应的操作过程.
新建nginx status模板
定义nginx status模板
定义nginx status items,这里我使用的是被动临控
增加nginx status状态码映射
nginx trigger定义
定义nginx监控视图
php-fpm status的模板添加步骤和上述方法一样,此处不在赘述.
给主机或主机组关联模板
查看监控效果可以通过查看Monitoring
—->Latest data
,过滤出相应的主机及应用名进行查看,最新收集的各item的监控结果,凡是监控到数据的item会显示数据,出现灰色的表示没有监控到数据,需要排查原因.如下所示:
nginx的监控数据
也可以通过定义的Graphs
查看监控效果:
nginx statur监控视图
abbix中要实现对用户自定义的item的监控,大致过程如下:
文章来自微信公众号:马哥Linux运维
转载请注明本页网址:
http://www.vephp.com/jiaocheng/4140.html