`

SNMP实现主机检查

阅读更多
package com.boonya.mecache.store;
import java.util.ArrayList;

public class HostCheck {
	
	static String targetOid = ".1.3.6.1.4.1.9600.1.1.5.1.5";
	static String ip = "127.0.0.1";
	static String community = "public";
	static SnmpWalk tester = new SnmpWalk();

	/**
	 * CPU使用率
	 */
	@SuppressWarnings("rawtypes")
	public static void cpuUsingRate() {
		ArrayList arr = (ArrayList) tester.snmpWalk(ip, community, targetOid);
		for (int i = 0; i < arr.size(); i++) {
			if (i == arr.size() - 1) {
				System.out.println("CPU_ALL使用率:" + arr.get(i) + "%");
			} else {
				System.out.println("CPU_" + i + "使用率:" + arr.get(i) + "%");
			}
		}
	}
	
	/**
	 * 内存使用
	 */
	@SuppressWarnings("rawtypes")
	public static void memory(){
		targetOid = ".1.3.6.1.4.1.9600.1.1.2.3";
		ArrayList arr = (ArrayList) tester.snmpWalk(ip, community, targetOid);
		for (int i = 0; i < arr.size(); i++) {
			if (i == arr.size() - 1) {
				System.out.println("内存空闲:" + arr.get(i) + "M");
			}
		}
	}
	
	/**
	 * 进程占用
	 */
	@SuppressWarnings("rawtypes")
	public static void process(){
		targetOid = ".1.3.6.1.4.1.9600.1.1.4.1";
		ArrayList arr = (ArrayList) tester.snmpWalk(ip, community, targetOid);
		for (int i = 0; i < arr.size(); i++) {
			if (i == arr.size() - 1) {
				System.out.println("当前进程数:" + arr.get(i) + "个");
			}
		}
	}
	
	/**
	 * 硬盘使用
	 */
	@SuppressWarnings("rawtypes")
	public static void hardDisk(){
		targetOid = ".1.3.6.1.4.1.9600.1.1.1.1.1";
		ArrayList arr = (ArrayList) tester.snmpWalk(ip, community, targetOid);
		for (int i = 0; i < arr.size(); i++) {
			if (i < arr.size() - 1) {
				targetOid = ".1.3.6.1.4.1.9600.1.1.1.1.20";
				ArrayList subarr = (ArrayList) tester.snmpWalk(ip, community,
						targetOid);
				System.out.println("磁盘剩余:" + arr.get(i) + subarr.get(i) + "M");
			}
		}
	}
	
    /**
     *函数入口 
     * @param args
     */
	public static void main(String[] args) {
		HostCheck.cpuUsingRate();
		HostCheck.memory();
		HostCheck.process();
		HostCheck.hardDisk();
	}
}

分享到:
评论

相关推荐

    Zabbix基于snmp实现监控linux主机

    本文将深入探讨如何使用SNMP(Simple Network Management Protocol)协议在Zabbix中监控Linux主机。SNMP是一种标准的网络管理协议,用于收集和设置网络设备的状态信息。 首先,让我们从基础开始。在Linux主机上,...

    ESXI开启snmp协议方法.docx

    为了实现对ESXi主机的集中监控,决定采用Zabbix监控工具并通过SNMP协议来收集相关数据。 #### 三、SNMP协议简介 SNMP是一种基于TCP/IP的应用层协议,用于管理网络设备,如路由器、交换机以及服务器等。它允许网络...

    网络管理协议SNMP在千兆以太网交换机中的设计与实现

    2. **代理(Agent)**:这是实现了SNMP协议的实体,如主机、网桥、路由器等。代理负责收集和提供管理信息,并响应来自管理站的请求。 3. **管理信息库(MIB)**:存储在网络设备上的管理信息集合,管理站可以通过读取MIB...

    linux系统下配置snmp

    - 使用`snmptranslate`命令检查SNMP工具是否可用: - `snmptranslate -To | head` - 若输出了部分OID,则表示工具可用。 - 测试远程主机数据获取能力: - 登录另一台Linux主机,确保已安装SNMP服务和工具。 - ...

    redhat snmp安装包

    此外,SNMP还常用于自动化运维工具,如Nagios、Zabbix等监控系统中,实现对整个网络环境的全面监控。 总的来说,正确安装并配置Red Hat上的SNMP服务对于网络管理至关重要。`net-snmp-redhat 5.8`提供了强大的SNMP...

    check_snmp_cisco.zip

    4. **定义主机和服务**:在Nagios的配置文件中,定义被监控的Cisco交换机为主机,并添加相应的服务检查,如`check_snmp_cisco`,指定监控CPU和内存的命令及参数。 5. **阈值设定**:为CPU和内存使用率设定警告和...

    snmp_pp头文件

    1. **初始化SNMP++ Session**:首先,你需要创建一个`Session`对象,指定SNMP版本(v1, v2c, 或 v3),目标主机地址,社区字符串(对于v1和v2c)或认证和加密参数(对于v3)。 2. **定义变量绑定**:使用`Vbx`类,...

    centos、Redhat 和AIx下配置Snmp 文档

    - **检查 etc 目录**:确保 `/usr/local/snmp` 目录下存在 `etc` 文件夹,若不存在则创建。 - **上传配置文件**:将所需的配置文件上传到 `/usr/local/snmp/etc` 目录下。 ##### 4. 启动 SNMP 服务 - **关闭现有...

    nagios-snmp-plugins-1.2.tar.gz

    1. `check_snmp`:这是一个通用的SNMP检查工具,可以查询网络设备的各种MIB对象(Management Information Base)。MIB是SNMP协议中的数据结构,包含了设备的各种状态和配置信息。通过这个插件,用户可以定制化监控...

    snmp.rar_NET-SNMP_SNMP_SNMPListen_SNMP代理程序_net_snmp

    NET-SNMP是一个开源的SNMP实现,包含SNMP代理程序、管理站软件和其他相关工具,广泛应用于各类操作系统,如Linux、Windows等。本篇将详细介绍SNMP代理程序的建立与实测流程,以及如何对NET-SNMP进行配置。 首先,...

    net-snmp在linux上的移植

    通过`snmpwalk`命令检查默认MIB库是否已加载。 对于MIB文件的测试,可以从指定URL下载`NET-SNMP-TUTORIAL-MIB.txt`,将其放到mibs目录下,并在`snmp.conf`中添加行`mibs +NET-SNMP-TUTORIAL-MIB`。`snmp.conf`文件...

    snmp安装及依赖包-简易无测试.zip

    SNMP(Simple Network Management Protocol)是一种广泛用于网络设备管理的协议,它允许管理员远程监控和...通过使用RPM命令,我们可以轻松地在CenOS系统中部署和配置SNMP服务,从而实现对网络设备的有效管理和监控。

    基于C#编写的通过OID获取SNMP

    C#作为.NET框架的一部分,提供了丰富的库和工具来实现SNMP通信。本篇将深入探讨如何利用C#编程语言通过OID(对象标识符)获取SNMP数据。 首先,OID是SNMP中的关键元素,它是一个有序的数字串,用于唯一地标识网络中...

    centos snmp安装包

    1. 配置SNMP服务:修改`/etc/snmp/snmpd.conf`配置文件,设置社区字符串(如`rocommunity`和`rwcommunity`),定义哪些主机可以访问SNMP代理,以及设置其他安全和性能选项。 2. 启动SNMP服务:使用`systemctl start ...

    如何配置linux下的snmp服务

    在Linux系统中配置SNMP服务,可以帮助我们实现远程监控Linux服务器的状态,这对于运维人员来说是非常重要的工具。本文将详细介绍如何在Linux环境下安装与配置SNMP服务。 #### 二、准备工作 在开始配置之前,请确保...

    nagios-snmp-plugins.1.1.1.tgz

    在Nagios配置文件中,为每个插件定义服务条目,包括要检查的主机、端口、SNMP参数以及定义的阈值。此外,确保Nagios服务器与目标设备之间的网络连通性,并正确配置SNMP服务在远程设备上的设置。 在实际应用中,...

    C#SNMP_GET举例

    ### C# SNMP_GET 示例解析 ...通过设置SNMP版本、代理参数、请求数据包等,可以实现对远程网络设备的监控和管理。这对于网络管理员来说是一个非常有用的工具,可以帮助他们更好地了解网络设备的状态和性能。

Global site tag (gtag.js) - Google Analytics