Cloud computing has evolved in the recent years to a well established computing paradigm. With this evolution, the complexity and requirements for monitoring cloud-based services have also increased. Without a doubt, monitoring for cloud computing is a crucial task which has been addressed in a number of research works. However, monitoring for cloud computing is often designed to be carried out by cloud providers. Monitoring by cloud providers on the one hand offers the flexibility and full control required for monitoring; on the other hand, the trustworthiness of the cloud provider is often questioned. In this work, we present a generic approach that can harmonize both of the aforementioned issues. Our solution abstracts from the complexity by using role-based templates for monitoring in combination with autonomous agents; thus, this approach can be used by both, cloud consumers and cloud providers. With a proof of concept prototype, we show that our approach can be adapted for large scale cloud monitoring scenarios. Furthermore, we discuss the possibility that our monitoring solution can be extended to be applicable for different domains.