zabbix监控nginx系统

准备两台服务器

在这里插入图片描述
我的所有安装都是源码安装,yum安装可能路径配置不一样

192.168.10.135
	安装zabbix
192.168.10.139
	被监控服务器
	安装zabbix_agentd
	安装nginx

zabbix安装

zabbix安装

zabbix_agentd安装

Zabbix Agent编译安装
yum install -y gcc gcc-c++ make pcre-devel
useradd -s /sbin/nologin zabbix
cd /usr/local/src/
wget 'https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz'
tar -zxvf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
chown zabbix:zabbix -R /usr/local/zabbix/

环境变量配置
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/

进入vim /usr/local/zabbix/etc/zabbix_agentd.conf修改配置文件
PidFile=/usr/local/zabbix/zabbix_agentd.pid  #可以使用默认的,不修改
LogFile=/usr/local/zabbix/zabbix_agentd.log #可以使用默认的,不修改
Hostname=主机名  #可以写本机被监控的ip地址
Server=监控服务器ip
ServerActive=监控服务器ip
UnsafeUserParameters=1  #开启zabbix-get可以检测
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

zabbix agent启动
/usr/local/zabbix/sbin/zabbix_agentd

nginx安装

需要安装nginx-status
源码安装

yum install -y wget gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel
cd /usr/local/src
yum install lrzsz -y
wget 'http://nginx.org/download/nginx-1.14.2.tar.gz'
tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx  --user=nginx --group=nginx --with-http_stub_status_module
make && make install

手动启动和关闭Nginx
Vim /etc/profile
环境变量:export PATH=$PATH:/usr/local/nginx/sbin/
Source /etc/profile
检查Nginx配置: nginx -t
启动Nginx:nginx
关闭Nginx:nginx -s stop

验证Nginx安装是否成功
查看进程  ps auxfw | grep nginx
查看监控端口	netstat -tulnp | grep nginx
nginx日志	 logs/access.log
浏览器访问

修改配置文件

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
重启nginx
访问http://IP地址/nginx-status
在这里插入图片描述

编写zabbix监控nginx脚本

#!/bin/bash
#编写检查nginx服务器的脚本

#http和端口
HOST="192.168.10.139"
PORT="80"

#检测nginx进程是否存在
function ping(){
	/sbin/pidof nginx | wc -l
}

#检测nginx的性能
#Active 链接数
function active(){
		/usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Active" | awk '{print $NF}'
}

#accepts
function accepts(){
	/usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | sed -n '3p' | awk '{print $1}'
}
#handled
function handled(){
	/usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | sed -n '3p' | awk '{print $2}'
}
#requests
function requests(){
	/usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | sed -n '3p' | awk '{print $3}'
}
#Reading
function Reading(){
	/usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Reading" | awk '{print $2}'
}
#Writing
function Writing(){
	/usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Writing" | awk '{print $4}'
}
#Waiting
function Waiting(){
	/usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Waiting" | awk '{print $6}'
}


#执行function
$1

修改zabbix配置文件

在这里插入图片描述

/usr/local/zabbix/etc/zabbix_agentd.conf.d/下面创建mem.conf文件

UserParameter=nginx.status[*],sh /usr/local/zabbix/etc/check-nginx.sh $1

测试zabbix-get连通性

在这里插入图片描述

zabbix服务器监控模板

创建模板

在这里插入图片描述
模板里面创建监控项
在这里插入图片描述
监控查询
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值