Service Level Agreements (SLAs) establish the Quality of Service (QoS) agreed between service-based systems consumers and providers. Since the violation of such SLAs may involve penalties, quality assurance techniques have been developed to supervise the SLAs fulfillment at runtime. However, existing proposals present some drawbacks: 1) the SLAs they support are not expressive enough to model real-world scenarios, 2) they couple the monitoring configuration to a given SLA specification, 3) the explanations of the violations are difficult to understand and even potentially inaccurate, 4) some proposals either do not provide an architecture, or present low cohesion within their elements. In this paper, we propose a comprehensive solution, from a conceptual reference model to its design and implementation, that overcomes these drawbacks. The resulting platform, SALMonADA, receives the SLA agreed between the parties as input and reports timely and comprehensive explanations of SLA violations. SALMonADA performs an automated monitoring configuration and it analyses highly expressive SLAs by means of a constraint satisfaction problems based technique. We have evaluated the impact of SALMonADA over the resulting service consumption time performance. The results are satisfactory enough to consider SALMonADA for SLA supervision because of its low intrusiveness.