通过SNMP查看设备CPU利用率配置举例
- 格式:pdf
- 大小:188.01 KB
- 文档页数:12
常用SNMP走查系统运行情况方法SNMP(Simple Network Management Protocol)是一种用于监测和管理网络设备的协议。
它允许系统管理员通过查询网络设备和收集相关信息来了解和解决问题。
在本文中,我们将介绍一些常用的SNMP走查系统运行情况的方法。
1.监测设备状态:使用SNMP可以监测设备的状态,包括设备的连接状态、CPU使用率、内存使用情况等。
可以通过查询设备的OID(对象标识符)获取这些信息。
例如,对于CPU使用率,可以查询OID1.3.6.1.4.1.2024.11.52.0来获取设备的CPU使用率。
2.监测网络流量:使用SNMP可以监测设备的网络流量,包括接收和发送的字节数、数据包的数量等。
可以通过查询设备的OID来获取这些信息。
例如,对于接收的字节数,可以查询OID1.3.6.1.2.1.2.2.1.10来获取设备接收的字节数。
3.监测设备连接数:使用SNMP可以监测设备的连接数,包括TCP连接数、UDP连接数等。
可以通过查询设备的OID来获取这些信息。
例如,对于TCP连接数,可以查询OID1.3.6.1.4.1.2024.10.1.3.2来获取设备的TCP连接数。
4.监测设备的存储状况:使用SNMP可以监测设备的存储状况,包括硬盘的使用情况、文件系统的使用情况等。
可以通过查询设备的OID来获取这些信息。
例如,对于硬盘的使用情况,可以查询OID1.3.6.1.2.1.25.2.3.1.6来获取设备硬盘的使用情况。
5.监测设备的日志信息:使用SNMP可以监测设备的日志信息,包括设备的错误日志、警告日志等。
可以通过查询设备的OID来获取这些信息。
例如,对于错误日志,可以查询OID1.3.6.1.4.1.9.9.91.2.1.1.6来获取设备的错误日志。
6.监测设备的性能指标:使用SNMP可以监测设备的性能指标,包括设备的响应时间、吞吐量等。
可以通过查询设备的OID来获取这些信息。
使用snmp+mrtg监控CPU、流量、磁盘空间、内存1、安装snmpyum install net-snmp* -y2、修改/etc/snmpd.conf(可直接清空内容)①增加rocommunity public②找到disk修改(df –k查看)可以有多个,看情况disk / $sizedisk /boot $size1[disk /home $size2…]3、启动/etc/init.d/snmpd restart4、安装mrtgyum install mrtg* -y5将以下内容写到/etc/mrtg/mrtg.cfg,直接覆盖(黄色背景需更改) ############################################################ # Multi Router Traffic Grapher -- Example Configuration File ############################################################ ##Minimal mrtg.cfgHtmlDir: /var/www/mrtgImageDir: /var/www/mrtgLogDir: /var/lib/mrtgThreshDir: /var/lib/mrtg######################################################moniting LAN interface#####################################################Target[eth1_lan]: /10.0.0.99:public@localhost:Options[eth1_lan]: growrightDirectory[eth1_lan]: eth1MaxBytes[eth1_lan]: 100000000Kmg[eth1_lan]: K,M,GYLegend[eth1_lan]: Bytes per SecondShortLegend[eth1_lan]: B/sLegend1[eth1_lan]: 每秒流入量 (单位 Bytes)Legend2[eth1_lan]: 每秒流出量 (单位 Bytes)LegendI[eth1_lan]: 流入:LegendO[eth1_lan]: 流出:Title[eth1_lan]: eth1网络流量[流入+流出]PageTop[eth1_lan]: <h1>eth1网络流量[流入+流出]</h1>####################################################Moniting CPU Load[use+free]###################################################Target[cpuload]: .1.3.6.1.4.1.2021.11.50.0&.1.3.6.1.4.1.2021.11.53.0: public@localhost:Options[cpuload]: nopercent,growrightDirectory[cpuload]: cpuMaxBytes[cpuload]: 100Unscaled[cpuload]: dwymYLegend[cpuload]: CPU UtilizationShortLegend[cpuload]: %Legend1[cpuload]: CPU使用负载(%)Legend2[cpuload]: CPU闲置(%)LegendI[cpuload]: 使用:LegendO[cpuload]: 闲置:Title[cpuload]: CPU负载[使用+闲置]PageTop[cpuload]: <h1>CPU负载[使用+闲置]</h1>####################################################Moniting Used memory and Swap [Mem+Swap] free -k###################################################Target[memory]: .1.3.6.1.2.1.25.2.3.1.6.1&.1.3.6.1.2.1.25.2.3.1.6.3:p ublic@localhost:Options[memory]: gauge,growrightDirectory[memory]: memMaxBytes1[memory]: 327252MaxBytes2[memory]: 1023992#MaxBytesX[memory]: 1023992可多个,看情况Kmg[memory]: K,M,GKilo[memory]: 1024Unscaled[memory]: dwymYLegend[memory]: Mem BytesShortLegend[memory]: BLegend1[memory]: 已用Mem(Bytes)Legend2[memory]: 已用Swap(Bytes)LegendI[memory]: 已用Mem :LegendO[memory]: 已用Swap:Title[memory]: 内存使用量[Mem+Swap]PageTop[memory]: <h1>内存使用量[Mem+Swap]</h1>####################################################Moniting disk size [/+/boot] df -k###################################################Target[disk]: .1.3.6.1.4.1.2021.9.1.8.1&.1.3.6.1.4.1.2021.9.1.8.2:pub lic@localhost:Options[disk]: gauge,growrightDirectory[disk]: diskMaxBytes1[disk]: 11087104MaxBytes2[disk]: 495844Kmg[disk]: K,M,GKilo[disk]: 1024Unscaled[disk]: dwymYLegend[disk]: Disk BytesShortLegend[disk]: BLegend1[disk]: 根分区已用空间Legend2[disk]: boot分区已用空间LegendI[disk]: 根分区已用:LegendO[disk]: boot分区已用:Title[disk]: 硬盘空间[根分区+boot分区]PageTop[disk]: <h1>硬盘空间[根分区+boot分区]</h1>6、 cp /etc/cron.d/mrtg /etc/mrtg/7、vi /etc/mrtg/mrtg,改为以下内容:#!/bin/bashLANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file/var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok8、执行3次/etc/mrtg/mrtg/etc/mrtg/mrtg/etc/mrtg/mrtg9、执行Indexmaker --output /var/www/mrtg/index.html –title=”System state Monitor” /etc/mrtg/mrtg.cfg10、修改apache配置文件httpd.confAlias /mrtg "/var/www/mrtg"<Directory "/var/www/mrtg">Options indexesAllowOverride NoneOrder deny,allowDeny from allAllow from all</Directory>11、重启httpd12、访问http://localhost/mrtg/13、如出现乱码,则改变编码。
snmpwalk使用方法SNMP(Simple Network Management Protocol)是一种用于管理和监控网络设备的协议。
snmpwalk是SNMP协议中的一个命令行工具,用于获取指定网络设备的信息。
本文将介绍snmpwalk的使用方法,帮助读者快速了解和使用这个强大的工具。
一、准备工作在使用snmpwalk之前,需要确保已经安装了SNMP软件包,并且目标设备已经开启了SNMP服务。
可以通过以下命令来检查SNMP是否已经安装:```snmpd -v```如果显示了SNMP软件包的版本信息,则表示已经安装成功。
二、命令格式snmpwalk的命令格式如下:```snmpwalk [选项] 目标主体```其中,选项包括:- -v 版本:指定SNMP版本,可以是1、2c或3,默认为2c。
- -c 社区名:指定访问目标设备的社区名,默认为public。
- -m MIB文件:指定MIB文件的路径,可以是单个文件或目录。
- -O 输出选项:指定输出格式,可以是n、N、s、x或X,默认为n。
- -t 超时:指定超时时间,单位为秒,默认为5秒。
- -r 重试:指定重试次数,默认为5次。
三、常用示例以下是一些常用的snmpwalk示例:1. 获取设备基本信息```snmpwalk -v2c -c public 192.168.0.1 sysDescr.0```这个命令用于获取设备的描述信息,其中192.168.0.1为目标设备的IP地址。
2. 获取设备接口信息```snmpwalk -v2c -c public 192.168.0.1 ifDescr```这个命令用于获取设备的接口描述信息,包括接口名称、类型等。
3. 获取设备CPU利用率```snmpwalk -v2c -c public 192.168.0.1 hrProcessorLoad```这个命令用于获取设备的CPU利用率信息。
4. 获取设备内存利用率```snmpwalk -v2c -c public 192.168.0.1 hrStorageUsed```这个命令用于获取设备的内存利用率信息。
snmpget用法SNMP (Simple Network Management Protocol)是一种管理网络设备的协议。
SNMP的命令行工具snmpget可以用来获取一些网络设备上的特定信息。
在本文中,我将详细介绍snmpget的使用方法,并提供一些实际的示例。
``````其中,AGENT是SNMP代理的IP地址或主机名,OID是要获取的信息的标识符。
以下是snmpget常用的选项:-`-vVERSION`:SNMP协议的版本。
支持的版本包括1、2c、3,默认为2c。
-`-cCOMMUNITY`:团体名或共享密码。
SNMP代理使用它来验证请求。
- `-Oqv`:使用这些选项,snmpget将仅输出将要获取的值,而不显示其它信息。
以下是一些具体的示例,用于演示snmpget的使用方法:1.获取系统信息:``````在这个示例中,“1.3.6.1.2.1.1.1.0”是系统描述符的OID。
`-v 2c`表示使用SNMP版本2c,`-c public`表示使用共享密码“public”,`192.168.0.1`是要查询的代理的IP地址。
2.获取接口状态:``````在这个示例中,"1.3.6.1.2.1.2.2.1.7.1"是第一个接口的状态。
OID"1.3.6.1.2.1.2.2.1.7"是接口状态的基本OID。
3.获取路由表信息:``````在这个示例中,"1.3.6.1.2.1.4.21.1.7.192.168.0.2"是目标IP地址为192.168.0.2的路由的状态。
4.获取CPU利用率:``````在这个示例中,"1.3.6.1.4.1.2024.11.9.0"是CPU利用率的OID。
5.获取硬盘空间:``````在这个示例中,"1.3.6.1.4.1.2024.9.1.6.1"是第一个硬盘的可用空间的OID。
Window通过SNMP获取系统数据的说明初步接触SNMP(Simple Network Management Protocol)简单网络管理协议之后,对windows系统的监测有了兴趣,通过一段时间的查找资料与实际测试,将系统的一些简单数据通过SNMP协议测试了出来,和大家一起分享。
要想使用SNMP协议监测系统,这里仅说windows操作系统,当然SNMP协议对网络设备基本适用,首先需要做的就是开通并配置好SNMP的服务,具体配置,大家可以上百度搜索或者关注我之后发表的博文(一直较忙,可能上传较晚,望见谅!)。
这里给大家推荐几款关于SNMP的调试工具:ManageEngineMibBrowser(适用与有现成的.mib库文件)Paessler SNMP Tester(测试OID)FreeSnmp(使用Walk探测OID)对于系统的主要数据,基本在”hostmib.mib”这个库中,至于“lmminb2.mib”库和“mib_ii.mib”库不做太多的说明,我就从这里面提取了部分数据,“mib_ii.mib”库基本上是数据流量的统计。
一、hostmib.mib库系统运行时间:返回数值以秒为单位OID:.1.3.6.1.2.1.25.1.1.0系统当前时间:OID:.1.3.6.1.2.1.25.1.2.0主机会话数OID:.1.3.6.1.2.1.25.1.5.0系统进程数OID:.1.3.6.1.2.1.25.1.6.0系统物理内存OID:.1.3.6.1.2.1.25.2.2.0 (4088864)标识:OID:.1.3.6.1.2.1.25.2.3.1.3.1 C:\ Label: Serial Number 665445ee OID:.1.3.6.1.2.1.25.2.3.1.3.2 D:\ Label: Serial Number d852e62c OID:.1.3.6.1.2.1.25.2.3.1.3.3 E:\ Label: Serial Number 57c15850 OID:.1.3.6.1.2.1.25.2.3.1.3.4 F:\ Label: Serial Number b17429e7OID:.1.3.6.1.2.1.25.2.3.1.3.5 Virtual MemoryOID:.1.3.6.1.2.1.25.2.3.1.3.6 Physical Memory每个箸/块的大小OID:.1.3.6.1.2.1.25.2.3.1.4.1 (4096)OID:.1.3.6.1.2.1.25.2.3.1.4.2 (4096)OID:.1.3.6.1.2.1.25.2.3.1.4.3 (4096)OID:.1.3.6.1.2.1.25.2.3.1.4.4 (4096)OID:.1.3.6.1.2.1.25.2.3.1.4.5 (65536)OID:.1.3.6.1.2.1.25.2.3.1.4.6 (65536)一个磁盘分为多少块/箸, 总大小OID:.1.3.6.1.2.1.25.2.3.1.5.1 (20972849)OID:.1.3.6.1.2.1.25.2.3.1.5.2 (47186913)OID:.1.3.6.1.2.1.25.2.3.1.5.3 (27001240)OID:.1.3.6.1.2.1.25.2.3.1.5.4 (26934972)OID:.1.3.6.1.2.1.25.2.3.1.5.5 (127748)OID:.1.3.6.1.2.1.25.2.3.1.5.6 (63888)磁盘空间大小=簇*簇数已经使用的块/箸OID:.1.3.6.1.2.1.25.2.3.1.6.1 (7389539)OID:.1.3.6.1.2.1.25.2.3.1.6.2 (2737261)OID:.1.3.6.1.2.1.25.2.3.1.6.3 (31264)OID:.1.3.6.1.2.1.25.2.3.1.6.4 (1678515)OID:.1.3.6.1.2.1.25.2.3.1.6.5 (59945)OID:.1.3.6.1.2.1.25.2.3.1.6.6 (45513)备注:在我这台主机的数据中可以看到的盘符是C: D: E: F:;同时可以得到虚拟内存信息,物理内存的信息C: 盘大小为4096×20972849=85904789504bytes or 80GBC: 盘以用空间4096×7389539=7566887936bytes or 7.04GBC:盘使用率为7.04/80*100% = 8%使用类似的方法可以计算出其它盘符的使用率和空间数据物理内存占用率:(65536*45513/1024)/4088864*100%=71.24%Cpu占用率(以上一分钟统计,不同的电脑的处理器不一样,需要使用walk来查看大概有几线程,其表头为.1.3.6.1.2.1.25.3.3.1.2,我这为4线程)OID:.1.3.6.1.2.1.25.3.3.1.2.2 (3)OID:.1.3.6.1.2.1.25.3.3.1.2.3(2)OID:.1.3.6.1.2.1.25.3.3.1.2.4(1)OID:.1.3.6.1.2.1.25.3.3.1.2.5(2)系统进程的表头为.1.3.6.1.2.1.25.4.2.1.2,这里就截取几个给大家看看其中的value为返回的进程名称进程所在的路径表头为.1.3.6.1.2.1.25.4.2.1.4进程的类型表头.1.3.6.1.2.1.25.4.2.1.6数值的含义:unknown ( 1 ) , operatingSystem ( 2 ) , deviceDriver ( 3 ) , application ( 4 ) 进程占CPU的大小表头.1.3.6.1.2.1.25.4.2.1.1进程占内存的大小表头. 1.3.6.1.2.1.25.5.1.1.2二、lmminb2.mib库网络服务数目OID:.1.3.6.1.4.1.77.1.2.2.0 (65)服务器上开放的文件数目OID:.1.3.6.1.4.1.77.1.2.4.0 (2803)通讯设备打开的总数OID:.1.3.6.1.4.1.77.1.2.5.0 (0)后台打印作业数量OID:.1.3.6.1.4.1.77.1.2.6.0 (0)服务器上已启动的会话总数OID:.1.3.6.1.4.1.77.1.2.7.0 (1)又有错误断开的会话总数OID:.1.3.6.1.4.1.77.1.2.8.0 (0)password violations encountered的总数OID:.1.3.6.1.4.1.77.1.2.9.0 (42)访问权限遭遇侵害的数量(access permission violations encountered)OID:.1.3.6.1.4.1.77.1.2.10.0 (0)系统报错的总数OID:.1.3.6.1.4.1.77.1.2.11.0 (0)服务器发送的字节数OID:.1.3.6.1.4.1.77.1.2.12.0 (87603026)服务器接收的字节数OID:.1.3.6.1.4.1.77.1.2.13.0 (61826588)服务器能支持的并发数OID:.1.3.6.1.4.1.77.1.2.16.0 (16777216)由于超时而断开的会话数OID:.1.3.6.1.4.1.77.1.2.21.0 (0)断开空闲会话等待时间OID:.1.3.6.1.4.1.77.1.2.22.0 (15)服务器用户账户总数OID:.1.3.6.1.4.1.77.1.2.24.0 (3)用户帐号表头.1.3.6.1.4.1.77.1.2.25.1.1Variable = nmgr-2.server.svUserTable.svUserEntry.svUserName.5.71.117.101.115.116Value = GuestVariable = nmgr-2.server.svUserTable.svUserEntry.svUserName.13.65.100.109.105.110.105.115.116.114.97.116.1 11.114Value = AdministratorVariable = nmgr-2.server.svUserTable.svUserEntry.svUserName.17.95.95.83.85.78.76.79.71.73.78.95.85.83.69.82.95.95Value = __SUNLOGIN_USER__打印队列数量OID:.1.3.6.1.4.1.77.1.2.28.0 (0)工作站启动的会话数OID:.1.3.6.1.4.1.77.1.3.1.0 (0)工作站经历的失败会话数量OID:.1.3.6.1.4.1.77.1.3.2.0 (0)工作站已启动的连接数OID:.1.3.6.1.4.1.77.1.3.3.0 (17)自动恢复断开会话连接的数量OID:.1.3.6.1.4.1.77.1.3.5.0 (0)主域的名称OID:.1.3.6.1.4.1.77.1.4.1.0 (WORKGROUP)三、mib_ii.mib库这个表基本涉及的数据就是流量的统计,如icmp、tcp、udp等,这里就不写出来了,数据点比较多,本人的英文也不是很好,大家补充补充啦!由于本人水平有限,欢迎大家指正!。
snmp如何获取主机CPU的频率和使用率根据MRTG绘图原理,一般只要提供给MRTG两组数字再透过mrtg.cfg的设定后,执行/usr/bin/mrtg /etc/mrtg/mrtg.cfg.xxx 即可绘出一个图形出来,因此,我们可以利用这样的原理来绘出一皆我们所想要的监控图形出来,本章节所提的主机CPU负载量统计即是利用这样的原理所产生而来的。
1. 首先,我们必须利用script来产生两个数值出来,一般针对CPU而言必须对日常CPU 负载作监控的方式,在网路上有很多方法,一般较常见的方式便是采用sar 这个指令来作,因为sar 这个指令会产生Average(平均值)例如:,因此,我们便直接抓欲监测的数值两个即可绘出我们所想要看到的图形出来了。
2. Script,一般而言sar 所产生的数据,我们仅仅要的只是其中的两个而已,因此必须透过Script来完成抓值的工作,至於要抓哪些值呢?以sar所产生的数据来说我们得先抓到Average: all 0.00 0.00 0.00 100.00这行,然后%user、%nice、%system、%idle这四个数值我们仅仅只需要两个就够了,以下所举的例子是以%user使用量平均值及%system系统使用量平均值:/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'以上两个数据,我们还必须加上”开机时间”及”主机名称”,所以我们必须写一个Script来完成这四个数据的产生。
以下两个范例一个是采用一般的shell script所写出来的,另一个则是用perl与法所写的:#!/bin/bash# 1. 开始使用sar 来监测CPU 的user 及System 负载率cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'`cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`# 2. 列出四个数据(前两个为数字)echo $cpuusrecho $cpusysecho $UPtimeecho XXX伺服器#本shell出处[url]/linux_security/old/04mrtg.php[/url]#!/usr/bin/perl@line = `/usr/bin/sar | /usr/bin/tail -n 2 | /usr/bin/head -n 1 | /bin/sed 's/\ \ */ /g'`;@data = split(/ /, @line[0]);if (@data[2] eq "") {printf "0\n";} else {printf ("%3.0f\n", @data[2] + 0.5);}printf ("%3.0f\n", (@data[3])+(@data[2])+(@data[4]+0.5));$uptime = `/usr/bin/uptime | sed 's/\ \ */ /g'`;@uptime = split(/,/, $uptime);@uptime = split(/up/, @uptime[0]);$server = `/bin/uname -n`;printf "@uptime[1]\n";printf $server;#嘻嘻~我忘记这个script的出处了!!3. 有了这Scrip后,我们将它命名为mrtg.cpu,然后我们必须再写一个mrtg.cfg.cpu 其内容如下:WorkDir: /var/www/html/mrtgOptions[cpu]: gauge, nopercent, growrightLanguage: big5Refresh: 300Target[cpu]: `/etc/mrtg/mrtg.cpu`MaxBytes[cpu]: 100YLegend[cpu]: CPU loading (%)ShortLegend[cpu]: %LegendO[cpu]: CPU 使用者负载;LegendI[cpu]: CPU 纯系统负载;Title[cpu]: Mosquito伺服器CPU 负载率PageTop[cpu]: <H1>Mosquito伺服器CPU 负载率</H1>Legend1[cpu]: CPU 纯系统负载Legend2[cpu]: CPU 使用者负载4. 最后别忘了要将/usr/bin/mrtg /etc/mrtg/mrtg.cfg.cpu 执行三次后放置到crontab 内每隔五分钟定时执行(注),以产生监测数据出来。
snmp如何获取主机CPU的频率和使用率根据MRTG绘图原理,一般只要提供给MRTG两组数字再透过mrtg.cfg的设定后,执行/usr/bin/mrtg /etc/mrtg/mrtg.cfg.xxx 即可绘出一个图形出来,因此,我们可以利用这样的原理来绘出一皆我们所想要的监控图形出来,本章节所提的主机CPU负载量统计即是利用这样的原理所产生而来的。
1. 首先,我们必须利用script来产生两个数值出来,一般针对CPU而言必须对日常CPU 负载作监控的方式,在网路上有很多方法,一般较常见的方式便是采用sar 这个指令来作,因为sar 这个指令会产生Average(平均值)例如:,因此,我们便直接抓欲监测的数值两个即可绘出我们所想要看到的图形出来了。
2. Script,一般而言sar 所产生的数据,我们仅仅要的只是其中的两个而已,因此必须透过Script来完成抓值的工作,至於要抓哪些值呢?以sar所产生的数据来说我们得先抓到Average: all 0.00 0.00 0.00 100.00这行,然后%user、%nice、%system、%idle这四个数值我们仅仅只需要两个就够了,以下所举的例子是以%user使用量平均值及%system系统使用量平均值:/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'以上两个数据,我们还必须加上”开机时间”及”主机名称”,所以我们必须写一个Script来完成这四个数据的产生。
以下两个范例一个是采用一般的shell script所写出来的,另一个则是用perl与法所写的:#!/bin/bashprintf ("%3.0f\n", @data[2] + 0.5);}printf ("%3.0f\n", (@data[3])+(@data[2])+(@data[4]+0.5));$uptime = `/usr/bin/uptime | sed 's/\ \ */ /g'`;@uptime = split(/,/, $uptime);@uptime = split(/up/, @uptime[0]);$server = `/bin/uname -n`;printf "@uptime[1]\n";printf $server;#嘻嘻~我忘记这个script的出处了!!3. 有了这Scrip后,我们将它命名为mrtg.cpu,然后我们必须再写一个mrtg.cfg.cpu 其内容如下:WorkDir: /var/www/html/mrtgOptions[cpu]: gauge, nopercent, growrightLanguage: big5Refresh: 300Target[cpu]: `/etc/mrtg/mrtg.cpu`MaxBytes[cpu]: 100YLegend[cpu]: CPU loading (%)ShortLegend[cpu]: %LegendO[cpu]: CPU 使用者负载;LegendI[cpu]: CPU 纯系统负载;Title[cpu]: Mosquito伺服器CPU 负载率PageTop[cpu]: <H1>Mosquito伺服器CPU 负载率</H1>Legend1[cpu]: CPU 纯系统负载Legend2[cpu]: CPU 使用者负载4. 最后别忘了要将/usr/bin/mrtg /etc/mrtg/mrtg.cfg.cpu 执行三次后放置到crontab 内每隔五分钟定时执行(注),以产生监测数据出来。
基于SNMP的网络管理软件的配置与使用网络管理软件是一种用于监控、配置和管理网络设备的工具。
SNMP (Simple Network Management Protocol,简单网络管理协议)是一种广泛应用于网络管理的协议。
本文将介绍基于SNMP的网络管理软件的配置和使用。
一、SNMP的基本原理SNMP是一种基于代理-管理者架构的协议,主要包括三个组件:管理者(Manager)、代理(Agent)和MIB(Management Information Base)。
管理者负责发送请求和接收响应,代理负责接收请求并返回响应,MIB则是存储了设备的管理信息。
SNMP采用了分布式的网络管理模型,管理者通过发送SNMP请求消息到代理来获取设备信息。
代理可以响应不同类型的请求,如获取、设置、触发等。
管理者和代理之间通过SNMP消息进行通信,消息的格式使用ASN.1(Abstract Syntax Notation One)来描述。
二、基于SNMP的网络管理软件1.SNMP协议工具SNMP协议工具是一种轻量级的网络管理软件,常用的工具有SNMPGET、SNMPSET和SNMPWALK等。
这些工具通过命令行的方式使用,可以通过SNMP协议来获取和设置设备的管理信息。
例如,使用SNMPGET可以获取设备的系统信息,使用SNMPSET可以设置设备的配置参数。
2.SNMP管理软件SNMP管理软件是一种图形化的网络管理工具,提供了可视化的界面和丰富的功能。
常见的SNMP管理软件有Zabbix、Cacti和SNMPc等。
这些软件可以通过SNMP协议来监控网络设备的状态、性能和配置信息,同时也可以进行告警、日志和报表等功能。
3.SNMP代理软件SNMP代理软件是一种用于模拟设备的网络管理工具,可以模拟出SNMP代理的功能。
常见的SNMP代理软件有Net-SNMP、SNMP Agent Simulator和SNMP Simulator等。
一、概述Net-SNMP是一种用于监控和管理网络设备的开源工具。
其中,CPU 利用率是监控网络设备性能的重要指标之一。
本文将介绍Net-SNMP 对CPU利用率的监控原理。
二、Net-SNMP的基本原理Net-SNMP是基于Simple Network Management Protocol(简单网络管理协议)的一种软件,用于监控和管理网络设备。
它允许用户通过远程访问方式监控设备的性能和状态信息。
Net-SNMP使用了SNMP协议来获取和设置网络设备的信息。
SNMP协议基于客户端/服务器模型,其中,网络设备作为SNMP代理程序运行,而Net-SNMP作为SNMP管理程序对设备进行监控和管理。
三、CPU利用率的监控原理在Net-SNMP中,CPU利用率的监控是通过获取设备的CPU利用率数据来实现的。
Net-SNMP可以通过SNMP协议获取设备的CPU利用率信息,并将其展现给用户。
具体而言,Net-SNMP通过向设备发送SNMP请求来获取设备的CPU利用率数据。
这些请求可以是GET请求,用于获取单个值,也可以是GETNEXT请求,用于获取一系列值。
获取到的CPU利用率数据可以是设备总体的CPU利用率数据,也可以是针对每个CPU核心的利用率数据。
获取到CPU利用率数据后,Net-SNMP将其进行处理,并根据用户的需求进行展示。
通常情况下,CPU利用率的展示形式包括折线图、柱状图等,用于直观地展示CPU的利用率变化趋势。
四、实现细节要实现对CPU利用率的监控,首先需要确保网络设备支持SNMP协议,并已经启用了SNMP代理程序。
需要在监控服务器上安装和配置Net-SNMP软件,以便能够通过SNMP协议获取设备的CPU利用率数据。
在配置Net-SNMP软件时,需要指定设备的IP位置区域、SNMP团体名等信息,以便Net-SNMP能够正确地与设备通信。
还需要配置监控项和展示方式,以满足用户的监控需求。
一旦配置完成,Net-SNMP就可以通过SNMP协议向设备发送请求,并获取设备的CPU利用率数据。
snmp⽅式获取linux内存的计算⽅式
linux下查看内存利⽤率可使⽤free 命令
通过 Mem⾏的total ( 2035256 ), used( 1101336) 计算得 1101336/2035256 得 cpu 利⽤率为 54%
运维⼈员反映 cpu的利⽤率没那么⾼,经查资料可以看到,linux 的cpu计算⽅式有误
通过top命令,后输⼊⼤写M,结果按内存占⽤降序排序。
计算内存利⽤率 17.3%
free获取的内存利⽤率⼤于实际内存利⽤率的原因是linux 系统获取到内存后,内存不释放,top命令第⼀⾏除了total和used,还有buffers和cached,在linux系统下的buffer指的是磁盘写缓存,⽽cache 则指的是磁盘读缓存。
这两块是为了提⾼系统效率分配的内存,内存富余时,操作系统将空闲内存利⽤,内存需要时,系统会释放buffers和cached 供应⽤程序使⽤
真正应⽤程序可⽤的内存⼤⼩为 free+buffer+cache
已⽤内存为 used -buffer -cache
free 命令 -/+buffers/cache这列就是去除 buffer 和 cache 即 used - buffer - cache/ free + buffer + cache
可以添加 -m 或 -g 参数按 MB 或者GB换算的结果查看
以上内存利⽤率 100*455608/2035256 为22.4%。
linux 获取cpu利用率的函数(最新版)目录1.Linux 下获取 CPU 利用率的方法2.通过/proc文件系统获取CPU利用率3.使用 SNMP 服务获取 CPU 利用率4.计算 CPU 利用率的公式和算法5.硬盘和内存利用率的计算方法正文在 Linux 系统中,获取 CPU 利用率的方法有很多种。
其中,通过/proc 文件系统和 SNMP 服务是比较常见的方法。
首先,我们来介绍一下通过/proc 文件系统获取 CPU 利用率的方法。
在 Linux 系统中,/proc 文件系统是一个伪文件系统,它提供了一种访问内核数据结构的方便途径。
通过/proc 文件系统,我们可以获取到许多与系统性能相关的参数,包括 CPU 利用率。
具体来说,我们可以通过查看/proc/stat 文件来获取 CPU 利用率。
该文件包含了系统的一些统计信息,其中包括各个 CPU 模式的使用率。
我们可以将这些使用率相加,然后除以 CPU 的核心数,得到系统的平均 CPU 利用率。
其次,我们来介绍一下使用 SNMP 服务获取 CPU 利用率的方法。
SNMP (Simple Network Management Protocol)是一种网络管理协议,它可以用于监控网络设备和系统的性能。
在 Linux 系统中,我们可以通过安装SNMP 服务,然后使用 SNMP 工具来获取 CPU 利用率。
具体来说,我们可以使用 SNMP 的 GET-AND-SET 操作来访问 SNMP 代理中的数据,从而获取 CPU 利用率。
除了获取 CPU 利用率,我们还可以计算 CPU 利用率的公式和算法。
CPU 利用率的计算公式通常是:CPU 利用率 = (CPU 使用时间 / CPU 空闲时间)× 100%。
通过这个公式,我们可以计算出某个时间段内 CPU 的平均利用率。
此外,我们还可以介绍硬盘和内存利用率的计算方法。
硬盘利用率的计算公式通常是:硬盘利用率 = (已使用硬盘空间 / 硬盘总空间)×100%。
利用SNMP实时了解网络运行状况在大型网络管理中,网络管理员比较头痛的问题就是如何实时了解不在身边的网络设备的运行状况。
若要一台一台的去查看网络设备的运行现状,那明显不是很现实。
笔者在这里为大家介绍一种利用SNMP协议自动帮助管理员收集网络运行状况的方法。
通过这种方法,网络管理员只需要坐在自己的位置上,就可以了解全公司的网络设备的运行情况。
SNMP,其中文名字叫做简单网络管理协议,这是一个应用层协议。
有了这个简单网络管理协议,则网络管理员可以很方便的在SNMP代理和管理器之间交换管理信息。
它的主要作用就是帮助企业网络管理人员更方便的了解网络性能、发现并解决网络问题、规划网络的未来发展。
若网络管理员要部署SNMP应用也比较简单。
下面笔者通过一个简单的例子,来谈谈在企业网络中如何通过SNMP协议来帮助网络管理员实时了解网络运行状况。
现在网络管理员希望能够在自己的电脑上,实时了解这台路由器的运行状况,前提是不离开自己的位置。
此时,该如何处理呢?一、SNMP应用的基本组成部分。
在讲解这个解决方案之前,笔者先要谈谈SNMP应用的基本组成部分,这有利于大家了解后续的配置。
通常情况下,SNMP应用主要有三部分组成,分别为网络管理系统、SNMP代理以及被管设备。
SNMP代理是一个驻留在网络设备上的网络管理软件。
他的作用就是将网络设备中的本地管理信息,如日志信息等,转换为SNMP兼容的格式。
并且隔一段时间,把这个信息发送给SNMP管理系统。
其主要作用就是一个,把路由器等网络设备中的日志文件进行转换。
以便SNMP管理系统进行读取。
被管设备就是指我们需要管理的网络设备。
在这些设备中,往往就含有SNMP代理。
这些SNMP代理会主动收集和存储管理信息,并通过SNMP把这些信息提供给网络管理系统。
现在大部分厂家的网络设备,如思科的路由器、交换机等产品,就都带有SNMP代理功能。
为此,从SNMP应用解决方案来讲,这些带有SNMP代理的网络设备或者服务器,就被称为被管设备。
使用 snmpd 监控硬件设备使用snmpd监控硬件设备随着信息技术的发展,计算机网络和硬件设备的普及和发展,硬件设备数量和种类也不断增加,企业和个人的硬件设备的管理和维护成为了一个难题。
为了解决这个问题,现在越来越多的管理员开始使用snmpd监控硬件设备。
SNMP(简单网络管理协议)是一种控制和监控网络设备的标准协议。
SNMP的工作原理是,使用客户端向SNMP代理服务器发送命令,代理服务器接收命令并采集相应的数据,然后通过SNMP协议将数据传输给客户端,客户端通过分析数据来进行管理和控制。
使用snmpd监控硬件设备的好处有很多。
首先,它可以实时监控硬件设备的各种指标和参数,例如CPU使用率、内存利用率、网络带宽、磁盘容量等等。
这些数据可以帮助管理员及时了解设备的状态,做出正确的判断和决策,避免设备故障和损坏。
其次,snmpd可以实现报警和通知功能。
管理员可以设置阈值和报警规则,当设备出现故障或超过设定的阈值时,snmpd将自动发送通知消息给管理员,及时提醒管理员进行处理。
另外,snmpd还可以实现设备的远程管理。
管理员可以通过snmpd远程访问和管理硬件设备,无需亲自到现场管理设备,节省了时间和人力成本。
但是,snmpd也有一些局限性和注意事项。
首先,snmpd需要正确配置和部署,否则可能存在安全和隐私问题。
管理员需要设置正确的权限和访问控制,防止恶意攻击和非法访问。
其次,snmpd也需要进行数据的处理和分析。
因为snmpd采集到的数据很多,需要进行分析和统计,才能得出正确的结论和决策。
管理员需要具备数据分析和处理的能力,才能充分发挥snmpd的优势。
最后,snmpd还需要与其他管理工具和平台进行集成和互通,例如网管系统、监控系统、数据库等等。
管理员需要根据实际情况选择合适的集成方式和工具,提高管理效率和精度。
使用snmpd监控硬件设备是一种先进的管理模式,它可以帮助管理员更好地管理和维护硬件设备,确保计算机网络的正常运行。
snmp指标项oid
SNMP(Simple Network Management Protocol)是一种用于网络管理和监控的标准协议。
OID(Object Identifier)是SNMP中用于唯一标识管理信息的标识符。
OID由一系列数字组成,用于唯一标识网络设备上的各种参数和指标。
下面是一些常见的SNMP指标项OID的示例:
1. 网络接口状态,OID为 1.3.6.1.
2.1.2.2.1.8,用于获取网络设备上各个接口的状态信息,例如接口的启用或禁用状态。
2. CPU利用率,OID为 1.
3.6.1.
4.1.2021.11.9,用于获取设备上CPU的利用率信息,可以用于监控CPU的负载情况。
3. 内存利用率,OID为 1.3.6.1.
4.1.2021.4.6,用于获取设备上内存的利用率信息,可以用于监控内存的使用情况。
4. 接收到的数据包数量,OID为 1.3.6.1.2.1.2.2.1.11,用于获取设备接收到的数据包数量,可以用于监控网络流量情况。
5. 发送的数据包数量,OID为 1.3.
6.1.2.1.2.2.1.16,用于
获取设备发送的数据包数量,可以用于监控网络流量情况。
这些是一些常见的SNMP指标项OID的示例,每个设备厂商可能会有自己的OID命名规则,因此在实际应用中需要根据设备的MIB (Management Information Base)文档来获取具体的OID信息。
希望这些信息能够帮助你更好地理解SNMP指标项OID。
一、先通过mib库,看看内存OID能否获取到值,展开第二个mib库
二、输入ip地址和snmp的团体字符串,然后点击cpuUsage,去获取值:
三、点击获取
四、发现.74的子节点下有值
五、那列节点的后面加子节点.74,那就是最后得到是cpuUsage的OID:CpuUsage .1.3.6.1.4.1.25506.2.6.1.1.1.1.6.74
六、回到opm的界面,找到相对应的设备模板,点击添加监视器
七、填写相对应的OID
总结:
目前我们这边帮您已经添加了
H3C-S10508 的11台cpu利用率
H3C-S5500的cpu利用率
H3C-E528 默认是可以获取到值,不需要新建监视器
H3C-S7503E-S 这个型号不适合您所给我们mib,获取不到值,这类型号的OID,还需要您这边问问厂商。
其他的监视器,请您们安装上面的例子一步一步添加,如遇到什么问题,请联系我们。
注:内存在mib中要获取值的名称是:。
linux 获取cpu利用率的函数摘要:1.Linux中获取CPU利用率的方法2.CPU利用率计算公式和步骤3.具体操作示例正文:在Linux系统中,获取CPU利用率的方法主要有两种:一种是通过/proc 文件系统获取,另一种是通过SNMP服务获取。
首先,我们来看通过/proc文件系统获取CPU利用率的方法。
在Linux系统中,/proc文件系统是一个虚拟的文件系统,它提供了关于系统中各个进程和系统资源的信息。
其中,我们可以通过查看/proc/stat文件来获取CPU的使用情况。
具体的查看方法如下:```bashcat /proc/stat```这个命令会显示CPU的使用情况,包括用户的模式(user)、低优先级的用户模式(nice)、系统内核模式(system)以及系统空闲的处理器时间(idle)。
通过这些信息,我们可以计算出CPU的利用率。
CPU利用率的计算公式如下:CPU利用率= (用户模式+ 系统模式+ 低优先级用户模式)/ 处理器核数* 100%接下来,我们来看如何通过SNMP服务获取CPU利用率。
SNMP (Simple Network Management Protocol)是一种用于管理和监控网络设备的协议。
在Linux系统中,我们可以安装SNMP服务,并通过HOST-RESOURCES-MIB库中的节点获取CPU利用率等信息。
具体的操作步骤如下:1.在Linux虚拟机上安装SNMP服务。
2.通过SNMP库中的hrProcessorLoad节点获取CPU负载值。
3.根据获取到的CPU负载值,计算CPU利用率。
CPU利用率的计算公式如下:CPU利用率= (CPU负载值之和/ 处理器的个数)* 100%以上就是如何在Linux系统中获取CPU利用率的方法和具体的操作步骤。
通过SNMP查看设备CPU利用率配置举例关键词:SNMP、NMS、Agent、MIB、CPU利用率摘要:NET-SNMP是SNMP协议的一套开源实现工具,可作为NMS或Agent。
本文主要介绍NET-SNMP作为NMS通过SNMP协议查看H3C设备(作为Agent)CPU利用率的配置应用。
缩略语:SNMP、NMS、MIB缩略语英文全名中文解释SNMP Simple Network Management Protocol 简单网络管理协议NMS Network Management System 网络管理系统Information Base 管理信息库MIB Management目录1 简介 (3)2 Net-SNMP使用简介 (3)3 相关MIB节点 (4)4 使用SNMP v1、v2c查看设备CPU利用率配置举例 (5)4.1 组网需求 (5)4.2 配置思路 (6)4.3 配置步骤 (6)4.3.1 配置Agent (6)4.3.2 配置NMS (7)5 使用SNMP v3查看设备CPU利用率配置举例 (8)5.1 组网需求 (8)5.2 配置思路 (9)5.3 配置步骤 (9)5.3.1 配置Agent (9)5.3.2 配置NMS (10)1 简介SNMP是网络中管理设备(NMS)和被管理设备(Agent)之间的通信规则。
NMS通过Get和Set等操作获取、设置Agent上变量的值,从而实现对Agent的远程管理、监控。
Agent的CPU 利用率就是NMS经常监控的重要变量。
CPU利用率反映了一段时间内设备CPU资源的使用情况。
如果CPU利用率一直居高不下,说明设备负载较重,需要对设备当前状况进行分析,找到引起设备负载过重的原因,从而预防、诊断网络故障。
目前市场上有多种NMS产品,其中Net-SNMP作为一种开源实现的NMS在业界被广泛使用。
它提供了一套完整的应用程序,实现了SNMPv1/v2c/v3功能。
本文将描述如何使用Net-SNMP工具通过访问MIB对象获取设备CPU利用率。
2 Net-SNMP使用简介本文主要用到Net-SNMP的snmpget功能和snmpwalk功能。
z snmpget功能:即执行一次SNMP Get操作,用来获取Agent上指定MIB对象的值。
命令行格式为snmpget [OPTIONS] AGENT OID [OID]。
z snmpwalk功能:即执行一次SNMP Walk操作,用来获取Agent上多个MIB对象的值。
命令行格式为snmpwalk [OPTIONS] AGENT [OID]。
以上两条命令行中各参数的含义如下:参数说明snmpget 命令关键字,表示执行Get操作snmpwalk 命令关键字,表示执行Walk操作OPTIONS 命令行选项(常用选项请参见表1)AGENT Agent的IP地址OID Agent上MIB对象的OID(如果是执行Get操作,OID必须是叶子节点或者是表节点实体的OID;如果是执行Walk操作,可以是所有类型对象的OID)表1Net-SNMP命令行工具常用选项选项说明举例-h 显示命令帮助信息-h-v 设置使用的SNMP版本,取值为1、2c或3 -v 1-c 设置团体名-c public-a 设置认证协议类型,取值为MD5或SHA -a MD5-A 设置认证密码-A 12345678选项说明举例-e 设置安全引擎ID -e 800063A203000056000000 -u 设置用户名-u v3user-x 设置加密协议类型,取值为DES -x DES-X 设置加密密码-X 12345678-m 加载MIB列表,取值为MIB文件名(取值为ALL时表示加载所有文件)-m ALL或-m d:/net-snmp/xxx.mib-M 指定MIB文件所在目录列表-M d:/nets-snmp本文使用的Net-SNMP工具来自于/,关于这个工具的详细介绍,请访问该网站。
3 相关MIB节点本文通过访问H3C私有MIB来查看CPU利用率。
如果想要通过对象的名称访问该节点,在访问前需要在NMS上先下载并编译hh3c-entity-ext.mib或h3c-entity-ext.mib,MIB文件可以通过H3C公司网站进行下载。
如果不编译该MIB文件,则只能通过对象OID进行访问。
hh3c-entity-ext.mib是H3C new风格的MIB文件,h3c-entity-ext.mib是H3C compatible风格的MIB文件。
使用哪个MIB文件由设备当前的MIB风格决定。
在Agent上使用display mib-snmp 命令查看设备的MIB风格,如果“Current MIB style”显示为:z new,则需要使用hh3c-entity-ext.mib文件中的hh3cEntityExtCpuUsage节点,该节点的详细描述请参见表2。
z compatible,则需要使用h3c-entity-ext.mib文件中的h3cEntityExtCpuUsage节点,该节点的详细描述请参见表3。
表2hh3cEntityExtCpuUsage对象描述表对象名称hh3cEntityExtCpuUsage对象OID 1.3.6.1.4.1.25506.2.6.1.1.1.1.6对象描述 CPU实体在最后1分钟内的利用率对象类型列对象备注z该对象下面包含多个实体(即叶子节点),实体的OID为1.3.6.1.4.1.25506.2.6.1.1.1.1.6.n。
实体不同,n(以下称为实体编号)的取值不同z CPU实体的编号可以通过ENTITY-MIB文件中的entPhysicalDescr(OID为1.3.6.1.2.1.47.1.1.1.1.2)、entPhysicalClass(OID为 1.3.6.1.2.1.47.1.1.1.1.5)和entPhysicalName(OID为1.3.6.1.2.1.47.1.1.1.1.7)对象来确定z如果某实体对象取值永远为零,那么该实体不是CPU实体表3h3cEntityExtCpuUsage对象描述表对象名称h3cEntityExtCpuUsage对象OID 1.3.6.1.4.1.2011.10.2.6.1.1.1.1.6对象描述 CPU实体在最后1分钟内的利用率对象类型列对象备注z该对象下面包含多个实体(即叶子节点),实体的OID为1.3.6.1.4.1.2011.10.2.6.1.1.1.1.6.n。
实体不同,n(以下称为实体编号)的取值不同z CPU实体的编号可以通过ENTITY-MIB文件中的entPhysicalDescr(OID为1.3.6.1.2.1.47.1.1.1.1.2)、entPhysicalClass(OID为 1.3.6.1.2.1.47.1.1.1.1.5)和entPhysicalName(OID为1.3.6.1.2.1.47.1.1.1.1.7)对象来确定z如果某实体对象取值永远为零,那么该实体不是CPU实体4 使用SNMP v1、v2c查看设备CPU利用率配置举例使用SNMP v1或者v2c版本配置基本相同,本文以SNMP v1为例。
如果网络上运行的SNMP是v2c版本的,则只需将本举例中snmpget工具命令中的-v参数的值改为2c即可。
4.1 组网需求z网管工作站(NMS)与设备(Agent)通过以太网相连。
z NMS上运行Net-SNMP软件,要求在NMS上通过SNMP v1、团体名public能够查看Agent最后一分钟内的CPU利用率。
图1使用SNMP v1、v2c查看设备CPU利用率组网图4.2 配置思路z在Agent上配置接口参数:指定接口的IP地址,保证Agent和NMS路由的可达。
z Agent上需要完成SNMP功能基本配置(包括SNMP的版本、SNMP团体名),使得NMS 和Agent之间可以互访。
z查看Agent支持的MIB风格,确定需要使用的MIB对象。
z将Net-SNMP软件中的snmpget.exe和snmpwalk.exe文件放到NMS的C:\usr\bin路径下,通过MIB对象查询Agent最后1分钟内CPU利用率。
4.3 配置步骤4.3.1 配置Agent# 配置Agent的IP地址为192.168.1.56/24,并确保Agent与NMS之间路由可达。
z如果Ethernet1/1是三层接口,请进行以下配置:<Sysname> system-view[Sysname] interface ethernet 1/1[Sysname-Ethernet1/1] ip address 192.168.1.56 24[Sysname-Ethernet1/1] quitz如果Ethernet1/1是二层接口,请进行以下配置:<Sysname> system-view[Sysname] vlan 2[Sysname-vlan2] port Ethernet 1/1[Sysname-vlan2] quit[Sysname] interface vlan-interface 2[Sysname-Vlan-interface2] ip address 192.168.1.56 24[Sysname-Vlan-interface2] quit# 配置SNMP版本。
为了防止Agent和NMS因为版本问题导致不能建立SNMP连接,建议将版本参数配置为all,表示支持v1、v2c、v3三个版本。
[Sysname] snmp-agent sys-info version all# 配置可读属性团体名。
[Sysname] snmp-agent community read public# 查看设备当前支持的MIB文件风格,以便决定使用哪个MIB对象。
[Sysname] display mib-styleCurrent MIB style: newNext reboot MIB style: new以上显示信息表明,设备当前支持的MIB文件风格为new,所以使用hh3cEntityExtCpuUsage对象,OID为1.3.6.1.4.1.25506.2.6.1.1.1.1.6。
(如果Current MIB style显示为compatible,则下面的配置步骤中需要将1.3.6.1.4.1.25506.2.6.1.1.1.1.6替换为1.3.6.1.4.1.2011.10.2.6.1.1.1.1.6)4.3.2 配置NMS(1) 查看CPU的实体编号使用ENTITY-MIB中的entPhysicalDescr、entPhysicalClass和entPhysicalName对象确定CPU实体的编号。