The dynamic nature of Service-Oriented Architectures challenges traditional systems management practices which tend to be static in nature. We propose a goal-oriented, agent-based approach to management using autonomic computing. In this paper we define a services management model that consists of a number of constructs including managed resources, agents, events, event streams and management goal graphs. Agents accept new events on one or more event streams, and the arrival of an event triggers local processing that includes the generation of a new event and/or changes to the state of the managed system. Simple agents are combined into management goal graphs to carry out complex management tasks. We provide details of an implementation of our services management model and show how this model could be used in a sample management scenario.