今天早上我收到了几个最终用户的投诉,说他们整个部门的网络很慢并且时断时续。
因此,我检查了我们的防火墙,看看设备是否出了问题。从我在 FortiGate 仪表板状态中的观察来看,CPU 资源非常高(99%)。我的第一个假设是清除日志,因为在警报日志中,Fortigate 日志提到它已经满了 90%。根据我的理解,可以通过重新启动防火墙来清除日志。
重新启动防火墙后,网络似乎又恢复正常,但几分钟后它又恢复正常。这种情况一直持续到现在。
有人能告诉我还有什么地方可以解决这个问题吗?我非常感谢在这里得到的任何帮助。谢谢。
编辑:
diag sys top 命令
答案1
我已经解决了这个问题。为了帮助其他可能面临同样问题的人,我把它写下来。
当我回溯到我们的防火墙日志时,我发现有几条日志表明VPN SSL 错误。在将日志与网络中断发生的时间以及高 CPU 百分比资源进行比较后,我得出结论,这台防火墙的 VPN 服务是所有这些问题的根源。
然后禁用VPN服务后,网络恢复正常,直到今天。VPN服务中的某些东西正在贪婪地消耗CPU资源。无论如何,我们已经计划购买新的Fortinate防火墙型号,以适应我们工作场所日益增多的用户数量。
答案2
您可以按字母 S 来获得最高的 CPU,然后通过终止 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。
- I 是空闲 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 S 睡眠。o Z 僵尸。o D 磁盘睡眠。
- 0.5 是进程使用的 CPU 量。CPU 使用率范围从 0.0(表示处于休眠状态的进程)到更高的值(表示占用大量 CPU 时间的进程)。
- 5.5 是进程使用的内存量。内存使用量范围为 0.1 到 5.5 甚至更高。
交互式诊断 sys top 命令
在diagnose sys top运行时,您可以输入以下单键命令。
- 按 q 退出。
- 按 c 键按进程使用的 CPU 数量对进程进行排序。
- 按 m 可按进程使用的内存量对进程进行排序。
停止正在运行的进程
您可以使用以下命令来停止正在运行的进程:
诊断系统终止
在哪里:
- 信号可以是任意数字,但最好是 11,因为此信号将输出发送到崩溃日志,Fortinet 支持可以使用它来解决问题。
- 进程 id 是诊断 sys top 命令列出的进程 ID。
例如,要停止进程 ID 为 903 的进程,请输入以下命令:
诊断系统杀死 11 903