Nginx监控请求lua脚本
来源:互联网 发布:windows7是什么软件 编辑:程序博客网 时间:2024/06/06 10:39
当应答状态码不是200时,通过udp向服务器发送报告。
monitor.lua
-- -- Config Nginx.conf:---- set $str $uri;-- content_by_lua_file;-- -- location /proxy {-- proxy_pass http://{your-server}$str;-- }------ Extends int to 4 byte--function pad32bit(num) local hex = "" local rem = num for i=1,4 do local bit = rem % 256 rem = math.floor(rem /256) hex = hex .. string.char(bit) end return hexendlocal url = ngx.var.urilocal res = ngx.location.capture("/proxy", {vars = {str = url} })-- Responsengx.say(res.body)-- Send udp messageif res.status ~= 200 then-- Protocol-- Length | version | Top-Level no (4) | Second-Level no | json body --local mydata = require "mydata" --local udpsock = mydata:socket() local udpsock = ngx.socket.udp() udpsock:settimeout(0) local ok, err = udpsock:setpeername("224.3.29.71", 10000) local body = "host:" .. ngx.var.host .. ", url:" .. url .. ", status:" .. res.status local leng = 4 + 3 + string.len(body) local msg = pad32bit(leng) .. "\1\4\1" .. body ngx.say("<!--" .. msg .. "-->") local ok, err = udpsock:send(msg)end
Nginx.conf
upstream web{ server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 80; server_name localhost; #charset koi8-r; location / { root html; index index.html index.htm; set $str $uri; content_by_lua_file /home/hailin/monitor.lua; } location /proxy { resolver 8.8.8.8; proxy_pass http://web$str; }
--local mydata = require "mydata"
--local udpsock = mydata:socket()
这种方式只能共享基本类型,不能共享socket
- Nginx监控请求lua脚本
- Nginx监控脚本
- IIS监控请求脚本
- 在Nginx中利用lua脚本获取http请求路径信息
- python脚本监控nginx服务
- zabbix监控nginx(python脚本)
- Nginx+Keepalived(带Nginx监控脚本)
- nginx-lua get post请求小例子
- lua实现跨域请求(Nginx)
- nginx嵌入lua脚本操作redis
- 【OpenResty】lua脚本实现nginx自定义log
- PHP脚本自动监控Nginx 504错误
- 监控Nginx服务的Shell脚本
- 开发监控MySQL 或者 Nginx Shell 脚本
- lua(nginx) 获取请求的请求头
- nginx用lua脚本读取redis(脚本篇)
- 0139 Nginx+Lua+Redis 对请求进行限制
- 利用nginx+lua实现通用的请求输入输出日志打印
- 用PDO连接SQL Server数据库
- 当全世界只有一台电脑
- AWS“山寨”伙伴创意与产品,自我完善or杀鸡取卵
- CentOS 6.4 64位 安装 rails 环境
- VMware用vCloud混合云服务对抗AWS
- Nginx监控请求lua脚本
- VMware挑衅AWS云:我们怎能输给卖书商
- 安装和使用花生壳(linux)
- 不要指责我
- 红帽宣称云计算比微软强大 无视VMware
- 解密云计算的下一批杀手级应用
- Android string.xml 显示特殊符号
- Css 兼容性 核查表
- 使用Go代替Ruby,将服务器数量从30降到2