net-snmp版本是2.5.4,比较新,squid文档里面的方法都有点错误了。。。
首先是squid的配置文件squid.conf
acl monitor src ip/mask
acl snmppublic snmp_community topsecret
snmp_access allow snmppublic monitor
snmp_access deny all
这里定义了哪个机器可以访问snmp agent,还有snmp community string,这个community string一定要记住,类似验证字符串的东西,估计是加密解密传输数据用到的种子。
然后看看squid的
share/mib.txt
这个就是squid mib的id信息,有很多,随便找个
— SQUID-MIB { iso org(3) dod(6) internet(1) private(4) enterprises(1) 3495 }
。。。。。
nlanr OBJECT IDENTIFIER ::= { enterprises 3495 }
squid MODULE-IDENTITY
LAST-UPDATED “9809220000Z”
ORGANIZATION “National Laboratory for Applied Network Research”
CONTACT-INFO
” Squid Developers
E-mail: squid@squid-cache.org”
DESCRIPTION
“Squid MIB defined for the management of the Squid
proxy server. See http://www.squid-cache.org/.”
REVISION “9809220000Z”
DESCRIPTION
“Move to SMIv2. Prepare to split into proxy/squid.”
REVISION “9901010000Z”
DESCRIPTION
“Added objects and corrected asn.1 syntax and
descriptions.”
::= { nlanr 1 }
—
— OID Assignments
—
cacheSystem OBJECT IDENTIFIER ::= { squid 1 }
cacheConfig OBJECT IDENTIFIER ::= { squid 2 }
cachePerf OBJECT IDENTIFIER ::= { squid 3 }
cacheNetwork OBJECT IDENTIFIER ::= { squid 4 }
cacheMesh OBJECT IDENTIFIER ::= { squid 5 }
—
— cacheSystem group
—
cacheSysVMsize OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
” Storage Mem size in KB ”
::= { cacheSystem 1 }
– SQUID-MIB { iso org(3) dod(6) internet(1) private(4) enterprises(1) 3495 }
第一行的意思就是mib oid开头是怎么样子的,squid的全部是 .1.3.6.1.4.1.3495
nlanr OBJECT IDENTIFIER ::= { enterprises 3495 }
nlanr 代表前面那串
squid 一大串最后 ::= { nlanr 1 } 表示 squid 是 enterprises.3495.1
cacheSystem OBJECT IDENTIFIER ::= { squid 1 }
表示 cacheSystem 是squid 后面的1。enterprises.3495.1.1
下面就是具体数据,比如squid->cacheSystem->cacheSysVMsize 是 .1.3.6.1.4.1.3495.1.1.1
cacheSysVMsize OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
” Storage Mem size in KB ”
::= { cacheSystem 1 }
cacheSysVMsize 是 cacheSystem 下面的1
都有说明数值和类型。。。
然后用新版的net-snmp命令snmpget,协议版本用1和2c都可以,估计2c是向下兼容,3就不行。
squid默认的snmp端口是3401,udp方式,照写就好了。配置里面可以通过snmp_port改端口。
snmpget -v 2c -c topsecret udp:ip:port “.1.3.6.1.4.1.3495.1.1.1”
这样是get一个数值。
snmpwalk -v 2c -c topsecret udp:ip:port “.1.3.6.1.4.1.3495”
这样就可以把所有squid mibs都get出来了,然后具体分析就看模板怎么搞了,继续研究之。。。
或者可以把mib.txt复制都本机,或者snmp的mib模块目录,然后
snmpwalk -m “./mib.txt” -v 2c -c topsecret udp:ip:port “squid”
这样不用这么长,出来的数据的直观一点了。。。