缓解200A防火墙CPU高资源使用率


0

今天早上,我收到了一些最终用户的抱怨,这些抱怨说他们的整个部门网络都很慢并且断断续续。

因此,我检查了防火墙以查看设备是否有问题。根据我在FortiGate仪表盘状态中的观察,CPU资源非常高(99%)。我的第一个假设是清除日志,因为在警报日志中,Fortigate日志中提到该日志已满90%。根据我的理解,可以通过重新启动防火墙来清除日志。

重新启动防火墙后,网络似乎还可以,但是几分钟后它又重新启动。这种情况一直持续到现在。

有人可以告诉我还有什么地方可以解决此问题吗?我真的很感谢我能在这里提供的任何帮助。

编辑:

diag sys top命令


防火墙后面的计算机上是否有异常的网络活动?例如在一台机器上安装wireshark,并在网络变慢时对其进行监视。不幸的是,您没有一个比较干净的基准。从防火墙下载日志并进行分析。也许您正在遭受某种攻击,或者蠕虫在您的网络中疯狂传播(更新并运行所有现有的防病毒软件和其他恶意软件删除软件,包括clamav)。
vonbrand

到目前为止,防火墙后面没有任何异常的网络活动。但是,正如您提到的,仍有可能遭受攻击。我也试图禁用某些服务,以降低CPU资源,但我无法停止服务(例如:IPS,防病毒等。)它显示我此错误“CFG_CMDBAPI_ERR”
user119720

@TildalWave我已经在上面放置了#diag sys top命令的输出。我想测试#diag test app ipsmonitor 99 命令,但是当前有很多用户正在使用Internet。所以我无法重启防火墙。
user119720 2013年

我在每个诊断程序上已经多次运行该命令了很长时间,其输出与上面的帖子几乎相似,虽然目前我没有做任何其他事情,但CPU资源仍然神秘地显示了40-70%的输出防火墙。也许还有其他因素正在影响我们的防火墙吗?顺便说一句,您能为我解释一下代表以上输出的每一列吗,因为我不确定应该看哪一部分。
user119720 2013年

hm..Ok.Anyway有一些解释,我认为我们可以为命令描述参考:在这里
user119720 2013年

Answers:


1

我已经解决了这个问题。为了帮助其他可能遇到相同问题的人,我将其写下来。

追溯到我们的防火墙日志时,我发现有多个日志指示VPN SSL错误。在将日志与网络间歇性发生时间以及较高的CPU资源百分比进行比较之后,我得出结论,此防火墙的VPN服务是所有这些问题的根源。

然后,禁用VPN服务后,网络恢复正常运行直到今天。VPN服务中的某些内容正在贪婪地消耗CPU资源。无论如何,我们已经计划购买新的Fortinate防火墙模型,以适应工作场所中越来越多的用户。


0

您可以打出最高CPU的字母S,然后可以通过终止PID来重新启动该应用程序-进程ID diag sys kill 11 903(9或11将终止PID并重新启动它9更安全11不会跟踪您将其终止)在日志中,因此请先尝试9,然后再尝试11)。通常,CPU会掉线。如果它经常发生,那么我建议在包装盒上安装一个新的Forti IOS映像,而无需更换包装盒,因为这些是软件而非硬件。大多数情况下。


CLI#诊断系统顶部

运行时间:13天13小时58分钟0U,0S,98I;123T,25F,32KF newcli 903 R 0.5 5.5 sshd 901 S 0.5 4.0

在第二个输出行上显示的代码含义如下:

  • U是使用CPU的用户空间应用程序的百分比。在该示例中,0U表示0%的用户空间应用程序正在使用CPU。
  • S是使用CPU的系统进程(或内核进程)的百分比。在示例中,0S表示0%的系统进程正在使用CPU。
  • 我是空闲CPU的百分比。在此示例中,98I表示CPU处于98%空闲状态。
  • T是FortiOS系统总内存(以Mb为单位)。在此示例中,123T表示系统内存为123 Mb。
  • F是MB中的可用内存。在此示例中,25F表示有25 Mb的可用内存。
  • KF是已使用的共享内存页面总数。在此示例中,32KF表示系统正在使用32个共享内存页。

命令输出的每一行都显示FortiGate设备上运行的每个进程的信息。例如,输出的第三行是:

newcli 903 R 0.5 5.5

哪里:

  • newcli是进程名称。其他进程名称可以包括ipsengine,sshd,cmdbsrv,httpsd,scanunitd和miglogd。
  • 903是进程ID。进程ID可以是任何数字。
  • R是进程正在运行的状态。进程状态可以是:o R正在运行。o睡觉。o Z僵尸。o D盘睡眠。
  • 0.5是该进程正在使用的CPU数量。对于正在休眠的进程,CPU使用率的范围从0.0到占用大量CPU时间的进程的较高值。
  • 5.5是该进程正在使用的内存量。内存使用范围为0.1到5.5或更高。

交互式诊断系统最高命令

诊断sys top正在运行时,可以输入以下单键命令。

  • 按q退出。
  • 按c键以按进程使用的CPU数量对进程进行排序。
  • 按m以按进程正在使用的内存量对进程进行排序。

停止正在运行的进程

您可以使用以下命令来停止运行进程:

诊断系统杀死

哪里:

  • signal可以为任意数字,但首选为11,因为此信号会将输出发送到崩溃日志,Fortinet支持人员可以使用该日志来解决问题。
  • 进程ID是诊断sys top命令列出的进程ID。

例如,要停止进程ID为903的进程,请输入以下命令:

诊断sys杀死11903

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.