最近在筹划做一个监控系统.其中就要获取主机信息,其中遇到一些问题.在此做个记录,以便以后查阅. 在该监控系统中,想要做到主机的CPU.内存.磁盘.网络.线程.JVM内存.JVM GC 等维度的监控,JVM方面的监控还好说,直接用JMX做就行了,关键是主机信息不好做监控,JDK没有直接的方案获取系统主机信息.在刚开始想到了以下几种方式获取主机维度的信息. 一.命令行 刚开始想的是用最常用的命令行获取主机维度的信息,具体做法是针对不同的系统,写不同的命令.比如说Linux系统,使用TOP命令就能获取…
实现该方法需要导入一些jar包 可以去一下地址下载: http://pan.baidu.com/s/1hqrJF7m /** * 实用工具类来获取服务器资源 * * get方法传送数据 * * 1.通过path设定传送方式 * 2.创建客户端 * 3.得到输入流 * 4.读取流准备工作 * 5.读取并写入 * @throws IOException * @throws ClientProtocolException * */ public static String getHttpResult(…
前一篇已经介绍了最基本的网络数据结构.这篇介绍一下获取主机信息的函数 举个例子,想要通过代码的方式从百度获取当前的时间,怎么做?我们不知道百度的IP地址啊,这代码怎么写?还好,Linux提供了一些API,使得IP与域名之间的转 换变得非常简单.这就是gethostbyname().gethostbyaddr(). 首先介绍一个结构体:struct hostent. struct hostent { char *h_name;          /*主机的正式名称  比如www.google.co…
最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取主机信息 这种方式获取的主机信息相对是比较新的(每分钟更新一次).但因为每次都需要请求接口,所以相对比较慢,如果并发查询的主机数量比较多,就会非常慢. 开源监控系统ZABBIX的官方文档提供了丰富的API.我这里http请求是用的Guzzle 6.当然你也可以用php内置的curl函数自己写一个ht…
获取主机信息 1.ip地址转换,主机字节序 <---> 网络字节序 #include <arpa/inet.h> int inet_pton(int af, const char* src, void* dst); const char* inet_ntop(int af, const void* src, char* dst, socklen_t cnt) inet_pton函数将用字符串表示的IP地址src(用淀粉十进制字符串表示的IPv4地址或用十六进制字符串表示的IPv6地…
获取主机信息 最近需要做一个配合集控系统收集各个终端设备的一些信息,大致需要收集终端设备的硬件信息,CPU.内存以及硬盘使用率等信息.网上查看了一番,使用WMI来获取这些信息是最方便的.实现代码如下: Models.PlatformInfo platformInfo = new Models.PlatformInfo(); string query = "Select * from {0}"; ///获取操作系统数据 SelectQuery queryOS = new SelectQu…
import re import paramiko host="192.168.4.88" user = "root" password = " class GetLinuxMessage: #登录远程Linux系统 def session(self, host, port, username, password=password): try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_poli…
在实现javamail之前首先要搭建邮件服务器 James 在进行WEB程序开发的时候需要使用Tomcat服务器,但是Tomcat服务器并不支持邮件的处理操作,所以要想进行邮件的发送,还需要配置一个单独的Java Mail服务器,James 就是一个企业级的邮件服务器,它完全实现了SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) 和POP3(Post Office Protocol 3,邮局协议的第三个版本)以及NNTP (Network News Tra…
在Java中,实用程序类是一个定义一组执行常用功能的方法的类.这篇文章展示了最常用的Java实用程序类及其最常用的方法.类列表及其方法列表都按流行度排序.该数据基于GitHub随机选择的50,000个开源Java项目. 希望您可以通过浏览列表获得已经提供和流行的一些想法,这样您就不需要自己编程了.这些方法的名称通常表明它们的作用.如果方法名称不够直观,您还可以查看其他开发人员如何在他们的开源项目中使用它们. 1. org.apache.commons.io.IOUtils closeQuietl…
通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 一.准备工作 (1)下载jar包和相关文件 资源链接:百度云:链接:https://pan.baidu.com/s/1nxccJHJ 密码:942r (2)相关资料(可了解,非必要) sigar官方主页 sigar-1.6.4.zip 按照主页上的说明解压包后将相应的文件copy到java路径.比如windows64位操作系统需要将lib中sigar-amd64-winnt.dll文件拷贝到java SDK目录的bin内 参考官…