怎么监控特定程序的网络发包 linux服务器监控的几个方法和命令?

[更新]
·
·
分类:互联网
1588 阅读

怎么监控特定程序的网络发包

怎么监控特定程序的网络发包 linux服务器监控的几个方法和命令?

linux服务器监控的几个方法和命令?

linux服务器监控的几个方法和命令?

摘要

今天主要总结一下mpstat,iostat,sar,vmstat的命令。这些命令都是运维人员必备的,可以的话我不想偷懒。

1、mpstat

Mpstat是多处理器统计的缩写,是一个实时监控工具。它报告一些关于cpu的统计信息,这些信息存储在/proc/stat文件中。在多cpu系统中,不仅可以查看所有CPU的平均状态信息,还可以查看具体的CPU信息。mpstat最大的特点是3360可以查看一个多核CPU中各个计算核心的统计数据。而类似的工具vmstat只能查看系统的整体cpu。

示例:检查多核cpu当前运行状态,每两秒更新一次,共5次更新。

# mpstat 2 5

描述:

%用户在内部周期的CPU时间( %),不包括nice值为负的进程(usr/total)*100。

%nice CPU时间( %) (nice/TOTAL) * 100,用于内部周期内nice值为负的进程。

%sys内部期间,核心时间(%)(系统/总计)*100。

%IOwait在内部时间段内,硬盘io等待时间(%) (iowait/total)*100。

%irq在内部周期,硬中断时间(%) (irq/total)*100。

%soft在内部时间段内,软中断时间(%) (softirq/total)*100。

%idle内部期间,CPU除了等待磁盘IO操作以外的任何原因的空闲(%) (idle/total)*100。

2、iostat

Iostat用于输出与CPU和磁盘I/O相关的统计信息。

语法:

iostat[-c][-d][-h][-N][-k |-m][-t][-V][-x][-z][设备[.] |全部] [ -p [设备[,] |全部] ] [间隔[计数] ]

示例1:

-参数-d表示显示设备磁盘的使用状态;-k表示部分以块为单位的列强制使用千字节为单位,2表示每2秒刷新一次数据,6表示总共刷新6次。

# iostat -d -k 2 6

描述:

Tps:表示每秒发送给设备的传输次数。

tcp重传率指标多少正常?

TCP重传率在0.02%以内比较正常。

TCP重传率越低越好。TCP重传率越低,我们的网络就越好。

TCP的错误恢复特性是我们定位、诊断并最终修复高网络延迟的最佳工具。

常见的TCP错误恢复功能有:TCP重传、TCP重复确认和快速重传。

数据包的重传是TCP最基本的错误恢复功能之一,用于处理数据包丢失。

丢包的可能原因有很多,比如:有故障的应用、流量负载大的路由器或者暂时的服务中断。

数据包级的移动速度很快,丢包通常是暂时的,所以TCP检测丢包并恢复是非常重要的。

如何决定是否重新传输:

决定是否重传数据包的主要机制称为重传定时器,它负责维护r to重传超时的值。

当使用TCP传输数据包时,重传定时器启动,当收到该数据包的ACK响应时,定时器停止。从发送数据包到收到ACK确认的时间称为往返时间(RTT),最终的RTO值可以通过对几个这样的时间求平均值来计算。

一旦确定了RTO值,就为每个发送的分组使用重传定时器来确定分组是否丢失。

当消息被发送,但是接收方没有发送TCP ACK消息时,发送方认为源消息丢失并重新传输它。重传后RTO值翻倍;如果在2倍的RTO值到达之前没有收到ACK消息,将再次重传。如果仍然没有收到ACK,RTO值再次加倍。如果这种情况继续下去,每次重传的RTO将加倍,直到收到ACK消息或发送方达到配置的最大重传次数。

最大重新传输次数取决于发送操作系统的配置值。

默认情况下,Windows主机会重新传输5次。大多数Linux系统默认为15倍,两种操作系统都可以配置。

TCP重传率是网络质量的体现。我们主要看网络中的TCP重传率,这个基本上比较大的公司都有这个监控。

TCP重传率=单位时间内TCP重传包数/TCP包总数。

我们可以把TCP重传率作为衡量网络质量和服务器稳定性的指标。

根据我们的经验,TCP重传率越低越好。TCP重传率越低,我们的网络就越好。如果TCP重传率保持在0.02%(以我们的实际情况为准)以上或者突然增加,就可以怀疑是不是网络问题了。