AWS云服务器centos-7-zabbix-3.2.11客户端监控nginx-1.10状态信息-部署 (三)

环境准备:

  客户端端-aws-云服务器-centos7版本

   需要的软件:

   zabbix-3.2.11

   nginx-1.10

    软件目录:

    /opt/zabbix-agent

    占用端口:

    zabbix-agentd 10050

   nginx 81


    继续上一篇我们来做nginx状态监控 本文参考了博客 chenjianwen 博客链接:https://www.cnblogs.com/chenjw-note/p/6138432.html QQ:1071179133  因为使用的是线上环境场景配置过程中提供了非常多的帮助。跟他的链接内容略有区别。

一、nginx配置

#1 我的环境目录是

配置文件 ll /home/deploy/nginx/conf/nginx.conf

启动文件 ll /home/deploy/nginx/sbin/nginx


#2 检查是否安装 --with-http_stub_status_module参数 如果没有的话我之前是源码编译安装,安装方法是到源码安装目录文件,然后重新执行一遍以下参数,cp nginx启动目录到现有安装目录下。把现有的/sbin/nginx 启动文件备份,然后拷贝.

/home/deploy/nginx/sbin/nginx -V

 --prefix=/home/deploy/nginx --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module



#3 考虑实际情况是我nginx是做了https加密,所以我们换个思路给他做单域名多端口配置,让他默认走http协议。

新增目录conf.d

mkdir /home/deploy/nginx/conf.d


#4 拷贝主配置文件然后做个备份(安全第一)

cd /home/deploy/nginx/conf/

cp nginx.conf  nginx.conf_bak0529

cp nginx.conf /home/deploy/nginx/conf.d/XXX.conf  ###这个是我的主站点文件


#5 创建我们的状态文件 我准备给他分配81端口(查看是否占用)

netstat -anp|grep 81

vi /home/deploy/nginx/conf.d/nginx_status.conf

server {
        listen       81;
        charset UTF-8;
        server_name 公网ip;

     location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        allow 监控服务端IP;
        }
}

保存退出:wq!


#6 先修改拷贝过来conf.d主配置文件 。内容我就不贴了 把从配置文件server以前的删除掉。


#7 分配个权限 

chmod 755 -R /home/deploy/nginx/conf.d


#8 修改nginx.conf 清理掉 保证http内容在就可以了  添加一句include /home/deploy/nginx/conf.d/*.conf;这个意思是指定他的配置文件路径-当nginx启动时候会先访问nginx.conf -然后通过include套用conf.d/里面所有的.conf文件

vi /home/deploy/nginx/conf/nginx.conf

worker_processes  auto;


events {
    worker_connections  2048;
    use epoll;
    multi_accept on;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server_tokens off; 
    keepalive_timeout  65;
    client_max_body_size    20m;
    client_header_timeout 10; 
    client_body_timeout 65; 
    reset_timedout_connection on; 
   # send_timeout 10;
    send_timeout 30; 
    limit_req_zone $binary_remote_addr zone=allips:10m rate=100r/s;
    include   gzip.conf;
    include /home/deploy/nginx/conf.d/*.conf;
#禁止ip访问
    server {
           server_name _;
           return 404;
    }


后面的删除掉

保存退出:wq!


#9 平滑启动

/home/deploy/nginx/sbin/nginx -s reload


#10 测试nginx状态信息

curl 127.0.0.1:81/nginx_status

Active connections: 11 
server accepts handled requests
 6604 6604 68961 

Reading: 0 Writing: 2 Waiting: 9


二 zabbix-agent配置

#1 我的环境目录是

主目录 /opt/zabbix-agent

启动文件 /etc/init.d/zabbix-agentd


#2 创建目录配置客户端脚本

mkdir /opt/zabbix-agent/etc/scripts

vi /opt/zabbix-agent/etc/scripts/nginx_status.sh

#!/bin/bash

HOST="127.0.0.1"
PORT="81"
 
# 检测nginx进程是否存在
function ping {
    /sbin/pidof nginx | wc -l
}
# 检测nginx性能
function active {
    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
# 执行function
$1

保存退出:wq!


#3 将自定义的UserParameter加入zabbix_agentd.conf.d配置文件 这是我们刚刚添加的脚本文件指定路径

vi /opt/zabbix-agent/etc/zabbix_agentd.conf.d/nginx_status.conf

UserParameter=nginx_status[*],/bin/bash /opt/zabbix-agent/etc/scripts/nginx_status.sh "$1"

保存退出:wq!


#4 配置zabbix_agentd.conf增加以下这句方便以后添加多个服务监控

Include=/opt/zabbix-agent/etc/zabbix_agentd.conf.d/*.conf


#5 配置权限

chown -R zabbix.zabbix /opt/zabbix-agent/etc/

chmod -R 755 /opt/zabbix-agent/etc/


#6.模板附件下载到你自己电脑:zabbix_monitor_nginx_template_ttlsa_com 

http://www.ttlsa.com/wp-content/uploads/2015/10/zabbix_monitor_nginx_template_ttlsa_com.zip


#7 重启zabbix-agent服务

/etc/init.d/zabbix-agentd restart

启动失败可以查看日志

tail -f /tmp/zabbix-agentd.log


#8 从server端导入模板









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值