1 安装 nginx 和模块 --with-http_stub_status_module
装
yum -y install gcc pcre-devel openssl-devel //安装常见依赖包
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --with-http_stub_status_module /开启status状态页面
make && make install //编译并安装
配
/usr/local/nginx/conf/nginx.conf #在配置文件里面添加下面这段
location /status {
stub_status on;
}
2 安装 Zabbix Agent 客户端 --enable-agent
装
yum -y install gcc pcre-devel
tar -xf zabbix-3.4.4.tar.gz
cd zabbix-3.4.4/
./configure --enable-agent
make && make install
useradd -s /sbin/nologin zabbix
修改配置文件
vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,176.130.2.49 //谁可以监控本机(被动监控模式)
ServerActive=127.0.0.1,176.130.2.49 //谁可以监控本机(主动监控模式)
Hostname=fyf //被监控端自己的主机名
EnableRemoteCommands=1 //监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
UnsafeUserParameters=1 //是否允许自定义key监控
zabbix_agentd 启动服务
killall zabbix_agentd 关闭服务
3 自定义监控命令
vim /usr/local/etc/zabbix_agentd.conf.d/nginx.status
UserParameter=nginx.status.Active,curl -s http://176.130.2.33/status |awk '/Active/{print $NF}' #Active connections:当前活动的连接数量。
UserParameter=nginx.status.Accepts,curl -s http://176.130.2.33/status |awk '/Waiting/{print $NF}' #Accepts:已经接受客户端的连接总数量。
UserParameter=nginx.status.Waiting,curl -s http://176.130.2.33/status |awk 'NR==3{print $2}' #Waiting:当前多少客户端在等待服务器的响应。
UserParameter=nginx.server.port,nmap 176.130.2.33 -p 80 | grep open | wc -l #检查nginx80端口是否开启
UserParameter=nginx.server.status,curl -I http://176.130.2.33 2>/dev/null|head -1|egrep "200|302|301"|wc -l #服务是否正常
测试写好的自定义key
zabbix_get -s 127.0.0.1 -k nginx.status.Active