Hyperic Sigar API 举例
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目录。
例子:
- import java.util.Arrays;
- import java.util.List;
- import org.hyperic.sigar.win32.Service;
- import org.hyperic.sigar.win32.Win32Exception;
- public class ServiceStatus {
- // 打印出服务器 服务名称 和 状态信息
- private static void printStatus(String name) throws Win32Exception{
- Service service = new Service(name);
- System.out.println(name +":" +service.getStatusString());
- service.close();
- }
- public static void main(String[] args) throws Win32Exception {
- List service;
- String name;
- if(args.length == 0){
- service = Service.getServiceNames();
- }else{
- service = Arrays.asList(args);
- }
- for(int i=0;i<service.size();i++){
- printStatus((String)service.get(i));
- }
- }
- }
上面的代码比较简单,就是打印出服务器服务名称和状态。 结果如下:
- 360rp:Running
- Alerter:Stopped
- ALG:Stopped
- AntiVirSchedulerService:Running
- AntiVirService:Running
- Apache2.2:Stopped
- AppMgmt:Stopped
- aspnet_state:Stopped
- ………………………………
Sigar核心包简单说明:
- Sigar
- org.hyperic.sigar Sigar - 核心库,采集信息
- 一般情况下Sigar sigar = new Sigar(); //拿到当前系统收集器
- sigar.getFileSystemList(); //通过sigar的get方法收集相关信息,这部分网上例子比较多。
- Other Packages
- org.hyperic.sigar.cmd 系统命令.
- org.hyperic.sigar.ptql 进程方面
- org.hyperic.sigar.shell Shell命令.
- org.hyperic.sigar.util 工具类打印、列表.
- org.hyperic.sigar.vmware 虚拟机vmware
- org.hyperic.sigar.win32 window操作系统windows32 事件、本地信息、服务、服务配置等信息。
Sigar 说明和命令行
Hyperic Sigar API 举例的更多相关文章
- java sigar获取本地信息以及org.hyperic.sigar.SigarException: The device is not ready报错解决
window下,使用java sigar 获取磁盘使用率,cpu使用率以及内存使用情况等信息时. 一:首先需要下载jar包和相关文件 sigar-1.6.4.zip 如果想了解更多可以去 sigar官 ...
- Java中Calendar(日历)相关API举例
Java中Calendar(日历)相关API举例,实现功能:输入一个年份和月份打印出这个月的日历. package calendarPrint; import java.util.Calendar; ...
- 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 ...
- Hbase关于Java常用API举例
1. HBase相关对Admin操作的的API封装在HBaseAdmin中,封装了HBase常用操作的API 使用方法: pom.xml <!-- https://mvnrepository.c ...
- ava如何实现系统监控、系统信息收集、sigar开源API的学习(转)
ava如何实现系统监控.系统信息收集.sigar开源API的学习(转) 转自:http://liningjustsoso.iteye.com/blog/1254584 首先给大家介绍一个开源工具Sig ...
- Sigar使用
Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API,核心由C语言实现的.项目中使用Sigar进行服务器 ...
- Sigar介绍与使用
Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件.它用来从许多平台收集系统和处理信息. 这些平台包括:Linux, Windows, Solaris, AIX, ...
- java使用sigar 遇到问题的解决方案
先给大家介绍一个开源工具Sigar 官网:http://sigar.hyperic.com/ API:http://www.hyperic.com/support/docs/sigar/index-a ...
- Sigar.jar获取系统信息
Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件. 它用来从许多平台收集系统和处理信息,这些平台包括:Linux, Windows, Solaris, AIX, ...
随机推荐
- kettle 发邮件带附件
新建一个job,主要用到的组件有两个,如下图: 首先点击下图的文件,选择你要做为邮件附件的文件.选完后会在前辈的文件.目录中显示.然后点击增加,会下面文件列表中显示已经添加的文件(涂黄色的部分) 按下 ...
- [转载]python的常用代码模板
URL:http://blog.csdn.net/xingjiarong/article/details/50651235
- mysql server查询客户端连接数
SELECT substring_index(HOST, ) AS host_name, state, count(*) FROM information_schema. PROCESSLIST GR ...
- Python 数值计算库之-[Pandas](六)
- 【DevExpress v17.2新功能预告】DevExpress ASP.NET Scheduler新的自适应功能
自适应Web设计可以帮助您解决各种尺寸的屏幕问题,网站的自适应网页设计可帮助您解决用户使用不同大小屏幕显示数据的问题. 在v17.2中,我们最大化了ASP.NET Scheduler的视图和可视化元素 ...
- Translate Exercises(4)
周五翻译课记录. ---------------------------------- (1)and it is imagined by many that the operations of the ...
- Vue.js 源码学习笔记 -- 分析前准备1 -- vue三大利器
主体 实例方法归类: 先看个作者推荐, 清晰易懂的 23232 简易编译器 重点: 最简单的订阅者模式 // Observer class Observer { constructor (d ...
- grafana+influxdb+telegraf监控服务器cpu,内存和硬盘
随便抄了一篇,目前我们的项目也在用,这个是linux和windows通吃的一种监控方案,非常有效,详细和优美,需要监控什么具体的业务内容,自己向influxdb中插入就行了. 监控服务器状态是运维必不 ...
- ThreadLocal讲解
一.前言 ThreadLocal这个对象就是为多线程而生的,没有了多线程ThreadLocal就没有存在的必要了.可以将任何你想在每个线程独享的对象放置其中,并在任何时候取出来. 二.基本用法 Thr ...
- 将Mat类型坐标数据生成pts文件
前言 获取人脸特征点的坐标信息之后,想要将坐标信息shape保存为pts/asf/txt等文件格式,本文就对此进行实现. 实现过程 1.确定pts文件的书写格式: 以要生成的文件为例,书写格式如下: ...