%% date:: [[2022-02-08]], [[2021-07-12]], [[2021-07-07]], [[2021-02-23]], [[2022-07-17]], [[2022-07-18]], [[2023-04-25]], [[2023-11-26]], [[2023-11-27]] %% # [[Monitoring]] Monitoring is the process of continuously tracking the behaviour of a system using quantifiable information ([[Telemetry]]). Monitoring is one type of activity that improves the overall [[Observability]] of a system. ## [[Reasons for monitoring]] ## Types of monitoring ### Backend monitoring Backend monitoring consists of gathering information about the underlying infrastructure of a system. Often, backend information is called [[Telemetry]], and consists of the following signals: - [[Metrics]] - [[Logs]] - [[Traces]] - [[Continuous Profiling]] (of [[CPU Utilization]] and [[Memory Utilization]]) ### Frontend monitoring Frontend monitoring involves gathering information about application interfaces, including how users interact with them and how elements are rendered on end user devices. - [[Real User Monitoring]] - [[Synthetic monitoring]] ## Approaches to monitoring There are two main concerns in monitoring: - how to get the data you want from a component - how to aggregate that data from all components and send them to a central repository Your approach to monitoring will be determined by some combination of the options for handling these concerns. ### How to get information to monitor - [[Instrumentation]] involves getting the component to expose the information you want. - [[Manual monitoring]] - Manual monitoring is more ad hoc. Instead of information being automatically collected and saved, manual monitoring involves explicitly querying information when it's needed. ### [[Aggregating monitoring data]] Once you have the information you want, you'll need to figure out how to get it from the component you're monitoring to wherever you're storing/analysing the information. This can involve either [[Push-based monitoring]] or [[Pull-based monitoring]]. ### [[Observability Tools]] ## See also - [[Schrödinger's Pokémon - Observability for chaotic load testing]]