I use snmptrapd
to catch SNMP traps and then put them into a MySQL database using a pretty generic trap handler. This gives me the opportunity to generate such useful information as:
> SELECT HOUR(time) AS "hour", COUNT(*) AS "bounces" FROM snmptraps
WHERE hostname = 'XXX' AND time > '2011-07-25'
AND trap_oid = 'SNMPv2-MIB::snmpTrapOID.0 IF-MIB::linkDown'
GROUP BY HOUR(time)
;
+------+---------+
| hour | bounces |
+------+---------+
| 0 | 729 |
| 1 | 936 |
| 2 | 841 |
| 3 | 810 |
| 4 | 547 |
| 5 | 316 |
| 6 | 224 |
| 7 | 144 |
| 8 | 481 |
| 9 | 584 |
| 10 | 1 |
+------+---------+
11 rows in set (0.05 sec)
>
This tells us that interfaces on host 'XXX' where bouncing a lot until 10 AM and then stopped.