An event-based solution that uses events to convey information to a monitoring tool is well suited to implementing a non-intrusive monitoring infrastructure. This enables an SOA system's stakeholders to observe the system aspects of interest to them. However, implementation of SOA today, let alone the monitoring infrastructure, is a complex task due to the heterogeneous environment consisting of multiple technologies, platforms and components. We propose an approach for implementing such an event-based SOA monitoring infrastructure, that introduces a dedicated event view model and an eventing domain-specific language in a model-driven framework. The event view model captures SOA artifacts and links them with the event domain, while the eventing domain-specific language enables a system developer to specify instances of the event view model. With our model-driven approach, most of the runtime monitoring infrastructure is generated. These two ingredients (view model and domain-specific language) focus implementation efforts on the concern of eventing, thereby helping to manage complexity. We apply and evaluate our approach in the context of a case study.