, , ,

A recent (in a relative fashion) protocol for support SNMP agents is called AgentX. This protocol is an attempt to standardize the protocol between a “master” SNMP agent (or server daemon) and the client agents. This style of SNMP configuration then makes the SNMP support extensible, providing for the ability to add and remove whole SNMP subtrees as desired. Intersystems Caché is one product that provides an agent that uses that AgentX protocol.

Unfortunately, HP-UX does not support AgentX, but rather a commercial protocol called EMANATE.

To be able to use subagents that support AgentX, the native SNMP server must be disabled, and one that supports AgentX installed to take its place. Thankfully, this is not difficult.

First, disabling SNMP requires modifying a number of files in /etc/rc.config.d:

  • SnmpHpunix
  • SnmpMaster
  • SnmpMib2
  • SnmpNaa
  • SnmpTrpDst
  • cmsnmpagt
  • emsagtconf

Change the entry that enables the affiliated agent or server: typically, this is by setting an entry such as SNMP_MASTER_START to 0.

This completely disables all agents as well as the master SNMP daemon. Don’t forget to stop all of these using their init scripts to stop them:

cd /sbin/init.d
./SnmpHpunix stop
./SnmpIpv6 stop
./SnmpMib2 stop
./SnmpTrpDst stop
./SnmpNaa stop
./SnmpMaster stop
./cmsnmpagt stop
./emsa stop

After this, get HP’s Internet Express and install Net-SNMP, which supports AgentX. Strangely enough, the Net-SNMP documentation states that Tru64 and OpenVMS servers come with AgentX support built-in.

Once installed, use the utility snmpconf to configure the agent – it creates the appropriate configuration file in the directory you are in. You’ll want to set these configuration parameters, either through the use of snmpconf or directly:

master yes
agentuser root
agentgroup sys
agentaddress 161
agentXSocket tcp:localhost:705

Better yet, create a special user and group for SNMP – installation of Net-SNMP does not set this up for you.

Once the snmpd.conf is configured, then run snmpd. Make sure you are running the right snmpd; reread the path if you need to:

# type snmpd
snmpd is /opt/iexpress/net-snmpd/sbin/snmpd
# snmpd -Lsdaemon -c /opt/iexpress/net-snmp/etc/snmpd.conf

You’ll have to create an initialization script in /sbin/init.d; we’ve discussed how to do this before.

You should not expect the rich set of HP-UX-specific entries that are provided with the standard installation, but in trade you get extensibility – which allows you to run subagents such as that provided with Intersystems Caché.