Zabbix监控nginx

Zabbix监控nginx

打开监控取值页面

# 安装nginx
yum install -y nginx

# 修改配置文件/etc/nginx/nginx.conf
vi /etc/nginx/nginx.conf
 server {
 		# 更改nginx端口(防止和apache冲突)
        listen       81;
        server_name  localhost;
        # 增加监控取值页面
		location /ngnix_status {
			stub_status;
		}
}

# 启动、开启自启
systemctl start nginx && systemctl enable nginx
# 如果启动失败查看日志 /var/log/nginx/error.log

# 取值
curl http://192.168.66.101:81/nginx_status
Active connections: 2 
server accepts handled requests
 2 2 3 
Reading: 0 Writing: 1 Waiting: 1 

# Active connections: 正处理的活动连接数,当前的并发连接数
# server:表示nginx启动到现在共处理了多少个连接
# accepts:表示nginx启动到现在共成功创建了多少次握手
# handled requests:表示总共处理了多少次请求
# Reading:为nginx读取到客户端的Header信息数
# Writing:为nginx返回给客户端的Header信息数
# Waiting: 为nginx已经处理完正在等待下一次请求指令的驻留连接

写脚本取值

#!/bin/bash

HOST="192.168.66.101"
PORT="80"

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

# 检测nginx性能
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 waiting {
    /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}

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
$1

配置文件

vi /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
UserParameter=nginx.status[*],/bin/bash /etc/zabbix/scripts/nginx_status.sh $1

配置监控项

# 获取登录cookie
curl -X POST -L -c cookie -b cookie -d "name=Admin&password=zabbix&autologin=1&enter=Sign+in" http://192.168.66.100/zabbix/index.php > 1.html

# 获取sid
grep csrf-token 1.html
<meta name="csrf-token" content="78c3d4da888d096f"/>

# 模拟http-request请求,添加监控项
for n in `cat items.txt` ; do curl -X POST -b cookie  -d "sid=78c3d4da888d096f&form_refresh=1&form=create&hostid=10271&selectedInterfaceId=0&name=${n}%E6%95%B0%E9%87%8F&type=0&key=${n}&url=&query_fields%5Bname%5D%5B1%5D=&query_fields%5Bvalue%5D%5B1%5D=&timeout=3s&post_type=0&posts=&headers%5Bname%5D%5B1%5D=&headers%5Bvalue%5D%5B1%5D=&status_codes=200&follow_redirects=1&retrieve_mode=0&http_proxy=&http_username=&http_password=&ssl_cert_file=&ssl_key_file=&ssl_key_password=&interfaceid=2&snmpv3_authprotocol=0&snmpv3_privprotocol=0&params_es=&params_ap=&params_f=&value_type=3&units=&delay=30s&delay_flex%5B0%5D%5Btype%5D=0&delay_flex%5B0%5D%5Bdelay%5D=&delay_flex%5B0%5D%5Bschedule%5D=&delay_flex%5B0%5D%5Bperiod%5D=&history_mode=1&history=90d&trends_mode=1&trends=365d&valuemapid=0&new_application=&applications%5B%5D=1164&inventory_link=0&description=&status=0&add=%E6%B7%BB%E5%8A%A0" http://192.168.66.100/zabbix/items.php  ; done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值