Hillstone CPU高排查方法
CPU作为设备的核心,防火墙的任何模块的处理(或任何功能的开启)都需要占用CPU资源。
围绕防火墙在出现CPU高时能够快速定位并解决这一目标,Hillstone给出一些具体排查方法。
一、检查设备开启的功能,具体如下:
1)Show statistics-set //查看设备开启统计集,如果开启统计集较多,建议关闭一些没用的统计集。
2)、查看设备是否开启debug,并在不用时将其关闭。
Show debug //查看debug开启情况 Undebug all或连续按两下Esc //关闭debug
3)Show session-limit //查看设备是否开启session-limit,查看session-limit是否有drop,如有没有drop记录建议关闭相应session-limit。
二、分析实际情况:
1)、查看设备是否有攻击。
Show logging security 和show ad zone trust statistics 查看AD攻击情况。
2)、show statistics-set predef_rampup_ip \\查看设备当前新建会话情况,看看有没有新建会话数很高的ip。
开启此统计集方法:
cli 下如下:
config
statistics-set
predef_rampup_ip
target-data rampup-rate record-history
group-by ip
active
exit
在查看完毕时可以适当关闭此统计集,方法如下:
No statistics-set predef_rampup_ip
3)、比对现有配置与原配置区别。在情况允许的情况下查看配置日志,主要观察在cpu高之前的一些配置信息。
4)、通过show process命令查看当前占用CPU较多的进程,重点关注D_plane之外的进程,看哪些比较高,
如果都是D_plane进程占用的最高,基本上可以确认是性能达到了极限。设备process进程数很多,
具体进程表示什么意思请联系Hillstone厂商工程师咨询。
5)、show cpu detail //查看CPU按时间、按core的分布情况,查看具体哪些core较高。
6)、通过show logging 查看相应的日志开启及发送情况,将不必要的日志关闭。
Show logging //查看系统日志开启情况
No logging traffic on //关闭traffic log
No logging alarm to console //关闭alarm日志发送到 console
7)、查看设备目前流量情况,看是否达到设备的性能处理极限。
通过Show controller slot X port X statistic 查看网络中实际的数据包的类型,
及show statistics interface-counter interface interface-name second 查看实际流量。
根据这两个数据计算出当前CPU的可能范围,计算方法:
(各种字节的包)除以(所有包之和)乘以(实际接口总转发数据)用这个数据与实际防火墙的吞吐能力做比较(实际防火墙的吞吐能力请联系Hillstone工程师)。
举例如下(重点关注红色部分):
G5150# show controller slot 0 port 2 statistic clear
Ethernet0/2: InGoodOctets: 149459273057976
InBadOctets: 0
InGoodPkts: 1041320608
InBadPkts: 0
InUnicastPkts: 1039308946
InBroadcastPkts: 30548
InMulticastPkts: 1981114
InControlPkts: 1841818
InUndersizePkts: 0
InOversizePkts: 0
InFragments: 0
InJabbers: 0
InMACRcvErrors: 0
InCRCAlignErrors: 0
如果想计算网络中1024~1516字节的包的比例那么这个数值为: N=3229483598/(1066118462+962721469+629952481+1811399299+3589872214+3229483598)=0.32
由此可以看出网络中1024~1518字节的包的比例为32%(其他字节的包的比例算法一样),再结合当前的接口流量来分析防火墙的cpu是否属于正常范围。
CPU作为设备的核心,防火墙的任何模块的处理(或任何功能的开启)都需要占用CPU资源。
围绕防火墙在出现CPU高时能够快速定位并解决这一目标,Hillstone给出一些具体排查方法。
一、检查设备开启的功能,具体如下:
1)Show statistics-set //查看设备开启统计集,如果开启统计集较多,建议关闭一些没用的统计集。
2)、查看设备是否开启debug,并在不用时将其关闭。
Show debug //查看debug开启情况 Undebug all或连续按两下Esc //关闭debug
3)Show session-limit //查看设备是否开启session-limit,查看session-limit是否有drop,如有没有drop记录建议关闭相应session-limit。
二、分析实际情况:
1)、查看设备是否有攻击。
Show logging security 和show ad zone trust statistics 查看AD攻击情况。
2)、show statistics-set predef_rampup_ip \\查看设备当前新建会话情况,看看有没有新建会话数很高的ip。
开启此统计集方法:
cli 下如下:
config
statistics-set
predef_rampup_ip
target-data rampup-rate record-history
group-by ip
active
exit
在查看完毕时可以适当关闭此统计集,方法如下:
No statistics-set predef_rampup_ip
3)、比对现有配置与原配置区别。在情况允许的情况下查看配置日志,主要观察在cpu高之前的一些配置信息。
4)、通过show process命令查看当前占用CPU较多的进程,重点关注D_plane之外的进程,看哪些比较高,
如果都是D_plane进程占用的最高,基本上可以确认是性能达到了极限。设备process进程数很多,
具体进程表示什么意思请联系Hillstone厂商工程师咨询。
5)、show cpu detail //查看CPU按时间、按core的分布情况,查看具体哪些core较高。
6)、通过show logging 查看相应的日志开启及发送情况,将不必要的日志关闭。
Show logging //查看系统日志开启情况
No logging traffic on //关闭traffic log
No logging alarm to console //关闭alarm日志发送到 console
7)、查看设备目前流量情况,看是否达到设备的性能处理极限。
通过Show controller slot X port X statistic 查看网络中实际的数据包的类型,
及show statistics interface-counter interface interface-name second 查看实际流量。
根据这两个数据计算出当前CPU的可能范围,计算方法:
(各种字节的包)除以(所有包之和)乘以(实际接口总转发数据)用这个数据与实际防火墙的吞吐能力做比较(实际防火墙的吞吐能力请联系Hillstone工程师)。
举例如下(重点关注红色部分):
G5150# show controller slot 0 port 2 statistic clear
Ethernet0/2: InGoodOctets: 149459273057976
InBadOctets: 0
InGoodPkts: 1041320608
InBadPkts: 0
InUnicastPkts: 1039308946
InBroadcastPkts: 30548
InMulticastPkts: 1981114
InControlPkts: 1841818
InUndersizePkts: 0
InOversizePkts: 0
InFragments: 0
InJabbers: 0
InMACRcvErrors: 0
InCRCAlignErrors: 0
如果想计算网络中1024~1516字节的包的比例那么这个数值为: N=3229483598/(1066118462+962721469+629952481+1811399299+3589872214+3229483598)=0.32
由此可以看出网络中1024~1518字节的包的比例为32%(其他字节的包的比例算法一样),再结合当前的接口流量来分析防火墙的cpu是否属于正常范围。