12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- from django.db import models
- import datetime
- ##############################################################################
- class Trap(models.Model):
- traptime = models.DateTimeField(null=True, default=datetime.datetime.now)
- trapoid = models.CharField(max_length=255)
- hostname = models.CharField(max_length=255)
- agentip = models.GenericIPAddressField(unpack_ipv4=True, null=True)
- agent = models.CharField(max_length=255)
- trapname = models.CharField(max_length=255, blank=True, default='')
- category = models.CharField(max_length=255, blank=True, default='')
- severity = models.CharField(max_length=255, blank=True, default='')
- enterprise = models.CharField(max_length=255, blank=True, default='')
- community = models.CharField(max_length=255, blank=True, default='')
- uptime = models.CharField(max_length=255, blank=True, default='')
- eventid = models.CharField(max_length=255, blank=True, default='')
- #FIXME: Umbenennen auf "read" - inkompatibel mit NagTrap
- trapread = models.BooleanField(default=False)
- def __unicode__(self):
- #return u'%s: %s - %s - %s - %s' % (self.id, self.hostname, self.severity, self.eventid, self.traptime)
- return u'%s: %s - %s - %s - %s' % (self.id, self.hostname, self.severity, self.trapoid, self.traptime)
- def short(self):
- #return u'%s/%s/%s' % (self.id, self.hostname, self.eventid)
- return u'%s/%s/%s' % (self.id, self.hostname, self.trapoid)
- def eventname(self):
- '''Return trapname, be compatible with Snmptt'''
- return self.trapname
- class TrapVarbind(models.Model):
- trap = models.ForeignKey(Trap)
- oid = models.CharField(max_length=255)
- oidname = models.CharField(max_length=255, blank=True, default='')
- value = models.CharField(max_length=255)
- valuename = models.CharField(max_length=255, blank=True, default='')
- def __unicode__(self):
- return u'%s -> %s: %s' % (self.trap.short(), self.oid, self.value)
- def nice_oid(self):
- return u'%s' % (self.oidname or self.oid)
- class CfgTrap(models.Model):
- trapoid = models.CharField(max_length=255, unique=True)
- trapname = models.CharField(max_length=255, blank=True, default='')
- category = models.CharField(max_length=255, blank=True, default='')
- severity = models.CharField(max_length=255, blank=True, default='')
- # FIXME: Mehrere, aktiv/inaktiv
- export_fields = ['trapoid', 'trapname', 'category', 'severity']
- def __unicode__(self):
- return u'%s (%s)' % (self.trapname, self.trapoid)
|