CHECK_NRPE: Error - Could not complete SSL handshakeでハマる

ここ最近、nagiosから飛んでくるエラー

CHECK_NRPE: Error - Could not complete SSL handshake.

の原因を調査してた。ただ「繋がる時もあるし繋がらない時もある」というちょっと意味不明な状況。

エラーで検索するも、エージェント(監視される)側のファイアウォール絡みの情報ばかり。
ただ、「繋がる時もある」のでファイアウォールの線は薄そう。

で、しばらく調べているとエージェント側の/var/log/messagesに

xinetd[25450]: FAIL: nrpe per_source_limit from=***.***.***.***

のようなメッセージがあるではありませんか。

ここからは早かった。
ググると一発で、
http://www.linuxquestions.org/questions/linux-server-73/nrpe-ldap-and-ssl-787246/
にたどり着く。

xinet.dのデフォルトが

instances       = 50
per_source      = 10

となっていて、要はnagiosサーバからのnrpeリクエストが同時に10個しか受け付けれない。
11個目が漏れてしまって、接続出来なかったんですね。。。

で、すぐにこーする

service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = ***.***.***.***
        per_source      = UNLIMITED
        instances       = UNLIMITED
}

いやあ、長かったー。