以下のようにNagiosにパッシブチェックを送信するためにJSend NSCAを実装しました:
public static void main(String[] args) {
NagiosSettings nagiosSettings = new NagiosSettingsBuilder()
.withNagiosHost("192.168.1.20")
.withPassword("nagiosadmin")
.withPort(5666)
.withConnectionTimeout(5000)
.withResponseTimeout(15000)
.create();
NagiosPassiveCheckSender sender = new NagiosPassiveCheckSender(
nagiosSettings);
MessagePayload payload = new MessagePayloadBuilder()
.withHostname("localhost")
.withLevel(Level.CRITICAL)
.withServiceName("Test Service Name")
.withMessage("Test Message")
.create();
try {
sender.send(payload);
} catch (NagiosException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
しかし、次のエラーがありました。
java.net.ConnectException: java.net.PlainSocketImpl.socketConnect(Native Method) で java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) で java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) で接続が拒否されましたcom.googlecode. jsendnsca.core.NagiosPassiveCheckSender.send(NagiosPassiveCheckSender.java:69) at app.QuickStart.main(QuickStart.java:29) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で java.lang.reflect.Method.invoke(Method.java:597) で com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Nagios のユーザー名とパスワードは、nagiosadmin/nagiosadmin です。
nagios の IP サーバーは 192.168.1.20 です。
ありがとうございました。