早朝4時にNagiosから何通かのCRITICALアラートが届いた。その後、10分程度でRECOVERYしたとの通知。
アラートの Additional Info の欄には以下のメッセージ:
CHECK_NRPE: Error - Could not complete SSL handshake.
ネット上で調べると、/etc/nagios/nrpe.cfg
ファイルの allowed_hosts=
を設定せよという情報がすぐに出てくるが、
- CHECK_NRPE: Error – Could not complete SSL handshake – GeekPeek.Net
今まで接続出来ていたものが突然出来なくなったという現象なのでこれには当たらず。
「繋がる時もあるし繋がらない時もある」という現象では以下のサイトと同様なのだが、
- CHECK_NRPE: Error – Could not complete SSL handshakeでハマる – LET__IT__RIDE
xinetdは使ってないので、これでもない。
Nagiosサーバー側には以下のようなログが出ている。
NRPE: Call to fork() failed CHECK_NRPE: Error - Could not complete SSL handshake. ...
そこで辿り着いたのが、NagiosのTrackerにあった以下のIssue:
- Nagios Tracker – 0000330: nrpe daemon doesn’t increase its soft limit on open files. – Mantis
NRPE will fail to fork or run the check command(s) on a host with multiple simultaneous tests when the soft limit on open files is reached. (Even if the hard limit is higher.) I suggest, upon a failed fork, you use setrlimit to increase the soft limit as needed until the hard limit is reached.
何故この時だけファイルディスクリプタ数の上限に達したのかについては、毎朝4時に行われるウィルススキャンと関係しているんじゃないかと推測することも出来るが、この一度だけのアラートだけでは何とも言えない。今回はとりあえず様子を見て、再度発生したら具体的な対策を考えよう。