04 centos实现nginx日记滚动

  在上一篇当中,已经搭建好nginx+tomcat实现动静资源的分离。

  接下来,使用ab做压力测试:

       1.安装httpd-2.2.21-win32-x86-no_ssl.msi试软件。下载地址:http://mirror.bit.edu.cn/apache//httpd/binaries/win32/?C=M;O=A 

       2.使用ab进行压力测试
        //-c : 设置并发度,同时访问的在线人数
        //-n : 设置总的访问请求数。
        cmd>ab -c 100 -n 10000 http://localhost:80/eshop/phone/iphonex.html

     3就会发现

s128占了1份,s129,s130,s131分别占了四份,因为是上一篇中window10上的nginx反向代理服务器将它们权重分别设置为1,4,4,4.

    

    因为在本项目当中,整个收集数据流程是这样的:

           

当客户访问浏览器,在nginx上产生数据,然后每台机开启flume监听日记动态生成,将新生成的数据发送到kafka集群,然后开启两个消费者,一个是hdfs消费者,将储存到kafka集群的数据直接进行存储(原生数据),另外一个是hive消费者,从kafka集群中提取数据,然后进行数据清洗进行实时计算等等。。为了优化hdfs的存储,需要将每日生成的数据在hdfs中以时间来命名,所以,这时需使用到了centos的调度(最小到分钟)即nginx的日记滚动。

使用centos的cron机制实现nginx的日志滚动。(调度)
-----------------------------------------------
    [/usr/local/bin/rolllog.sh]
#!/bin/bash
#
dataformat=`date +%Y-%m-%d-%H-%M`
#
cp /soft/nginx-1.6.3/logs/access.log /soft/nginx-1.6.3/logs/access_$dataformat.log
host=`hostname`
sed -i 's/^/'${host}',&/g' /soft/nginx-1.6.3/logs/access_$dataformat.log
#
lines=`wc -l < /soft/nginx-1.6.3/logs/access_$dataformat.log`
#move access-xxx.log flume's spooldir
mv /soft/nginx-1.6.3/logs/access_$dataformat.log /soft/nginx-1.6.3/logs/flume
#delete rows
sed -i '1,'${lines}'d' /soft/nginx-1.6.3/logs/access.log
#reboot nginx , otherwise log can not roll.
kill -USR1 `cat /soft/nginx/logs/nginx.pid`

然后编辑cron配置
        $>sudo nano /etc/crontab
            [/etc/crontab]
            ...
            PATH=...:/usr/local/bin
            ...
            * * * * * centos testcron.sh
         
         保存退出。

        重启crontab服务器
        $>sudo service crond restart

        会发现在

每分钟产生一个以时间命名的文件,里面存放的是此时间段用户访问的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值