zoukankan      html  css  js  c++  java
  • 网站流量、连接数等监控

    一、NGINX查看并发连接

    1.通过WEB界面查看,

      ①开启status模块,即安装Nginx时加上 --with-http_stub_status_module

      ②修改Nginx.conf,在server节加入如下内容

    location /Nginxstatus {
       stub_status on;
       access_log /usr/local/nginx/logs/status.log;    #日志
       auth_basic "NginxStatus";            
    }
     
    #access_log、auth_basic均可不写

      ③重新加载Nginx服务,然后通过浏览器访问http://你的域名/Nginxstatus

      状态说明:

      Active connections    //当前 Nginx 正处理的活动连接数.

      server accepts handledrequests  //总共处理了387142个连接,成功创建387142次握手,总共处理了4804888个请求.

      Reading         //nginx 读取到客户端的 Header 信息数.

      Writing         //nginx 返回给客户端的 Header 信息数.

      Waiting         //开启 keep-alive 的情况下,这个值等于active-(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接.

    2.通过

    [root@localhost ~]# netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

      状态说明:

      LAST_ACK        //等待所有分组死掉

      SYN_RECV        //一个连接请求已经到达,等待确认

      ESTABLISHED     //正常数据传输状态/当前并发连接数

      FIN_WAIT2       //另一边已同意释放

      ITMED_WAIT          //等待所有分组死掉

      CLOSING         //两边同时尝试关闭

      TIME_WAIT       //另一边已初始化一个释放

      参考:https://www.cnblogs.com/lianzhilei/p/6025267.html

    二、netstat查看连接数,并发数

    [root@localhost ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'

      状态说明:

      -a            显示所有连接和侦听端口。//常用
      -b            显示在创建每个连接或侦听端口时涉及的可执行程序。//常用                 
          在某些情况下,已知可执行程序承载多个独立的                  
           组件,这些情况下,显示创建连接或侦听端口时涉                 
          及的组件序列。此情况下,可执行程序的名称                 
          位于底部[]中,它调用的组件位于顶部,直至达
          到 TCP/IP。注意,此选项可能很耗时,并且在您没有                 
          足够权限时可能失败。
      -e          显示以太网统计。此选项可以与 -s 选项结合使用。//常用
      -f           显示外部地址的完全限定域名(FQDN)。//没用   
      -n          以数字形式显示地址和端口号。   //常用   
      -o          显示拥有的与每个连接关联的进程 ID。//没用
      -p proto 显示 proto 指定的协议的连接;proto 可以是下列任                 
                     何一个: TCP、UDP、TCPv6 或 UDPv6。   
                     如果与 -s 选项一起用来显示每个协议的统计,proto 可以是下列任                 
                    何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP                 
                     或 UDPv6。  
      -r         显示路由表。//常用
      -s         显示每个协议的统计。默认情况下,显示   //有用
                    IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6                 
                     的统计;-p 选项可用于指定默认的子网。
      -t          显示当前连接卸载状态。 //没用

      interval      重新显示选定的统计,各个显示间暂停的间隔秒数。                 
                      按 CTRL+C 停止重新显示统计。如果省略,则 netstat                 
                      将打印当前的配置信息一次。

    三、netstat 实时监控IP连接数

      如果服务器被流量攻击,或其它需要查看IP连接数的场景,可以使用下面的命令实时监控各IP的连接数。

    [root@localhost ~]# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

    四、iftop流量监控

    1、iftop界面相关说明

    界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

    中间的<= =>这两个左右箭头,表示的是流量的方向。

    TX:发送流量
    RX:接收流量
    TOTAL:总流量
    Cumm:运行iftop到目前时间的总流量
    peak:流量峰值
    rates:分别表示过去 2s 10s 40s 的平均流量

    2、iftop相关参数

    常用的参数

    -i设定监测的网卡,如:# iftop -i eth1

    -B 以bytes为单位显示流量(默认是bits),如:# iftop -B

    -n使host信息默认直接都显示IP,如:# iftop -n

    -N使端口信息默认直接都显示端口号,如: # iftop -N

    -F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

    -h(display this message),帮助,显示参数信息

    -p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;

    -b使流量图形条默认就显示;

    -f这个暂时还不太会用,过滤计算包用的;

    -P使host信息及端口信息默认就都显示;

    -m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

    进入iftop画面后的一些操作命令(注意大小写)

    按h切换是否显示帮助;

    按n切换显示本机的IP或主机名;

    按s切换是否显示本机的host信息;

    按d切换是否显示远端目标主机的host信息;

    按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;

    按N切换显示端口号或端口服务名称;

    按S切换是否显示本机的端口信息;

    按D切换是否显示远端目标主机的端口信息;

    按p切换是否显示端口信息;

    按P切换暂停/继续显示;

    按b切换是否显示平均流量图形条;

    按B切换计算2秒或10秒或40秒内的平均流量;

    按T切换是否显示每个连接的总流量;

    按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;

    按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;

    按j或按k可以向上或向下滚动屏幕显示的连接记录;

    按1或2或3可以根据右侧显示的三列流量数据进行排序;

    按<根据左边的本机名或IP排序;

    按>根据远端目标主机的主机名或IP排序;

    按o切换是否固定只显示当前的连接;

    按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!

    按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!

    按q退出监控。

      参考:https://www.vpser.net/manage/iftop.html

  • 相关阅读:
    Ie console未定义
    jquery bind和live区别
    php insert 空
    ie8及以下不支持getElemlentsByClassName
    jquery ajax parseerror
    你的灯亮着吗——发现问题的真正所在(摘录)
    转:getElementById引起的jQuery的选择器bug
    JS判断是否为数字、JS判断是否为整数、JS判断是否为浮点数
    Microsoft .NET Framework 4 (Standalone Installer)
    Not enough memory is available to complete this request
  • 原文地址:https://www.cnblogs.com/dudumao/p/9449408.html
Copyright © 2011-2022 走看看