Le lundi 16 juillet 2007 à 11:08,
"DI BACCO ANTONIO - technolabs" <[EMAIL PROTECTED]> écrivait :

> Is it possible to add a new trap sink dinamically (and programmatically,
> not via configuration files) from within an AgentX subagent?

This is a question I asked here  a little while ago, the answer was to
look to snmpNotifyTable and snmpTargetAddressTable in the SNMPv2 MIB.

So I did, and the result is this ugly script that may at least help to
understand what has to be done to add a notification.


#!/bin/sh

# Dynamically adds a notification target to a snmpd enabled host

if [ "-h" == "$1" -o "" == "$1" ] ; then
    echo "Usage :"
    echo "$0 <hostname> <label> <ipaddr> <community>"
    echo "      Add on snmpd host <hostname> a trap receiver labeled <label>,"
    echo "      that sends traps to IP <ipaddr>"
    echo "$0 -r <hostname> <label> <community>"
    echo "      Removes trap receiver labeled <label> on host <hostname>"
    exit 0
fi

if [ "-r" == "$1" ] ; then
    HOST=$2
    NAME=$3
    COMMUNITY=$4
    snmpset -c $COMMUNITY -v 2c $HOST snmpNotifyRowStatus.\'$NAME\' i destroy
    snmpset -c $COMMUNITY -v 2c $HOST snmpTargetAddrRowStatus.\'$NAME\' i 
destroy
    snmpset -c $COMMUNITY -v 2c $HOST snmpTargetParamsRowStatus.\'$NAME\' i 
destroy
    exit 0
fi

HOST=$1
NAME=$2
SINK=$3
COMMUNITY=$4

snmpset -v2c -c $COMMUNITY $HOST \
    snmpTargetParamsRowStatus.\'$NAME\' i createAndWait
snmpset -v2c -c $COMMUNITY $HOST \
    snmpTargetParamsMPModel.\'$NAME\' i 0 \
    snmpTargetParamsSecurityModel.\'$NAME\' i 1 \
    snmpTargetParamsSecurityName.\'$NAME\' s "public" \
    snmpTargetParamsSecurityLevel.\'$NAME\' i 1 \
    snmpTargetParamsRowStatus.\'$NAME\' i active

snmpset -v2c -c $COMMUNITY $HOST \
    snmpTargetAddrRowStatus.\'$NAME\' i createAndWait
snmpset -v2c -c $COMMUNITY $HOST \
    snmpTargetAddrTDomain.\'$NAME\' o snmpUDPDomain \
    snmpTargetAddrTAddress.\'$NAME\' d $SINK.0.162 \
    snmpTargetAddrTimeout.\'$NAME\' i 0 \
    snmpTargetAddrRetryCount.\'$NAME\' i 0 \
    snmpTargetAddrTagList.\'$NAME\' s $NAME \
    snmpTargetAddrParams.\'$NAME\' s $NAME \
    snmpTargetAddrRowStatus.\'$NAME\' i active

snmpset -v2c -c $COMMUNITY $HOST \
    snmpNotifyRowStatus.\'$NAME\' i createAndWait
snmpset -v2c -c $COMMUNITY $HOST \
    snmpNotifyTag.\'$NAME\' s $NAME \
    snmpNotifyType.\'$NAME\' i trap \
    snmpNotifyRowStatus.\'$NAME\' i active


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to