zabbix监控Nginx
来源:互联网 发布:软件运营工资待遇 编辑:程序博客网 时间:2024/05/16 03:51
zabbix-server和agent之前与写过部署,这里不说了
环境
centos 6.9
部署Nginx
(1)查看是否已经安装了REPC
rpm -qa | grep “REPC”
同理 查看openssl gzip wget
(2)如果没有安装则使用yum命令安装下,需要在root权限下操作
分别是
yum install pcre* yum install openssl* yum install zlib yum install zlib-devel yum install wget
(3)下面开始安装nginx
wget http://nginx.org/download/nginx-1.8.0.tar.gz
(4)下载好了以后,自己找个位置复制过去,然后解压。我这里是放在了/root下
cp nginx-1.8.0.tar.gz /usr/localcd /usr/localtar -zxvf nginx-1.8.0.tar.gz
(5)解压完毕,进去,安装。
cd nginx-1.8.0./configure --prefix=/usr/local/nginx-1.8.0 \--with-http_ssl_module --with-http_spdy_module \--with-http_stub_status_module --with-pcre
注意:在zabbix agentd客户端上,查看nginx是否加载了–with-http_stub_status_module。因为zabbix监控nginx是根据nginx的Stub Status模块,抓取Status模块所提供的数据。假如以前没开启,现在想启用StubStatus 模块,在编译nginx 的时候要加上参数 –with-http_stub_status_module
(6)执行这个命令
make && make install 之后进入安装目录 然后 启动 ./sbin/nginx ps -ef|grep "nginx"查看服务是否启动 有两个服务
(7)至此 安装完毕了。
修改conf/nginx.conf 来完成配置 之后 重启nginx 服务./sbin/nginx -s reload
开启nginx status
需要使用zabbix监控nginx,首先nginx需要配置ngx_status
1. 启用nginx status配置
在默认主机里面加上location或者你希望能访问到的主机里面。
# vi /usr/local/nginx-1.8.0/conf/nginx.confserver { listen *:80 default_server; server_name _; location /ngx_status { stub_status on; access_log off; allow all; #deny all;}
2. 重启nginx
请依照你的环境重启你的nginx
[root@web nginx-1.8.0]# pwd/usr/local/nginx-1.8.0# ./sbin/nginx
3. 打开status页面
或者
[root@web nginx-1.8.0]# curl http://127.0.0.1/ngx_statusActive connections: 1 server accepts handled requests 1221 1221 1276 Reading: 0 Writing: 1 Waiting: 0
4. nginx status详解
active connections – 活跃的连接数量
server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.
zabbix监控Nginx
1.在agentd上编写监控nginx的脚本,并且设置属主和属组为zabbix,赋予执行权限。
cd /usr/local/nginx-1.8.0cat nginx_status.sh#!/bin/bashcase $1 in active) curl -s http://127.0.0.1:80/ngx_status | awk '/Active/ {print $3}' ;; accepts) curl -s http://127.0.0.1:80/ngx_status | awk 'NR==3 {print $1}' ;; handled) curl -s http://127.0.0.1:80/ngx_status | awk 'NR==3 {print $2}' ;; requests) curl -s http://127.0.0.1:80/ngx_status | awk 'NR==3 {print $3}' ;; reading) curl -s http://127.0.0.1:80/ngx_status | awk '/Reading/ {print $2}' ;; writing) curl -s http://127.0.0.1:80/ngx_status | awk '/Writing/ {print $4}' ;; waiting) curl -s http://127.0.0.1:80/ngx_status | awk '/Waiting/ {print $6}' ;; *) echo "Usage: $0 { active | accepts | handled | requests | reading | writing | waiting }" ;;esac
修改权限
chmod +x nginx_status.sh chown zabbix.zabbix nginx_status.sh[root@web nginx-1.8.0]# ll nginx_status.sh -rwxr-xr-x. 1 zabbix zabbix 767 Oct 31 03:52 nginx_status.sh
2.修改nginx服务器上zabbix客户端的zabbix_agentd.conf配置文件,然后重启zabbix agentd客户端。
# vi /etc/zabbix/zabbix_agentd.confServer=192.168.1.10 #zabbix server端的IP地址(主动模式)ServerActive=192.168.1.10 #zabbix server端的IP地址(被动模式)Hostname=web #本机的主机名(此处的名字需要与zabbix-server端对应)UnsafeUserParameters=1 (不安全的用户参数)###下面是添加进去的UserParameter=nginx.accepts,/usr/local/nginx-1.8.0/nginx_status.sh acceptsUserParameter=nginx.handled,/usr/local/nginx-1.8.0/nginx_status.sh handledUserParameter=nginx.requests,/usr/local/nginx-1.8.0/nginx_status.sh requestsUserParameter=nginx.connections.active,/usr/local/nginx-1.8.0/nginx_status.sh activeUserParameter=nginx.connections.reading,/usr/local/nginx-1.8.0/nginx_status.sh readingUserParameter=nginx.connections.writing,/usr/local/nginx-1.8.0/nginx_status.sh writingUserParameter=nginx.connections.waiting,/usr/local/nginx-1.8.0/nginx_status.sh waiting
3.在zabbix server 端进行zabbix_get测试,取到数据了,说明没问题。
zabbix_get 这个命令没有的话可以安装
#yum install -y zabbix-get参数说明:-s --host: 指定客户端主机名或者IP-p --port:客户端端口,默认10050-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。-k --key:你想获取的key至于使用长参数还是短的,自己选,我经常使用-s而不是-host,太长了。来个例子咯root@zabbix:~# zabbix_get -s 192.168.93.20 -p 10060 -k "nginx.connections.reading"0root@zabbix:~# zabbix_get -s 192.168.93.20 -p 10060 -k "nginx.connections.writing"1root@zabbix:~# zabbix_get -s 192.168.93.20 -p 10060 -k "nginx.connections.waiting"0root@zabbix:~# zabbix_get -s 192.168.93.20 -p 10060 -k "nginx.connections.active"1
4.zabbix中nginx status的模板
下载地址:链接: https://pan.baidu.com/s/1dFAiuRJ 密码: 6sxv
5.登陆到zabbix服务器首页,将上面的模板导入
把nginx主机链接到nginx模板中去
到此为止,实验完毕,欢迎指正
- 利用Zabbix监控Nginx
- 利用Zabbix监控Nginx
- Zabbix 监控 Nginx
- Zabbix监控nginx性能
- zabbix监控 nginx 模板
- zabbix 监控 nginx
- Zabbix监控nginx性能
- zabbix监控Nginx状态
- zabbix 监控nginx
- [Zabbix] Nginx 监控
- zabbix 3.0 nginx监控
- Zabbix监控nginx性能
- zabbix监控Nginx
- zabbix监控nginx状态
- 7.zabbix学习笔记:zabbix监控nginx
- zabbix 监控nginx菜鸟版
- zabbix监控nginx(python脚本)
- zabbix监控nginx性能状态
- redis存取各类数据
- extern的使用
- android关于去标题教程和报错解决方案
- ubuntu 14.04下安装openssl
- BZOJ 1342 单调队列
- zabbix监控Nginx
- nginx
- iOS开发-AutoreleasePool是什么时候销毁的?
- 2015-07-13有关opencv 中三通道图像赋值问题
- 利用using Microsoft.Office.Interop.Excel生成excel,向单元格中添加图片
- 文章标题
- poi表格读取
- 文章标题
- android.database.sqlite.SQLiteException: table userinfo has no column named signature (code 1): , w