阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

运用zabbix监控nginx和php-fpm功能

92次阅读
没有评论

共计 3209 个字符,预计需要花费 9 分钟才能阅读完成。

1系统环境

1.1 软件及其版本

运用 zabbix 监控 nginx 和 php-fpm 功能

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` 编译进包中:

运用 zabbix 监控 nginx 和 php-fpm 功能

2.2 启用 nginx 的 status 模块

  • 修改 nginx.conf 文件
    一般在默认主机中增加如下 location 即可:

运用 zabbix 监控 nginx 和 php-fpm 功能

  • 查看 nginx status
    nginx 配置文件修改完成以后,使用 nginx -t 测试配置文件是否有明显逻辑及语法错误,没有问题则重载配置文件。

运用 zabbix 监控 nginx 和 php-fpm 功能

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

运用 zabbix 监控 nginx 和 php-fpm 功能

2.3 nginx status 数值的含义说明

运用 zabbix 监控 nginx 和 php-fpm 功能

php-fpm 自带的有用于查询其工作状态的页面,需要进行如下 两步,以启用这一功能。

3配置 php-fpm 的 status

3.1 启用 php-fpm status 页面

修改 php-fpm.conf 文件,去掉 status 页面的注释,并可以根据需要将其改名。操作如下:

运用 zabbix 监控 nginx 和 php-fpm 功能

3.2 查看 php-fpm 的 status

修改完 php-fpm.conf 后,使用 service php-fpm reload 重新加载配置文件,然后在浏览器或者使用 curl 指令查看 php-fpm 的 status。操作如下:

运用 zabbix 监控 nginx 和 php-fpm 功能

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 的含义

运用 zabbix 监控 nginx 和 php-fpm 功能

4编写 status 数据提取脚本

在适当的位置,一般是 /usr/local/zabbix/bin 里准备脚本用于提取 status 里每个字段的数值。

4.1 nginx 的 status 数值提取脚本

此脚本为/usr/local/zabbix/bin/nginx_status.sh,其内容如下:

运用 zabbix 监控 nginx 和 php-fpm 功能

4.2 php-fpm status 数值提取脚本

php-fpm status 数值提取脚本为/usr/local/zabbix/bin/php_fpm_status.sh,内容如下:

运用 zabbix 监控 nginx 和 php-fpm 功能

5创建 zabbix_agentd 的子配置文件

/usr/local/zabbix/etc/zabbix_agentd.d/ 中创建关联 nginx status 和 php-fpm status 的子配置文件,创建一个,或者在已有的某配置文件中增加也可以,我这里分别为它们创建配置文件,文件名可自定义,只要确保此文件夹全部内容在 zabbix_agentd.conf 中包含 (include) 了。

5.1 userparameter_nginx.conf

运用 zabbix 监控 nginx 和 php-fpm 功能

5.2 userparameter_php-fpm.conf

运用 zabbix 监控 nginx 和 php-fpm 功能

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 能否取到数据

在 zabbix server 上使用如下指令测试能否获取到 nginx 和 php-fpm status 数值。

运用 zabbix 监控 nginx 和 php-fpm 功能

注意:

  • 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 上配置相应的模板

这里的模板包含对 nginx status 和 php-fpm status 要监控的 itemtriggerGraphs 等一系列内容。对于在 zabbix server 上新增要监控的内容,最好的办法就是从模板开始,然后按照顺序依次配置相应内容,无需去网上找现成的模板导入,对于系统的监控按需配置是最好的。下面是相应的操作过程。

8.1 添加 nginx status 监控模板

运用 zabbix 监控 nginx 和 php-fpm 功能

新建 nginx status 模板

运用 zabbix 监控 nginx 和 php-fpm 功能

定义 nginx status 模板

运用 zabbix 监控 nginx 和 php-fpm 功能

新建 nginxApplication

运用 zabbix 监控 nginx 和 php-fpm 功能

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

运用 zabbix 监控 nginx 和 php-fpm 功能

增加 nginx status 状态码映射

运用 zabbix 监控 nginx 和 php-fpm 功能

nginx trigger 定义

运用 zabbix 监控 nginx 和 php-fpm 功能

定义 nginx 监控视图

8.2 添加 php-fpm status 监控模板

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

8.3 选择相应的主机或主机组关联上相应的模板

运用 zabbix 监控 nginx 和 php-fpm 功能

给主机或主机组关联模板

9实际监控效果展示

查看监控效果可以通过查看Monitoring—->Latest data,过滤出相应的主机及应用名进行查看,最新收集的各 item 的监控结果,凡是监控到数据的 item 会显示数据,出现灰色的表示没有监控到数据,需要排查原因。如下所示:

运用 zabbix 监控 nginx 和 php-fpm 功能

nginx 的监控数据

也可以通过定义的 Graphs 查看监控效果:

运用 zabbix 监控 nginx 和 php-fpm 功能

nginx statur 监控视图

10小结

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

  • 启用相应软件的性能统计功能
  • 编写性能统计数据提取脚本
  • 配置自定义的 userparameter conf 文件
  • 重启 zabbix_agentd 服务
  • zabbix server web 上添加相应的模板
  • 给主机或主机组调用模板
正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-03发表,共计3209字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中