`
guoyunsky
  • 浏览: 860384 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
3d3a22a0-f00f-3227-8d03-d2bbe672af75
Heritrix源码分析
浏览量:207435
Group-logo
SQL的MapReduce...
浏览量:0
社区版块
存档分类
最新评论

Nagios监控/报警Java程序(一) 通过Shell监控/报警

 
阅读更多

       Nagios监控/预警Java程序网上资料貌似不多,只能自己一步步尝试.经过今天一天的尝试,终于搞定.这里贴出来跟大家分享,希望抛砖引玉!

       这里需要两个步骤,一个是安装好Naigos,我之前博客有说明:http://guoyunsky.iteye.com/blog/1399330 ,以及生成Java程序并且Shell可执行:http://guoyunsky.iteye.com/blog/1401757.

   1.Java程序

       由于Nagios规定了四种状态,所以我这里需要修改一下Java程序.四种状态分别为:

 

  • OK —退出代码 0—表示服务正常地工作。
  • WARNING —退出代码 1—表示服务处于警告状态。
  • CRITICAL —退出代码 2—表示服务处于危险状态。
  • UNKNOWN —退出代码 3—表示服务处于未知状态.

 

      修改后的Java程序:

package com.guoyun.study.shell;

public class ShellJavaAnt {
    public static final int OK=0;
    public static final int WARNING=1;
    public static final int CRITICAL=2;
    public static final int UNKNOWN=3;

    /**
     * @param args
     */
    public static void main(String[] args) {
        if(args.length==0){
            System.out.println("CRITICAL");
            System.exit(CRITICAL);
        }else if(args.length==1){
            System.out.println("WARNING");
            System.exit(WARNING);
        }else if(args.length==2){
            System.out.println("UNKNOW");
        }else if(args.length>2){
            System.out.println("OK");
            System.exit(OK);
        }
    }

}

    修改代码后,通过ant package打包.得到该程序的目录,如这里是$PROJECT_HOME

 

  2.配置Nagios

     配置文件一般在你的$NAGIOS_HOME/etc/objects下.默认安装的话一般在/usr/local/nagios/etc/objects.

     我们这里需要修改commands.cfg和localhost.cfg

     commands.cfg是注册我们要执行的命令,这里还需将可执行的命令/插件放入$NAGISO_HOME/libexec目录下,否则会报,Return code of 127 is out of bounds - plugin may be missing 之类的错误,意思就是没有注册插件.

   1)注册插件,新建shell文件:check_nagios_java_test,放到$NAGISO_HOME/libexec目录下.内容如下:

#!/bin/bash
#

/home/guoyun/workspace/shell-run-java-by-ant/dist/shell-run-java-by-ant-0.1/bin/shell-java-ant "a" "b" "c"

   /home/guoyun/workspace/shell-run-java-by-ant/dist/shell-run-java-by-ant-0.1是我通过ant package生成的

Java程序具体你根据你的路径更改,然后我这里传入三个参数a,b,c.按照之前Java里代码的话,Nagios应该报警OK,并且返回OK(输出是OK).

   2)在commands.cfg注册该命令,添加如下内容:

define command{
	command_name	check_nagios_java_test
	command_line	$USER1$/check_nagios_java_test
	}

   3)在localhost.cfg文件中注册service,添加如下内容:

define service{
	use			local-service
	host_name		localhost	
	service_description	monitor java_test
	check_command		check_nagios_java_test
	}

 

  4)以上修改完成后,程序部署完成.先通过命令验证配置文件是否正确:

   /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

 

  5)重启Nagios

     sudo /etc/init.d/nagios restart

 

 

  6)最后通过浏览器进入http://localhost/nagios中查看Services,就可以看到java_test.同时Status是OK,Status Information是OK.或者你可以修改shell-java-ant这个shell文件中的参数,来观察Nagios中java_test状态是否变化.

 

   以上只能针对localhost,也就是Java程序要和Nagios在同一台机器.如果Java程序和Nagios不在同一台机器,不知道是否可以通过SSH远程执行shell脚本执行.具体待下一次测试.不过可以在Java程序中建立Socket,通过TCP来发送请求.正在尝试中...

 

更多技术文章、感悟、分享、勾搭,请用微信扫描:

0
0
分享到:
评论

相关推荐

    CentOS安装Nagios和监控Linux、Windows客户端以及微信报警详细配置

    - 编写一个Shell脚本或Perl/Python程序来实现发送消息的功能。 - 在Nagios配置文件中添加一个新的`command`定义,指向上面编写的脚本。 - 例如,在`/usr/local/nagios/etc/nrpe.cfg`文件中添加: ``` command...

    nagios监控配置centos6.4

    Nagios是一款强大的网络监视工具,它能够实时监控网络服务的状态,包括服务器、网络设备、应用程序等,并在出现问题时及时发出警报。在CentOS 6.4环境下配置Nagios监控,主要涉及以下几个步骤: 1. **安装依赖...

    nagios监控插件开发步骤

    1、编写shell ...4、在监控客户端(路径/usr/local/nagios/etc)配置nrpe.cfg command[check_update]=/usr/local/nagios/libexec/check_update /mail/logs/sendmail -w 1 -c 2 5、客户端、主机服务重启

    nagios监控交换机端口

    1. **定义交换机和监控服务**:编辑`/usr/local/nagios/etc/objects/switch.cfg`文件,定义主机和服务。 ```shell vi /usr/local/nagios/etc/objects/switch.cfg ``` 定义主机(`MainSwitch`)和服务(如端口1...

    nagios监控部署+邮箱报警

    Nagios是一款强大的网络监视工具,它可以实时监控网络上的服务器、设备和服务,当出现故障时及时报警,确保系统的稳定运行。本教程将介绍如何在Nagios上进行监控部署并设置邮箱报警。 首先,我们需要从SourceForge...

    安装nagios并且邮件报警

    htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin ``` 设置Web界面的用户名和密码,这里使用的是nagiosadmin作为用户名。 4. **重启Apache服务** ```bash service httpd restart chkconfig ...

    nagios监控linux主机、web等各种服务,并实现飞信自动报警

    ### Nagios监控Linux主机、Web服务及其实现飞信自动报警 #### 一、Nagios简介 Nagios是一款非常强大的开源网络监控系统,它主要用于监控计算机系统的各种服务状态,比如服务器硬件健康状况、应用软件运行状态、...

    利用Nagios监控linuxwindows及飞信报警总结

    通过以上步骤,我们可以成功地在Linux环境下安装配置Nagios,并扩展其功能以支持对Linux和Windows系统的监控以及通过飞信进行报警。这一系列操作不仅提高了系统的可用性和响应速度,也为系统管理员提供了更全面的...

    nagios监控服务器架设

    - **主机和服务配置**:分别位于`/etc/nagios/objects/hosts.cfg`和`/etc/nagios/objects/services.cfg`,定义具体的监控对象。 - **其他配置文件**:如`commands.cfg`、`timeperiods.cfg`等,分别对应监控命令和...

    Nagios监控redis+MySQL

    Nagios是一款强大的网络监视系统,它能够实时监控网络服务的状态,及时发现并通知系统管理员潜在的问题。在本文中,我们将深入探讨如何使用Nagios来监控Redis和MySQL这两种广泛应用的数据库服务。 首先,让我们关注...

    Nagios监控脚本

    - 最后,重启Nagios服务使配置生效,然后可以通过Nagios Web界面查看监控结果和报警信息。 5. **自定义监控** - Nagios允许用户编写自己的监控脚本,只要遵循Nagios返回代码规范(0表示OK,1表示警告,2表示严重...

    nagios运用飞信实现短信报警监控服务器

    ### nagios运用飞信实现短信报警监控服务器 #### 一、引言 随着信息技术的不断发展,服务器稳定性成为了企业关注的重点之一。Nagios是一款广泛使用的开源监控系统,它能够帮助管理员实时监控网络服务、主机资源状态...

    nagios监控软件搭建部署!

    Nagios 监控一般由一个主程序(nagios)、一个插件程序(nagios-plugins)和几个可选的附加程序(NRPE、NSClient++、NSCA 和 NDOUtils)等组成。 2.Nagios 服务端安装 2.1 安装前准备 在安装 Nagios 服务端之前,...

    Nagios监控mysql的安装配置及报警[归类].pdf

    在`/usr/local/nagios/etc/nagios.cfg`中设置报警通知选项: ``` notification_options = w,u,c,r contact_groups = admins define contact{ contact_name admin alias Nagios Admin email admin@example....

    Nagios 监控Windows配置文档

    - 使用命令`/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg`检查配置文件的语法错误。 - 重启Nagios服务`servicenagiosrestart`。 #### 五、注意事项及相关说明 1. **监控多台Windows主机**: ...

    oracle+nagios 如何监控

    在IT监控领域,Nagios是广受欢迎的...通过上述步骤的安装和配置,可以实现对关键系统组件的实时监控,并通过Cacti提供图形化数据展示,通过Nagios的日志和报警功能对异常状况进行及时响应,确保整个IT系统的稳定运行。

    搭建nagios监控服务器最佳实践

    Nagios是一款开源的系统和服务监控程序,它能够监控网络设备、服务器和应用程序。搭建Nagios监控服务器,首先需要在Linux环境下安装Nagios核心以及相关的插件。搭建过程中,需要配置主机和服务的定义文件,确定监控...

    Nagios监控Windows主机(NSClient++安装与应用

    Nagios 是一个功能强大的监控系统,能够监控各种设备和服务的状态。然而,在 Windows 平台上使用 Nagios 需要借助 NSClient++ 插件。本文将详细介绍 Nagios 监控 Windows 主机的配置和应用,包括 NSClient++ 的安装...

    nagios监控mongodb插件

    Nagios是一款广泛使用的开源网络监控系统,它能够提前预警系统故障,确保业务的稳定运行。而MongoDB是一种流行的NoSQL数据库,特别适合处理大量结构化和半结构化数据。 首先,我们要理解Nagios的工作原理。Nagios...

    Nagios监控平台之三:MRTG监控交换机流量.docx

    1. **定义交换机和监控服务**:在Nagios的配置文件`/usr/local/nagios/etc/objects/switch.cfg`中定义交换机和监控服务,包括主机和服务描述、检查命令等。 2. **定义检查命令**:使用`check_local_mrtgtraf`命令来...

Global site tag (gtag.js) - Google Analytics