Я реализовал JSend NSCA для отправки пассивных проверок в Nagios, как показано ниже:
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 (собственный метод) в java.net.PlainSocketImpl.doConnect (PlainSocketImpl.java:351) в java.net.PlainSocketImpl.connectToAddress (PlainSocketImpl.java:213) на java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) на java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432) на java.net.Socket.connect(Socket.java:529) на com.googlecode. jsendnsca.core.NagiosPassiveCheckSender.send(NagiosPassiveCheckSender.java:69) в app.QuickStart.main(QuickStart.java:29) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в 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.
IP-сервер для nagios — 192.168.1.20.
Спасибо.