  The globally distributed computing infrastructure required to cope with the
multi-petabytes datasets produced by the Compact Muon Solenoid (CMS) experiment
at the Large Hadron Collider (LHC) at CERN comprises several subsystems, such
as workload management, data management, data transfers, and submission of
users' and centrally managed production requests. The performance and status of
all subsystems must be constantly monitored to guarantee the efficient
operation of the whole infrastructure. Moreover, key metrics need to be tracked
to evaluate and study the system performance over time. The CMS monitoring
architecture allows both real-time and historical monitoring of a variety of
data sources and is based on scalable and open source solutions tailored to
satisfy the experiment's monitoring needs. We present the monitoring data flow
and software architecture for the CMS distributed computing applications. We
discuss the challenges, components, current achievements, and future
developments of the CMS monitoring infrastructure.
