zabbix是一个基于web界面的提供分布式系统监督以及网络监督性能的企业级的开源解决方案,在企业中有十分全面的利用。它能监督各种网络参数,保障服务器零碎的平安经营;并提供灵便的告诉机制以让系统管理员疾速定位/解决存在的各种问题。

本文将为你具体解说如何应用zabbix监控nginx和php-fpm性能

一:零碎环境

1 软件及其版本

2 软件装置门路

zabbix装置在:

/usr/local/zabbix

门路下,其相干配置文件及二进制执行程序都搁置其中。
nginx装置在

/usr/local/nginx

下,其相干配置文件及二进制执行程序都搁置其中。
php装置在

/usr/local/php

下,其相干配置文件及二进制执行程序都搁置其中。
持续前面的操作前,请确认nginx和php-fpm的服务端口都处于监听状态。

二:配置nginx的status

1、确认nginx的status已编译到程序包中

应用 nginx -V 能够查看nginx是否将模块·http_stub_status_module`编译进包中:

2、启用nginx的status模块

  • 批改nginx.conf文件
    个别在默认主机中减少如下location即可:

  • 查看nginx status
    nginx配置文件批改实现当前,应用
nginx -t

测试配置文件是否有显著逻辑及语法错误,没有问题则重载配置文件。

  • 而后应用浏览器或者 curl  指令查看nginx status:

3 nginx status数值的含意阐明

php-fpm自带的有用于查问其工作状态的页面,须要进行如下步骤,以启用这一性能

三、配置php-fpm的status

1.启用php-fpm status页面

批改:

php-fpm.conf

文件,去掉status页面的正文,并能够依据须要将其改名。操作如下:")

2.查看php-fpm的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

的输入为例。

3 php-fpm status的含意

")

四、编写status数据提取脚本

在适当的地位,个别是

/usr/local/zabbix/bin

里筹备脚本用于提取status里每个字段的数值。

1、nginx的status数值提取脚本

此脚本为

/usr/local/zabbix/bin/nginx\_status.sh

其内容如下:

")

2、php-fpm status数值提取脚本

php-fpm status数值提取脚本为

/usr/local/zabbix/bin/php\_fpm\_status.sh

内容如下:

")

五、创立zabbix_agentd的子配置文件

/usr/local/zabbix/etc/zabbix\_agentd.d/

中创立关联nginx status和php-fpm status的子配置文件,创立一个,或者在已有的某配置文件中减少也能够,我这里别离为它们创立配置文件,文件名可自定义,只有确保此文件夹全部内容在

zabbix\_agentd.conf

中蕴含(include)了。

1、userparameter_nginx.conf

")

2、userparameter_php-fpm.conf

")

3、确认子配置文件被zabbix_agentd配置文件蕴含

确认在

/usr/local/zabbix/etc/zabbix\_agentd.conf

中蕴含:

Include=/usr/local/zabbix/etc/zabbix\_agentd.conf.d/

且没有被正文。

六、重启zabbix_agentd服务

service zabbix\_agentd restart

 让zabbix_agentd加载新的配置文件。

*七、测试zabbix_get是否取到数据

在zabbix 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。

八、zabbix server上配置相应的模板

这里的模板蕴含对nginx status和php-fpm status要监控的

item

trigger

Graphs

等一系列内容。对于在zabbix server上新增要监控的内容,最好的方法就是从模板开始,而后依照程序顺次配置相应内容,无需去网上找现成的模板导入,对于零碎的监控按需配置是最好的。上面是相应的操作过程。

1、增加nginx status监控模板

")

新建nginx status模板

")

定义nginx status模板

")")

定义nginx status items,这里我应用的是被动临控

")

减少nginx status状态码映射

")

nginx trigger定义

")

定义nginx监控视图

2、增加php-fpm status监控模板

php-fpm status的模板增加步骤和上述办法一样,此处不在赘述。

3、抉择相应的主机或主机组关联上相应的模板

")给主机或主机组关联模板

九、理论监控成果展现

查看监控成果能够通过查看

Monitoring

---->

Latest data

,过滤出相应的主机及利用名进行查看,最新收集的各item的监控后果,但凡监控到数据的item会显示数据,呈现灰色的示意没有监控到数据,须要排查起因。如下所示:

")

也能够通过定义的

Graphs

查看监控成果:

")

小结

zabbix中要实现对用户自定义的item的监控,大抵过程如下:

  • 启用相应软件的性能统计性能
  • 编写性能统计数据提取脚本
  • 配置自定义的userparameter conf文件
  • 重启zabbix_agentd服务
  • zabbix server web上增加相应的模板
  • 给主机或主机组调用模板

如果你想理解更多无关zabbix 实战我的项目操作,强烈推荐你下载浏览《Zabbix企业级分布式监控零碎》电子书;

根本利用到安装包定制、协定、API,全面剖折、蕴含大量监控案例。通过本书你学到的不止是技术,还有思路和办法

 

 

点击收费下载

如果你想进一步深刻理解Zabbix,长按下图

有段时间没跟大家分享资源福利了,看了下本人的资料夹,整顿了一些我认为比拟好的Python学习材料了。置信这套材料能够对你进阶高级工程师有帮忙

学习工具

大厂实战手册

自学视频(局部)

【材料收费支付形式】:点这里:2020Python高薪实战学习大合集