1. A monitoring system for monitoring operation of a plurality of distributed computing components, the monitoring system comprising: at least one processor and a memory; a registry stored in the memory and configured to store (a) descriptions of the plurality of computing components and (b) a plurality of service-level agreements (SLAs) where each one of the plurality of SLAs specifies at least one performance requirement for at least one of the plurality of distributed computing components; a compiler configured to generate at least a first and a second continuous query based on the information stored in the registry; and a complex event processing (CEP) engine, operating on the at least one processor, configured to: execute the first continuous query on input events indicating actions performed by the plurality of distributed computing components and corresponding performance information; determine, as part of execution of the first continuous query, that a violation of a first SLA of the plurality of SLAs has occurred and, in accordance with determination of violation of the first SLA, output a first event indicating the violation of the first SLA; determine, as part of execution of the first continuous query, that a violation of a second SLA of the plurality of SLAs has occurred and, in accordance with determination of violation of the second SLA, output a second event indicating the violation of the second SLA; execute the at least one second continuous query on input events indicating violations of at least some of the plurality of SLAs including the first event and the second event; determine, as part of execution of the second continuous query and based on the first and second events, a relationship exists between the violation of the first SLA and the violation of the second SLA; and produce and output, in accordance with determination of the relationship between the violation of the first SLA and the violation of the second SLA, an event that indicates the relationship, wherein determination of the relationship between the violation of the first SLA and the violation of the second SLA is based on 1) temporal correlation of the violation of the first SLA and the violation of the second SLA; or 2) a defined dependency between the at least one distributed computing component associated with the violation of the first SLA and the at least one distributed computing component associated with the violation of the second SLA, wherein the first event and/or the second event comprise(s) data about the time when the corresponding violation was detected, which violation occurred, and/or measured values.
1. A monitoring system for monitoring operation of a plurality of distributed computing components, the monitoring system comprising: at least one processor and a memory; a registry stored in the memory and configured to store (a) descriptions of the plurality of computing components and (b) a plurality of service-level agreements (SLAs) where each one of the plurality of SLAs specifies at least one performance requirement for at least one of the plurality of distributed computing components; a compiler configured to generate at least a first and a second continuous query based on the information stored in the registry; and a complex event processing (CEP) engine, operating on the at least one processor, configured to: execute the first continuous query on input events indicating actions performed by the plurality of distributed computing components and corresponding performance information; determine, as part of execution of the first continuous query, that a violation of a first SLA of the plurality of SLAs has occurred and, in accordance with determination of violation of the first SLA, output a first event indicating the violation of the first SLA; determine, as part of execution of the first continuous query, that a violation of a second SLA of the plurality of SLAs has occurred and, in accordance with determination of violation of the second SLA, output a second event indicating the violation of the second SLA; execute the at least one second continuous query on input events indicating violations of at least some of the plurality of SLAs including the first event and the second event; determine, as part of execution of the second continuous query and based on the first and second events, a relationship exists between the violation of the first SLA and the violation of the second SLA; and produce and output, in accordance with determination of the relationship between the violation of the first SLA and the violation of the second SLA, an event that indicates the relationship, wherein determination of the relationship between the violation of the first SLA and the violation of the second SLA is based on 1) temporal correlation of the violation of the first SLA and the violation of the second SLA; or 2) a defined dependency between the at least one distributed computing component associated with the violation of the first SLA and the at least one distributed computing component associated with the violation of the second SLA, wherein the first event and/or the second event comprise(s) data about the time when the corresponding violation was detected, which violation occurred, and/or measured values. 5. The monitoring system of claim 1 , wherein the at least one performance requirement is indicative of response time, availability, processing time, reliability, and/or throughput.