Yes, we're doing this no problem using ipMonitor 9 and no additional MIBs. If you have SNMP correctly configured on your AS/400s, ipMonitor should scan it fine and suggest SmartMonitors for Bandwidth, Drive Space, Memory and Processor. Because of the AS/400's unique 'single level storage' architecture, the Memory monitors look wacky so I left them out. I also left out Processors 1 through 3 and just went with Processor Total.
To test that SNMP is working okay between ipMonitor and the AS/400s, go Configuration > SNMP Monitor Wizard, enter the IP address/hostname, community string, leave the OID at default to display uptime or change to 220.127.116.11.2.1.1 to display all system values, and click Next.
You should only ever need a MIB if you want to access a proprietary value like, say, the number of subsystems running (if such a value exists). For everything else, the standard RFC MIBs that are built into ipMonitor and OS/400 should work fine.
One other thing. Is there a stateful inspection firewall between your ipMonitor server and the AS/400s? If so, be aware that OS/400 doesn't send its reply SNMP packets from port 161/UDP like every other system does -- for some bizarre reason it uses ephemeral (temporary random high number) ports. Your firewall will see these packets as being unsolicited and will most likely drop them. Unless your firewall has an "accept packets from any port" setting and you're feeling brave enough to turn this on, you're out of luck. I've asked our AS/400 guy to log a call with IBM but I'm not holding my breath for a quick fix.
Thanks for the reply Simon. I have done as you have suggested with the SNMP Monitor Wizard but am only getting the following objects returned:
Am not behind any firewall between the ipMonitor server and the AS/400.
Any other ideas why I am not getting more info?
Those are the objects that are returned when you query the OID 18.104.22.168.2.1.1. They're simply useful to check that SNMP is working okay. Do you get any corresponding values returned with these objects?
If you don't, then recheck your AS/400's SNMP configuration. If it helps, these are the commands we've used to configure ours:
===> CHGSNMPA SYSCONTACT('<contact>') SYSLOC('<location>') AUTOSTART(*YES) TRPMGR(('<ipmonitor-ip-address>' '<snmp-community-string>' *YES))
===> ADDCOMSNMP COM('<snmp-community-string>') INTNETADR('<ipmonitor-ip-address>')
===> RMVCOMSNMP COM('public')
===> STRTCPSVR SERVER(*SNMP)
If you are getting values when you issue SNMP queries, try querying OID 22.214.171.124.126.96.36.199.3.1. This should list the logical storage areas on the AS/400 (System ASP, RAM, etc.) in a table. Again, accessing these objects this way is really only useful for testing. Ideally you want ipMonitor to successfully scan your AS/400 and suggest the appropriate SmartMonitors (eg. Bandwidth, Drive Space, Memory and Processor). If SNMP tests okay and there is no firewall in the way, then the scan should work fine.
If you're still getting nowhere, try breaking out Wireshark (www.wireshark.org) to capture what's going on between ipMonitor and the AS/400. It is quite safe to install on the ipMonitor server itself. Take all the default options when installing. It has helped me countless times with all sort of curly issues.
PS. If you're unsure how OIDs work, try ipMonitor's SNMP Tree function on the Configuration tab. For example, to access the processors, expand the SNMP tree down through org (3) > dod (6) > internet (1) > mgmt (2) > mib-2 (1) > host (25) > hrDevice (3) > hrProcessorTable (3), click on hrProcessorEntry (1), click the SNMP Wizard button, enter your AS/400s IP address or hostname, (note the OID 188.8.131.52.184.108.40.206.3.1 is already entered and corresponds to where you got to in the tree) and click Next.
The querying is working fine for me. One question - do you know what OID I would use to get the temperature of the AS/400 ? I know it tracks it because it sent a system operator message that there was a hardware problem which IBM determined was a temperature problem.
Good question, but very hard to find an answer (especially with the hardware platform and OS being renamed every few years!). Bear in mind that although the system may track the temperature, that doesn't necessarily mean it exposes it via SNMP.
IBM have an AS/400 SNMP Redbook but it is 11 years old and doesn't mention temperature or anything like it. I found some IBM enterprise MIBs but there doesn't appear to be any AS/400 MIBs and the only temperature-related MIB is for PSG (presumably Personal Systems Group, ie. PCs).
If you have an AS/400 support agreement, I suggest you log a call with IBM. Please post your findings back here.
Update on an earlier post: The reason the AS/400 replies to SNMP requests using ephemeral ports rather than 161/UDP is that when IBM wrote the SNMP server, they split it into two threads or jobs: one for receiving and one for sending, presumably for performance/efficiency reasons. Since the receiver thread is already listening on 161/UDP, the sender thread is forced to use ephemeral ports. IBM say this can't be fixed without a complete rewrite and I'm guessing that task isn't high on their priority list.