Hyperic HQ 是什么?

Hyperic HQ 是一个开源的(General Public License,GPL授权)IT资源管理框架,让用户使用统一的界面来管理各种不同的IT资源的管理,Hyperic HQ 可以监控和管理:

★操作系统:AIX,HP/UX,Linux,Solaris,Windows,Mac OSX,FreeBSD

★ Web服务器:Apache,Microsoft IIS,Sun ONE Web Server

★ 应用服务器:BEA WebLogic,IBM WebSphere,JBoss,Apache Geronimo,Macromedia ColdFusion,Macromedia JRun,Microsoft .NET Runtime,Novell Silverstream,Tomcat,Caucho Resin ,Jetty(官网公布的文档中没有jetty,但是我发现发行包中确实有个jetty的plugin,所以也把jetty列出来了,还有待考证)

★ 数据库:IBM DB2,Microsoft SQL Server,MySQL,Oracle,PostgreSQL,Sybase Adaptive Server

★消息中间件: ActiveMQ,Weblogic MQ

★ 微软的产品: MS Exchange,MS ActiveDirectory,.NET

★ 虚拟产品: VMWare,Citrix Metaframe

★应用平台: LAMP,LAM-J,J2EE,MX4J

其他:网络设备交换机,路由器,网络服务等。

-----------------------------------------------------------

Hyperic HQ  安装分成两个部分:Server 和Agent。Server是安装在一台服务器上作为管理服务端,Agent 分别安装在不同的需要被管理的服务器上。Angent的配置信息指向server 端。简易的结构如下:

