Sending SNMP Traps containing custom data
<p>A client has requested that instead of email alerts that we send SNMP Traps to their Nagios server instead. The only thing I knew about SNMP before yesterday was that it sounded like an acronym, so please excuse (and correct me on) any misconceptions about it that I may have.</p>

<p>The only information that needs to be sent in the trap pertains to data about the event we are alerting our client about, which is just a couple of values pulled from our database. Needless to say these aren't in any sort of MIB, nor do they have any OIDs, and this is where I'm having trouble finding answers.</p>

<p>I can't figure out how I am meant to add our specific data to the trap without using MIB OIDs, which I don't have.</p>

<p>I'm using PySNMP to generate the request and have only incomplete code right now as I'm not sure how to go about incorporating our data into the packet.</p>

<pre><code>from pysnmp.hlapi import *

def sendSNMP(destination, community_string, data):
    community = CommunityData(community_string, mpModel = 0)
    target = UdpTransportTarget((destination, 162))
    notification_type = None
    req = sendNotification(SnmpEngine(), community, target, ContextData(), 'trap', notification_type)
    errorIndication, errorStatus, errorIndex, varBinds = next(req)
</code></pre>

<p>Any assistance is appreciated! Thanks.</p>