SNMP自定义oid.doc_第1页
SNMP自定义oid.doc_第2页
SNMP自定义oid.doc_第3页
SNMP自定义oid.doc_第4页
SNMP自定义oid.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SNMP自定义oidWindows自定义oid1. 安装snmptools 首先需要在windows上安装snmp服务,具体安装方法可搜索网上的介绍,在windows组件中进行安装。oid有一个oid的标准,如果这个标准中可能并没有定义我们需要监控的变量,如对一个程序的运行情况进行监控,这个时候就需要扩展oid,实现自己定义的oid。注:windows2012,需要安装snmp wmi1) 下载snmptools扩展oid需要一个工具snmptools,下载地址/projects/snmptools/files/?source=navbar2) 配置snmptools下载完成后,解压文件,里面有一个index.html文件,对照着上面就可以安装成功,在这里稍微提一下:1. 如果你的是Windows 32位系统,需要复制压缩包中的snmptools.dll 到系统目录C:WINDOWSsystem32下,点击压缩包中的regagent.reg文件,在注册表中注册2. 如果你的是Windows 64位系统,需要复制压缩包中的snmptools.dll 到系统目录C:WINDOWS下,点击压缩包中的regagentWow6432.reg文件,在注册表中注册3. 在运行中输入services.msc,找到snmp服务重新启动3) 自定义扩展oid在C盘根目录建立counters.ini文件(该文件位置,可通过修改注册表信息修改),文件内容中定义你自己的oid,oid中支持三种类型counter string 和自定义的输出。官方给的实例如.counter=LogicalDiskFree Megabytes_Total.type=stringcounter=this is a test.type=execcounter=cscript /nologo c:test.vbs.type=execcounter=c:test.bat/bat文件直接在=后即可我想对我们扩展oid来说比较有用的可能还是可执行命令的输入,也就是第三个。这里你可以使用bat的输入作为snmp的返回值。我的应用是使用java写一个程序,然后使用批处理脚本来调用java进行返回。希望上诉对于大家有所帮助。2. 配置SNMPC:counters.ini.type=execcounter=c:test-1.bat.type=execcounter=c:test-2.bat.type=execcounter=c:test-3.batc:test-1.bat echo off echo aaa echo off echo %date:0,4%-%date:5,2%-%date:8,2% %time:0,8%echo off set /a r=%random%100+250echo %r%snmpwalk -c Ccloud -v 2c 89 .4.1.15SNMPv2-SMI:enterprises.15.1 = STRING: aaaSNMPv2-SMI:enterprises.15.2 = STRING: bbbSNMPv2-SMI:enterprises.15.3 = STRING: cccsnmpwalk -c Ccloud -v 2c 89 .4.1.15 -On.. = STRING: aaa.. = STRING: bbb.. = STRING: ccc磁盘利用率vbsSet objWMIService = GetObject(winmgmts:) Set objLogicalDisk = objWMIService.Get(Win32_LogicalDisk.DeviceID=c:) Wscript.Echo clng(1- objLogicalDisk.FreeSpace / objLogicalDisk.Size) *100)3. 安装gawkLinux自定义oid1. 配置snmpd.confsnmp提供了发送自定义信息的功能,可以通过执行某个sh脚本,获取某个指标值,将其通过SNMP协议发布出去。举例,现在需要将CPU温度通过SNMP协议发布出去。1) 安装sensors2) 编写脚本添加内容到/var/snmp/sensors-0.sh/usr/bin/sensors | grep Core 0 | awk print $3 | cut -b 2-53) 写入snmpd.conf在snmpd.conf任意位置添加:extend ..4.1.12021.0.1 sensors-0 /bin/sh /var/snmp/sensors-0.shextend ..4.1.12021.1.1 sensors-1 /bin/sh /var/snmp/sensors-1.shextend ..4.1.12021.2.1 sensors-2 /bin/sh /var/snmp/sensors-2.shextend ..4.1.12021.3.1 sensors-3 /bin/sh /var/snmp/sensors-3.sh4) 重启snmpd5) 关闭selinuxselinux关闭1、临时关闭(不用重启机器):setenforce 0 #设置SELinux 成为permissive模式 #setenforce 1 设置SELinux 成为enforcing模式2、修改配置文件需要重启机器:修改/etc/selinux/config 文件将SELINUX=enforcing改为SELINUX=disabled重启机器即可6) 查看结果然后远程通过snmpwalk接收一下数据看看:# snmpwalk -c public -v 2c ..4.1.2021.18 UCD-SNMP-MIB:ucdavis.18.1.1 = INTEGER: 1UCD-SNMP-MIB:ucdavis.18.2.1 = STRING: tcpCurrEstabUCD-SNMP-MIB:ucdavis.18.3.1 = STRING: /etc/tcpconn_total.shUCD-SNMP-MIB:ucdavis.18.100.1 = INTEGER: 0UCD-SNMP-MIB:ucdavis.18.101.1 = STRING: 488UCD-SNMP-MIB:ucdavis.18.102.1 = INTEGER: 0UCD-SNMP-MIB:ucdavis.18.103.1 = 其中我们需要的是UCD-SNMP-MIB:ucdavis.18.101.1 = STRING: 488这一行:# snmpwalk -v 1 01 -c public ..4.1.20UCD-SNMP-MIB:ucdavis.18.101.1 = STRING: 488能采集到数据之后,就可以配置cacti来接收了。在cacti界面中console-Templates-Data Templates,然后点击右上角的Add,Data Templates中的name是给这个数据模板的命名,Data Source中的name将来显示在Data Sources中,我这里添加|host_deion| - Tcp Conn. - ESTBLISHED,选get snmp data,Internal Data Source Name也可以随便添,这个用来给rrd文件命名。设置完后就可以save了,save之后会发现下面多了一些选项,在最下面那个添上我们需要的数据的 OID..4.1.20,可以保存了。此后需要创建一个Graph Templates,好让cacti生成图片。在cacti界面中console-Templates-Graph Templates,然后点击右上角的Add,Templates中的name是给这个数据模板的命名,Graph Template中的name是将来显示在图片上面中间的内容,我这里添加|host_deion| - Tcp Conn. - ESTBLISHED,其他保持默认,保存之后上面会出来一些选项。在Graph Template Items中添加一个item,Data Source选之前添加的,color选择一个图片的颜色,Graph Item Type选AREA,也就是区域,也可以选其他的线条,Text Format设置说明。然后再添加一个,Graph Item Type选GPRINT,Consolidation Function选LAST,也就是当前的值,Text Format输入current。你还可以添加一些Graph Item Type为COMMENT的注释说明等。现在只要为host添加这个画图模板就可以看到画出来的图了又如:exec ..4.1.2021.51 mem /bin/sh /usr/local/src/mem.shexec ..4.1.2021.52 cpu /bin/sh /usr/local/src/cpu.shexec ..4.1.2021.53 apache /bin/sh /usr/local/src/apache.shexec ..4.1.2021.54 tomcat /bin/sh /usr/local/src/tomcat.shexec ..4.1.2021.55 upload /bin/sh /usr/local/src/upload.shubuntu自定义oid安装snmpsudo vi /etc/apt/sources.list把deb cdrom;前的#删除掉(用方向键控制光标到deb cdrom前,然后按键盘上i键,在按delete键删除#,同理也把下面的deb cdrom前的#删除,然后按Esc键,然后按住Shift键+:,输入:wq,在按Enter键)mount /dev/sr0 /media/cdrom -挂载安装Ubuntu的光盘键入shell命令sudo apt-get updatesudo apt-get install snmp*配置snmprocommunity itp_rwextend ..4.1.12021.0.6 sensors-0 /etc/snmp/1416 6extend ..4.1.12021.0.7 sensors-0 /etc/snmp/1416 7rootubuntu:# cat /root/1416.c #include#include#include/usr/include/modbus/modbus.hint main(int argc, char* argv) int n; n=atoi(*+argv); modbus_t *mb; uint16_t tab_reg32=0; mb = modbus_new_rtu(/dev/ttyS0,9600,N,8,1); modbus_set_slave(mb,11);/set slave address modbus_connect(mb); struct timeval t; t.tv_sec=0; t.tv_usec=1000000;/set modbus time 1000ms modbus_set_response_timeout(mb,&t); int regs=modbus_read_registers(mb, n, 1, tab_reg); printf(%dn , tab_reg0); modbus_close(mb); modbus_free(mb); return 0;service snmpd restartsnmpwalk -c itp_rw -v 2c ..4.1.12021.0.6snmpwalk -c itp_rw -v 2c ..4.1.12021.0.7snmpget -c itp_rw -v 2c .4.1.120.状态吗extend ..4.1.12021.0.1 sensors-0 /usr/bin/curl -o /dev/null -s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论