FortiGateでCPUリソースを食いつぶしているプロセスを殺す。

うちのFortiGate/FortiWiFiをFortiOS5.0に変えてからというもの、おそらく何らかの設定変更が契機となってCPU使用率が100%になってしまう、という事象が3度ほど発生している。
はじめて起こったときは再起動すると治ったのだが、2回目はまた再起動するのも芸がないなと思って何とか問題か所を特定して部分的な対処をしようと試み、Fortinetのナレッジベースを漁ったところ問題のあるプロセスを調べてKillする、という方法があることを知ったのだった。

Technical Note: Restarting internal processess/daemons

Techinal Note : diagnose sys top コマンド (Japanese version only)

最初の方のナレッジには、特定のプロセスをいろいろ調べてみて、それでもダメだったらKillする、という流れで説明されているのだが、僕が直面した場合では何を試しても異常プロセスは正常になってくれなかったため、結局Killすることになったのである。
昨日、無線AP関係の設定を変えていたら事象が再発したので、その際はもういきなりKillして問題を片づけたのだった。

手順としては、Linuxで言うところのtopコマンドと同様のことをするコマンドを実行して異常プロセスがないか調べて、あればそのプロセスIDを記録してプロセスをKillするコマンドで指定する、という流れになる。

diagnose sys top
diagnose sys kill 9 <プロセスID>

diagnose sys killコマンドの次の引数を変えることでプロセスの強制終了以外の操作ができるようだが、今までのところ僕の環境では効果が出た例しがない。
まあ、また事象が再発した際に試してみるか。

ちなみに、僕の環境でCPUリソースを食いつぶしていたプロセスはいずれも scanunitd で、かつてお客さん先で同様の事象が発生した際は ipsengine だった。
Fortinetのフォーラムでも前から同様の事象が発生した例はあるようだが、原因はわからず終いのようで、しかも scanunitd に至っては一体何をしているプロセスなのかもよくわからず。
FortiGateは多機能で比較的安価なのでいろいろ遊べてよいのだが、Fortinet社のポリシなのかあまり製品内部アーキテクチャについての情報が開示されていなくて、トラブルシューティングの難易度が高い(恒久的な問題解決に至らない例が多いことも含めて)のが惜しいところだと思う。
まあ、うちで使う分には致命的な不具合には当たっていないし、UTMやらVPNやら無線やらといろんな機能を使い倒しているので結構得しているんじゃないかと思う。
本当に直さないといけない問題にぶち当たったら、そのときは本気でトラブルシューティングして直させよう。


投稿日

カテゴリー:

,

投稿者:

タグ:

コメント

コメントを残す