• 欢迎访问VPS岛网站,国外VPS,国内VPS,国外服务器,国内服务器,服务器主机,测评及优惠码,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群

zabbix 监控web和nginx

Nginx相关 运维小白菜 89次浏览 已收录 0个评论

1.监控web

Zabbix的Web监测功能,没有任何依赖,不需要agent端,全部依赖于Server的主动监测
利用Web监测,监测Server端的nginx首页

点击 web监测
zabbix 监控web和nginx
点击右上角创建web场景
zabbix 监控web和nginx
客户端的选择比较只能,我们可以默认,它自动会选择
zabbix 监控web和nginx
添加步骤
zabbix 监控web和nginx
名称随便写,URL为你要监控的ip ,要求验证码为200(如果不是200就报警)
zabbix 监控web和nginx

查看一下
zabbix 监控web和nginx

2.监控nginx状态
2.1 创建nginx监控status

在nginx的配置文件中,添加status配置
[root@ng-to-re ~]# vim /app/nginx/conf/nginx.conf
        location = /nginx-status {
            stub_status on;
            access_log  off;
            allow 127.0.0.1;
            allow 192.168.9.111;    #zabbix服务器地址一般是内网地址
            deny all;
           }

重启
[root@ng-to-re ~]# systemctl restart nginx

在zabbix-server上测试连通性
[root@zabbix alertscripts]# curl 192.168.9.112/nginx-status
Active connections: 1 
server accepts handled requests
 2 2 2 
Reading: 0 Writing: 1 Waiting: 0

nginx status详细说明如下:
Active connections:对后端发起的活动连接数;
accepts:nginx总共处理了多少个连接;
handled:nginx成功创建了几次握手;
requests:nginx总共处理了多少请求。
Reading:nginx读取客户端的header数;
Writing:nginx返回给客户端的header数;
Waiting:nginx请求处理完成,正在等待下一请求指令的连接

2.2 在agents端创建脚本和自定义配置文件

创建脚本:
[root@ng-to-re zabbix]# mkdir /etc/zabbix/scripts
[root@ng-to-re zabbix]# cd /etc/zabbix/scripts
[root@ng-to-re scripts]# vim nginx_status.sh 

#!/bin/bash
# Set Variables

HOST="127.0.0.1"
PORT="80"

#Functions to return nginx stats
function active(){
    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Active" | awk '{print $NF}'
}
function reading(){
    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Reading" | awk '{print $2}'
}
function writing(){
    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Writing" | awk '{print $4}'
}
function accepts(){
    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $1}'
}
function handled(){
    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $2}'
}
function requests(){
    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $3}'
}
function ping(){
    /sbin/pidof nginx | wc -l
}
# Run the requested function
$1

给执行权限和改双主
[root@ng-to-re scripts]# chmod +x nginx_status.sh 
[root@ng-to-re scripts]# chown zabbix.zabbix nginx_status.sh

创建配置文件
[root@ng-to-re zabbix_agentd.d]# cat /etc/zabbix/zabbix_agentd.d/nginx_status.conf 
UserParameter=nginx.status[*],/etc/zabbix/scripts/nginx_status.sh $1

重启agent客户端
[root@ng-to-re zabbix_agentd.d]# systemctl restart zabbix-agent

在zabbix-server端测试拉取
[root@zabbix externalscripts]# zabbix_get -s 192.168.9.112 -k "nginx.status[reading]" -p 10050
0
[root@zabbix externalscripts]# zabbix_get -s 192.168.9.112 -k "nginx.status[writing]" -p 10050
1
[root@zabbix externalscripts]# curl 192.168.9.112/nginx-status
Active connections: 1 
server accepts handled requests
 41 41 41 
Reading: 0 Writing: 1 Waiting: 0

2.3在zabbix-server上添加nginx-status模板,模板可以导入也可以自己一条条添加做成模板,我们先用已经一条条做完的模板,导入进来
点击模板—导入模板
zabbix 监控web和nginx
导入进来了名字叫 Template App NGINX
zabbix 监控web和nginx
导进来的模板我们把它应用在ng-to-re服务器上,选择ng主机—模板–链接指示器中找到 Template App NGINX 并添加进来,更新
zabbix 监控web和nginx
导入进来的模板只有ping的触发器我们加一个writing的触发器 模板–选择Template App NGINX—触发器
zabbix 监控web和nginx
创建触发器—点击添加
zabbix 监控web和nginx
zabbix 监控web和nginx
点击–表达式构造器,点击严重性
zabbix 监控web和nginx
添加图形
zabbix 监控web和nginx
选择主机和图形进行查看我们刚刚弄得图形
zabbix 监控web和nginx


VPS岛 的文章和资源来自互联网,仅作为参考资料,如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。丨 转载请注明zabbix 监控web和nginx
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址