I have noticed that the two top tables that can grow uncontrollably overnight are syslogs and traps. Along with traps, the trapvarbinds also gets bigger. The recent issue I had with our SQL server is that we had no space left for a maintenance backup after the trapvarbinds table suddenly ate up all the disk free space. Together with the failure to do a maintenance backup, there is a problem of growing transaction logs. We were able to solve the issue by expanding the disk size with additional SAN storage allocation. (By the way, the backup target, and the database are using the same disk drive.)
However, my new concern now is this. Can I limit the size of trapvarbinds table and the transaction logs? Or is there a way to limit the size of SolarwindsOrion database itself? If I can put a limit to their sizes, I can always make sure that I'll always have free space enough for maintenance backup.
Would love to understand this as well. We recently had few devices started to send millions of traps, which has made the whole NPM unresponsive. I have implemented report and alert since to alert in case we have too many traps form one particular device. Below SQL report will give you devices which have more than 100 traps received over the last 1 hour.
WHEN (t.NodeID <> '0' AND t.NodeID IS NOT NULL)
ELSE 'Not in SolarWinds'
END AS 'Caption'
,CONVERT(NVARCHAR(50),COUNT(*)) + ' (over the last 1440 min)' AS 'TRAPS COUNT'
FROM Solarwinds.dbo.Nodes WITH(NOLOCK)
RIGHT JOIN Solarwinds.dbo.Traps t WITH(NOLOCK) ON t.NodeID = Nodes.NodeID
t.DateTime > DateAdd(MINUTE,-1440,GETDATE())
GROUP BY t.NodeID,Nodes.NodeID,t.IPAddress,t.Hostname,Nodes.Caption
COUNT(*) > MAX(100)
ORDER BY COUNT(*) DESC
SolarWinds solutions are rooted in our deep connection to our user base in the THWACK® online community. More than 150,000 members are here to solve problems, share technology and best practices, and directly contribute to our product development process.