zoukankan      html  css  js  c++  java
  • linux_常用日志过滤命令

    归档2015年在br做运维时常用的命令,主要梳理出日志的过滤操作。
    对于日志文本的处理,常用的还是sed、awk,具体如下:

    统计ip访问量:

    cat nginx.log |awk '{print $2,$11}' | awk ' {++S[$1]; V[$1]+=$2 } END {for(a in S) print a, S[a], V[a]}' |sort -nrk2 |head
    222.93.28.28 132171 15367772663
    115.168.84.186 130746 29782262441
    114.221.180.61 126604 22408007956
    61.187.159.136 108039 4166438896
    

    通过sed正则匹配需要的域

    head -n 20 nginx.log |sed 's/([^ ]*) .*(imei=[^&]*).*/1,2/'
    过虑前:
    125.126.250.49 - - [09/Jul/2015:00:00:01 +0800] "GET /client/spiritscreen/recommend?version=12.150417&imei=51B5ECC4A771CEF1D3BA81B34F4416C0&channelId=jltop_m_scb07&p=com.GreanMaster.pixelmonmcpecraftrun2 HTTP/1.0" 200 0.032 938 "-" "-" "125.126.250.49" "-" "-"
    过虑后:
    125.126.250.49,imei=51B5ECC4A771CEF1D3BA81B34F4416C0
    ## 其中:
    [^ ]:表示匹配非空
    1,2:表示取出前面括号内的对应内容,并逗号隔开
    

    统计tcp连接情况

    [root@zabbix ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    TIME_WAIT 68
    SYN_SENT 3
    ESTABLISHED 72
    LAST_ACK 3
    

    nginx变量的统计:$body_bytes_sent

    cat down.nginx.log |grep 23/May/2015 |awk '{print $11}' |awk '{sum += $1} END {print "Sum = ", sum}'
    Sum =  2695161432870
    

    排序过虑下载频率

    cat down.nginx.log |awk '{print $8}' |sed 's/_t[0-9]{11}//' |sed 's/?.*$//' |sed 's/^/.*[ ]//' |sort |uniq -c |sort -n > sort_0401
    

    nginx status

    wget -O- -q -t 3 -T 3 --no-check-certificate http://172.16.114.54:80/status
    

    nc使用

    nc -z -w 1 -u 172.16.114.22 123    #加-u可测试udp
    Connection to 172.16.114.22 123 port [udp/ntp] succeeded!
    

    远程ssh机箱上的reset健重启

    ## 有时候linux由于硬盘或者其它原因,某个进程挂住怎么也杀不死,输入reboot也无法重启
    ## 这时候,一般只能按机箱上的reset健来重启了,下面两行命令可以搞定:
    echo 1 > /proc/sys/kernel/sysrq
    echo b > /proc/sysrq-trigger
    

    小时的请求量进行统计

    cat nginx.log |sed 's/.*[(.*2015:[^:]*).*].*/1/' | sort |uniq -c
      10762 14/Feb/2015:14
       1876 14/Feb/2015:15
        502 14/Feb/2015:19
        378 14/Feb/2015:20
    

    rsync的几种操作

    rsync -avz 172.16.190.56::data /data0/wwwroot/data/ --files-from=/data0/logs/sort_miss_04292015 --progress
    rsync -avz 172.16.11.11::data/xbz1.apk /var/log/ --progress
    rsync 172.16.17.11::d0_data/ /data0/ --files-from=file.list -artv >> ~/rsync.log
    rsync -avz root@172.16.18.11::data_s/d /data0/ --list-only |grep -v -E '^d' > file.list
    
  • 相关阅读:
    Delphi的idhttp报508 Loop Detected错误的原因
    Delphi的idhttp报IOHandler value is not valid错误的原因
    华为S5700S-52P-LI-AC千兆网管交换机web登录界面配置
    解决win2003/2008下注册机或破解补丁程序无法运行问题
    SQL拆分(转)
    1602四线驱动
    ADC取样
    Delphi AES加密(转)
    使用Qt开发中国象棋(一):概述
    清除当前文件夹下.svn文件的方法
  • 原文地址:https://www.cnblogs.com/jiba/p/12045111.html
Copyright © 2011-2022 走看看