1. A computer implemented method for collecting data, the computer implemented method comprising: collecting data from a particular data source by an application portion of agent to form collected data, wherein the application portion is associated with the particular data source in response to an event; storing the collected data in a temporary data store for transfer to a data storage system to form stored data; and sending the stored data to the data storage system using a generic portion of the agent, wherein the generic portion of the agent is configured to send data to the data storage system.