打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
zabbix 2.0.6 监控nginx
WindySky
>《zabbix》
2016.04.28
关注
环境说明:
OS :CentOS 5.4 64位
nginx (0.8.46):192.168.100.135
zabbix server(2.0.6) :192.168.100.105
首先 zabbix 监控nginx 是根据nginx的Stub Status 模块,抓取Status模块所提供的数据。
如果想启用Stub Status 模块,在编译nginx 的时候要加上参数 --with-http_stub_status_module 例如:
./configure --user=www --group=www --prefix=/opt/app/nginx --with-http_stub_status_module --with-http_ssl_module
在nginx.conf 里添加 Status 配置,端口801(自己随意),
点击(
此处
)折叠或打开
server {
listen 801
;
server_name 192
.
168
.
100
.
135
;
location /webstatus {
stub_status on
;
access_log off
;
allow 127
.
0
.
0
.
1
;
allow 192
.
168
.
100
.
105
;
allow 192
.
168
.
100
.
135
;
deny all
;
}
}
访问Status 如下图:
nginx Status 说明:
Active connections: 对后端发起的活动连接数。
server accepts handled requests
64603417 64603417 90009784 nginx 总共处理了64603417个连接,成功创建了64603417次握手,总共处理了90009784请求。
Reading: 11 Writing: 2 Waiting: 488 Reading: nginx 读取客户端的header数, Writing: nginx 返回给客户端的header数, Waiting: nginx 请求处理完成,正在等待下一 请求指令的连接。
在zabbix 加入配置
点击(
此处
)折叠或打开
[
man@web
-
nginx02 ~
]
$
vim /etc/zabbix/zabbix_agentd
.
conf
加入
#nginx
UserParameter
=
nginx
.
accepts
,
/
usr/
local
/
sbin/nginx_status
.
sh accepts
UserParameter
=
nginx
.
handled
,
/
usr/
local
/
sbin/nginx_status
.
sh handled
UserParameter
=
nginx
.
requests
,
/
usr/
local
/
sbin/nginx_status
.
sh requests
UserParameter
=
nginx
.
connections
.
active
,
/
usr/
local
/
sbin/nginx_status
.
sh active
UserParameter
=
nginx
.
connections
.
reading
,
/
usr/
local
/
sbin/nginx_status
.
sh reading
UserParameter
=
nginx
.
connections
.
writing
,
/
usr/
local
/
sbin/nginx_status
.
sh writing
UserParameter
=
nginx
.
connections
.
waiting
,
/
usr/
local
/
sbin/nginx_status
.
sh waiting
新建脚本
,注意修改自己的HOST,PORT 变量
点击(
此处
)折叠或打开
[
man@web
-
nginx02 ~
]
$
cat /usr/
local
/
sbin/nginx_status
.
sh
#
!
/
bin/bash
# Script to fetch nginx statuses
for
tribily monitoring systems
# Author
:
krish@toonheart
.
com
# License
:
GPLv2
# Set Variables
BKUP_DATE
=
`
/
bin/date
+
%
Y%m%d`
LOG
=
"/etc/zabbix/webstatus.log"
HOST
=
`
/
sbin/ifconfig eth1
|
sed
-
n
'/inet /{s/.*addr://;s/ .*//;p}'
`
PORT
=
"801"
# Functions to return nginx stats
function active {
/usr/bin/curl
"http://$HOST:$PORT/webstatus"
2
>
/
dev/null
|
grep
'Active'
|
awk
'{print $NF}'
}
function reading {
/usr/bin/curl
"http://$HOST:$PORT/webstatus"
2
>
/
dev/null
|
grep
'Reading'
|
awk
'{print $2}'
}
function writing {
/usr/bin/curl
"http://$HOST:$PORT/webstatus"
2
>
/
dev/null
|
grep
'Writing'
|
awk
'{print $4}'
}
function waiting {
/usr/bin/curl
"http://$HOST:$PORT/webstatus"
2
>
/
dev/null
|
grep
'Waiting'
|
awk
'{print $6}'
}
function accepts {
/usr/bin/curl
"http://$HOST:$PORT/webstatus"
2
>
/
dev/null
|
awk NR
=
=
3
|
awk
'{print $1}'
}
function handled {
/usr/bin/curl
"http://$HOST:$PORT/webstatus"
2
>
/
dev/null
|
awk NR
=
=
3
|
awk
'{print $2}'
}
function requests {
/usr/bin/curl
"http://$HOST:$PORT/webstatus"
2
>
/
dev/null
|
awk NR
=
=
3
|
awk
'{print $3}'
}
# Run the requested function
$1
[man@web-nginx02 ~]$ chmod +x /usr/local/sbin/nginx_status.sh
二,在zabbix 导入模板,并把主机加入模板中。
nginx_status.xml
重启agent
在zabbix server 端进行zabbix_get测试,取到数据了,说明没问题。
点击(
此处
)折叠或打开
[
pomelo@jumper ~
]
$
zabbix_get
-
s 192
.
168
.
100
.
135
-
p 10050
-
k
"nginx.connections.active"
559
三,查看图型
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
【热】
打开小程序,算一算2024你的财运
Zabbix监控之Nginx的状态监控
Zabbix宏使用及用户自定义监控(三)
zabbix基本操作
zabbix自定义监控nginx状态实现过程
zabbix 4.04 安装文档 - 基于CentOS 7.6
使用源码编译安装PHP7
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×