远程服务器有UNIX操作系统和linux操作系统。
有一点要注意,为了不影响系统维护难度,不能在被监控端写java程序去输出或者采集CPU,内存,磁盘的相关信息。
之前在网上找了很多文章,其中有作者说明使用snmp的方式来处理,但是用snmp方式需要知道各设备的oid,oid不知道从哪查到。
哪位大侠有什么好办法的,无论用snmp或者别的什么方式都行,高分求解!

解决方案 »

  1.   

    也有说用ssh或者shell的。请大侠指点一下,最好能有相关代码,谢谢了
      

  2.   

    snmp监控设备时获取设备oid工具
    http://download.csdn.net/source/1209409
      

  3.   

    用SNMP协议是要在你监控的服务器上部署子代理的,如果你不准备在被监控端安装服务,那么就用不了SNMP协议了~~之前监控多个服务器全是用一个小工具分发到各个服务器上的,不过没有几十个那么多
      

  4.   

    Remote login, read system info from /proc directory.
      

  5.   

    现成的就用cacti,自己写就snmp4j+jrobin
    我的blog里有一些介绍
      

  6.   

    Runtime.getRuntime().exec来执行SSH命令
    ssh user:pwd@hostnanme (此处紧跟查看的命令)
    然后返回的字段,通过分析形成报告。因为你要查看的东西,能用linux完全实现的,我觉得应该是可以实现的,也相对比较简单。我不知道我的这个说法对服务器负担问题。
    楼上提到的SNMP的方案我倒是不熟悉,有时间可以研究下
      

  7.   

    既然是远程监控,必然涉及进程间通讯,否则监控服务哪来的被监控端的信息,因此一定得在被监控端安装监控服务。当然可以是UNIX操作系统自带的。我在用LoadRunner进行压力测试时,通常会起相应服务,以便LoadRunner采集服务器的系统信息。如果不想自己开发的话,可以使用操作系统自带的监控服务。
      

  8.   

    Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。Nagios的主要功能特点:
    - 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等)
    - 监视主机资源 (进程, 磁盘等)
    - 简单的插件设计可以轻松扩展Nagios的监视功能
    - 服务等监视的并发处理Zenoss Core的强大能力来自于深入的列表与配置管理数据库,以发现和管理公司IT环境的各类资产(包括服务器、网络、和其他结构设备)。Zenoss可以创建 关键资产清单和对应的组件级别(接口、服务、进程,已安装的软件等)。建立好模型后,就可以监控与报告IT架构中各种资源的状态和性能容限了。 Zenoss同时提供与CMDB关联的事件和错误管理系统,以协助提高各类事件和提醒的管理效率。以此提高IT管理人员的效率。
      

  9.   

    Nagios+groundWork可以,不需要在主机上安装什么。
    但是不是用java作的。而是一套开源、稳定的工具集。
      

  10.   


    -----------------
    这个方法有考虑过,不过由于被监控的服务器的操作系统有hp unix redhat linux等,带有不确定性,所以仅靠ssh去获得的数据,并不是很好的方案。(注:这个功能需要做成通用化,以适用多种操作系统)
      

  11.   

    linux下编程还不熟悉 但是我喜欢 不喜欢win下的编程 看到程序变量的写法就晕了