( ---------agent

浏览器 (-----------------------------)  ( server )  (------------------agent

( ---------agent

sigar全称SIGAR - System Information Gatherer And Reporter(系统信息采集报告器)。一个提供第三方开发的API。

下载地址:http://sourceforge.net/projects/sigar/files/sigar/1.6/

文档地址:http://support.hyperic.com/display/SIGAR/Home

windows下开发需要: sigar.jar 和sigar-x86-winnt.dll

Linux下需要:sigar.jar和对应构架下的so。可以在文档的binaries表格中看到对应关系。

项目中lib加入sigar.jar 对应的dll文件或者so文件添加到系统目录。例如:windows 下把sigar-x86-winnt.dll添加到c:\WINDOWS\system32或者jdk的bin目录。

例子:

  1.  
    import java.util.Arrays;
  2.  
    import java.util.List;
  3.  
     
  4.  
    import org.hyperic.sigar.win32.Service;
  5.  
    import org.hyperic.sigar.win32.Win32Exception;
  6.  
     
  7.  
    public class ServiceStatus {
  8.  
     
  9.  
    // 打印出服务器 服务名称 和 状态信息
  10.  
    private static void printStatus(String name) throws Win32Exception{
  11.  
     
  12.  
    Service service = new Service(name);
  13.  
     
  14.  
    System.out.println(name +":" +service.getStatusString());
  15.  
     
  16.  
    service.close();
  17.  
    }
  18.  
     
  19.  
    public static void main(String[] args) throws Win32Exception {
  20.  
     
  21.  
    List service;
  22.  
    String name;
  23.  
     
  24.  
    if(args.length == 0){
  25.  
    service = Service.getServiceNames();
  26.  
    }else{
  27.  
    service = Arrays.asList(args);
  28.  
    }
  29.  
     
  30.  
    for(int i=0;i<service.size();i++){
  31.  
    printStatus((String)service.get(i));
  32.  
    }
  33.  
     
  34.  
    }
  35.  
    }

上面的代码比较简单,就是打印出服务器服务名称和状态。 结果如下:

  1.  
    360rp:Running
  2.  
    Alerter:Stopped
  3.  
    ALG:Stopped
  4.  
    AntiVirSchedulerService:Running
  5.  
    AntiVirService:Running
  6.  
    Apache2.2:Stopped
  7.  
    AppMgmt:Stopped
  8.  
    aspnet_state:Stopped
  9.  
    ………………………………

Sigar核心包简单说明:

  1.  
    Sigar
  2.  
    org.hyperic.sigar Sigar - 核心库,采集信息
  1.  
    一般情况下Sigar sigar = new Sigar(); //拿到当前系统收集器
  2.  
       sigar.getFileSystemList(); //通过sigar的get方法收集相关信息,这部分网上例子比较多。
  1.  
    Other Packages
  2.  
    org.hyperic.sigar.cmd 系统命令.
  3.  
    org.hyperic.sigar.ptql 进程方面
  4.  
    org.hyperic.sigar.shell Shell命令.
  5.  
    org.hyperic.sigar.util 工具类打印、列表.
  6.  
    org.hyperic.sigar.vmware 虚拟机vmware
  7.  
    org.hyperic.sigar.win32 window操作系统windows32 事件、本地信息、服务、服务配置等信息。
  8.  
     

Sigar 说明和命令行

Hyperic Sigar API 举例的更多相关文章

  1. java sigar获取本地信息以及org.hyperic.sigar.SigarException: The device is not ready报错解决

    window下,使用java sigar 获取磁盘使用率,cpu使用率以及内存使用情况等信息时. 一:首先需要下载jar包和相关文件 sigar-1.6.4.zip 如果想了解更多可以去 sigar官 ...

  2. Java中Calendar(日历)相关API举例

    Java中Calendar(日历)相关API举例,实现功能:输入一个年份和月份打印出这个月的日历. package calendarPrint; import java.util.Calendar; ...

  3. 1 [main] DEBUG Sigar - no sigar-amd64-winnt.dll in java.library.path org.hyperic.sigar.SigarException: no sigar-amd64-winnt.dll in java.library.path

    github上一个java项目,在myeclipse中运行正常,生成jar后,运行报错: 1 [main] DEBUG Sigar - no sigar-amd64-winnt.dll in java ...

  4. Hbase关于Java常用API举例

    1. HBase相关对Admin操作的的API封装在HBaseAdmin中,封装了HBase常用操作的API 使用方法: pom.xml <!-- https://mvnrepository.c ...

  5. ava如何实现系统监控、系统信息收集、sigar开源API的学习(转)

    ava如何实现系统监控.系统信息收集.sigar开源API的学习(转) 转自:http://liningjustsoso.iteye.com/blog/1254584 首先给大家介绍一个开源工具Sig ...

  6. Sigar使用

    Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API,核心由C语言实现的.项目中使用Sigar进行服务器 ...

  7. Sigar介绍与使用

    Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件.它用来从许多平台收集系统和处理信息. 这些平台包括:Linux, Windows, Solaris, AIX, ...

  8. java使用sigar 遇到问题的解决方案

    先给大家介绍一个开源工具Sigar 官网:http://sigar.hyperic.com/ API:http://www.hyperic.com/support/docs/sigar/index-a ...

  9. Sigar.jar获取系统信息

    Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件. 它用来从许多平台收集系统和处理信息,这些平台包括:Linux, Windows, Solaris, AIX, ...

随机推荐

  1. 1.3 C++引用(Reference)

    参考:http://www.weixueyuan.net/view/6328.html 总结: 引用是变量的另外一个别名,不是指针,与原变量名同指相同的内存.可以原变量的值. 在函数中作为形参可以修改 ...

  2. Runtime的基本运用

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  3. HackPwn:TCL智能洗衣机破解细节分析

    上周结束的Hackpwn上,黑客们脑洞大开,破解了比亚迪汽车.小米手环.乐小宝.长虹电视.TCL洗衣机和九阳豆浆机等一系列最新的智能硬件,据黑客介绍,TCL是一家把家门“砌死”的企业,由于得到了将要被 ...

  4. OC基础:实例变量和成员变量的区别 分类: ios学习 OC 2015-06-14 17:59 16人阅读 评论(0) 收藏

    摘要:  Objective-C  引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢 ...

  5. 转:window.orientation判断移动设备横屏竖屏

    通过window.orientation来判断设备横竖屏 function checkOrient() { if (window.orientation == 0 || window.orientat ...

  6. Qt 获取组合键 键盘按住某键 鼠标组合实现

    #include "mainwindow.h" #include <QDebug> #include <QKeyEvent> #include <QM ...

  7. C++基础之 成员变量初 始化赋值

    摘要: C++成员变量 初始化赋值 你都清楚吗?还有好多坑,好多细节也不知道... 今天在写一个类的时候,由于该类的一个成员变量是引用,所以初始化出现了问题,查了一下之后,才发现,原来引用的初始化和c ...

  8. Jordan标准形

    一.引入 前面已经指出,一切n阶矩阵A可以分成许多相似类.今要在与A相似的全体矩阵中,找出一个较简单的矩阵来作为相似类的标准形.当然以对角矩阵作为标准形最好,可惜不是每一个矩阵都能与对角矩阵相似.因此 ...

  9. Generate And Play A Tone In Android hacking

    /*********************************************************************************** * Generate And ...

  10. caffe编译问题-nvcc fatal:Unsupported gpu architecture 'compute_20'

    错误描述 nvcc fatal : Unsupported gpu architecture 'compute_20' Makefile:: recipe for target '.build_rel ...