Ideas on reporting based on SLAs

Hi all

So was hoping someone here has gone through figuring out what data can help determine uptimes of devices and specific ports to basically help report whether or not a service provider is currently within SLA? Is this something that can be done with data from DB? If so, which tables etc.? Do I need alerts? Any help would really go a long way. I don’t want to reinvent the wheel here.