将应用上的消息发送至Nagios的方法(java)
前言
目前运维体制中,其所使用的是Nagios进行整个系统的监控管理,而一般的Nagios管理,仅限于Nagios内置的几个功能(Service),
比如:内存状况,硬盘空间、某个服务器中的服务是否还在活动、进程等等,这一些,我个人暂时称之为系统级别的监控。
然而,在我们的实际中,在应用层面上还是有不少东西应当被联控的。比如说:目前有多少人在线?目前的数据库连接状况?
甚至应用中所发生的错误是否可以传送至Nagios而不单只是写在日志中。因此,我们希望有一个方式,可以很简单的通过几个
指令就可以和咱们的Nagios监控系统中体现出来而不必在每一个应用中另外再开放一些应用上的监控。
本次使用的 ref jar 分别为:
jsendnsca
comm-lang
你可以仅使用 jsendnsca 即可以完成你的任务,如果你不想了解太多,想要用最快的方式,你可以引用附件的 jar 包.
不过,可以提供一些如果用我写的包,他是如何使用的。
Nagios4j n4j = new Nagios4j();n4j.setNagios("Nagios服务器IP, Nagios服务器端口);n4j.setMyHostName("你的IP");n4j.ok("Nagios Service name", "你所要发送的信息");或n4j.warn("Nagios Service name", "你所要发送的信息");或n4j.unknow("Nagios Service name", "你所要发送的信息");或n4j.critical("Nagios Service name", "你所要发送的信息"); 一共有4种状态的信息