Hi, Ingvar
Now you can ASDF-install my SNMP package. I've fixed it under SBCL/ CMUCL/Clozure CL today
Call this:
* (asdf-install:install :snmp)
should work, I test it and seems good. But you should use USOCKET 0.4 branch or trunk, current release version (0.3.x) doesn't have DATADRAM class and WAIT-FOR-INPUT support, cannot fit SNMP package.
No document yet, but I can give you two example usage:
* (snmp:snmp-walk "localhost" '(#(1 3 6 1 2 1 1))) (((#<SNMP:OBJECT-ID 1.3.6.1.2.1.1.1.0> "Linux debian-amd64 2.6.24-1-amd64 #1 SMP Sat May 10 09:28:10 UTC 2008 x86_64") (#<SNMP:OBJECT-ID 1.3.6.1.2.1.1.2.0> #<SNMP:OBJECT-ID 1.3.6.1.4.1.8072.3.2.10>) (#<SNMP:OBJECT-ID 1.3.6.1.2.1.1.3.0> #<SNMP:TIMETICKS (1712822) 4:45:28.22>) (#<SNMP:OBJECT-ID 1.3.6.1.2.1.1.4.0> "Root root@localhost (configure /etc/snmp/snmpd.local.conf)") (#<SNMP:OBJECT-ID 1.3.6.1.2.1.1.5.0> "debian-amd64") (#<SNMP:OBJECT-ID 1.3.6.1.2.1.1.6.0> "Unknown (configure /etc/snmp/snmpd.local.conf)") ...
* (snmp:with-open-session (s "localhost" :version snmp:+snmp-version-2c+ :community "public") (snmp:snmp-get s '(#(1 3 6 1 2 1 1 1 0) #(1 3 6 1 2 1 1 5 0)))) ("Linux debian-amd64 2.6.24-1-amd64 #1 SMP Sat May 10 09:28:10 UTC 2008 x86_64" "debian-amd64")
In old versions of SNMP package, user can use "sysDescr.0" instead of #(1 3 6 1 2 1 1 1 0). But this facility need a LALR parser. It was ZEBU but very hard to use and even install correctly. Now I'm working on write a ASN.1 compiler to get alive without any LALR parser. Just give me more days I can work it out.
I'll watching you guys on how to integrate SNMP monitor ability into your NOCtool:)
Any bug reports and idea are welcome!
Regards,
Chun Tian (binghe)
在 2008-7-13,上午2:55, Ingvar 写道:
Chun Tian writes: [ I have CCd the noctool-devel mailing list ]
Hi, Ingvar Mattsson
I'm a UNIX system administrator and Lisp programmer in China.
Recently I saw your NOCtool project [1] on common-lisp.net. I also want to build such a package for monitor my UNIX servers. My plan is write a pure lisp SNMP client first, then IPMI client, then other monitoring support (HTTP, Ping, ...), finally build a Web server on cl- http and add graph drawing facility.
It seems that your project already done the later part of my plan:)
Yeah, it's slowly getting there and I was looking at SNMP packages a while back, since I can see that having (some sort of) SNMP support would make it much easier monitoring some types of equipment.
Now I have a working SNMP client (even server) package[2]. For this project, I also write a USOCKET UDP patch and LispWorks UDP support. If your're still interesting in improve your package to monitor more things, you may want to see my work.
The SNMP package is on SVN: (tested on LispWorks, other CLs maybe need small fixes)
https://cl-net-snmp.svn.sourceforge.net/svnroot/cl-net-snmp/snmp/ trunk
The USOCKET UDP patch (as an ASDF package, waiting USOCKET author merge it):
https://cl-net-snmp.svn.sourceforge.net/svnroot/cl-net-snmp/usocket-udp/trun...
The IPMI package (still under development, not usable)
https://cl-net-snmp.svn.sourceforge.net/svnroot/cl-net-snmp/ipmi/ trunk
Cool. Are the packages in such a stage that it would make sense to package them up so ASDF-INSTALL can grab and build them? From what I can tell, what's needed is an ASDF system definition file, a tar-ball with the relevant source files and an entry in CLiki.
//Ingvar