This paper presents SLAM, a customizable platform-independent SLA monitoring framework for federated cloud services. It supports monitoring of distributed nodes and hosts using an agent-based model. The framework generates monitoring templates according to the SLA terms that describe monitoring requirements and creates monitoring reports based on these generated templates. In addition, we propose a service benchmarking approach that can compare similar services offered by different providers without deploying monitoring agents on the providers' sites.