Zabbix6.0监控常见应用案例Nginx和PHP
监控 Nginx 服务
nginx 模板参考:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/nginx_http
安装和配置nginx服务开启状态页
dnf -y install nginx
vim /etc/nginx/nginx.conf
#添加下面三行,Zabbix默认监控/basic_status,此处为/status,需要和zabbix的模板定义的路径要保持一致
location = /basic_status {
stub_status;
}
server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } location = /basic_status { stub_status; } }
systemctl start nginx
nginx -s reload
systemctl enable --now nginx
http://192.168.3.63/basic_status

查看 nginx 内置模板和修改宏定义
使用内置模板:
Template App Nginx by HTTP (不需要安装zabbix agent.但是添加主机时,选中任意接口皆可)
Template App Nginx by Zabbix agent (需要安装zabbix agent)
添加监控的主机并关联模板
使用内置模板: Template App Nginx by HTTP 或者Template App Nginx by Zabbix agent
如果是通过Nginx by HTTP模板,无需安装Zabbix Agent,Interface可以任意选,但是添加主机时,必
须在客户端处指定Nginx服务器的真实地址



模拟用户请求数 并发数
dnf install -y httpd-tools
while true ;do ab -c 100 -n 1000 http://192.168.3.63/;done




修改url路径
location = /status {
stub_status;
}
vim /etc/nginx/nginx.conf
nginx -s reload
修改宏定义
Zabbix 内置宏定义{$NGINX.STUB_STATUS.PATH}默认值为 basic_status

修改模板中的宏定义值status页面的URL

在主机点击继承宏 修改




监控 PHP-FPM 服务
php-fpm 模板参考:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/php-fpm_agent
在前面nginx基础上实现 php-fpm 服务
dnf -y install php-fpm nginx
vim /etc/php-fpm.d/www.conf
listen=127.0.0.1:9000
pm.status_path = /status #Zabbix系统默认监控路径/status
ping.path = /ping
systemctl start php-fpm.service
systemctl enable --now php-fpm.service
#修改nginx的配置
vim /etc/nginx/conf.d/nginx.conf
cat > /etc/nginx/conf.d/nginx.conf << 'EOF' server { listen 80; # 请替换为你的域名,如果没有域名可以写 _ 或 localhost server_name localhost; # 请替换为你的实际网站根目录 root /var/www/html; index index.php index.html; location / { # 反向代理 PHP-FPM 状态页 9000 端口 location ~ ^/(ping|status)$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # 如果有其他 location 规则可以写在这里... } } EOF
mkdir -p /var/www/html
cat /var/www/html/index.php
<?php
phpinfo();
?>
nginx -s reload
nginx -t
#浏览器测试访问可以看到下面页面

http://192.168.3.63/ping
修改内置模板
注意: 选择正确的模板
建议使用 Zabbix 内置模板 Template App PHP-FPM by Zabbix agent
注意: Template App PHP-FPM by HTTP 有问题,需要修改宏定义,如下修改两项宏定义
其中{$PHP_FPM.HOST}宏定义决定PHP服务器的地址,而和在Zabbix Web上添加的主机和interface无关
使用 Zabbix 内置模板 Template App PHP-FPM by Zabbix agent
内置的宏{$PHP_FPM.STATUS.PAGE} 默认值为status,需要修改为当前PHP实际的路径
修改内置模板的宏定义,注意要和前面php-fpm的路径相匹配
关联内置模板到监控的主机
使用 Zabbix 内置模板 PHP-FPM by HTTP,需要修改宏定义 {$PHP_FPM.HOST} 指向PHP真实服务器的地址

使用 Zabbix 内置模板 Template App PHP-FPM by Zabbix agent

查看监控结果
浙公网安备 33010602011771号