Introduction
Navigating the complex world of monitoring and alerting systems can be challenging, but understanding the fundamental concepts and terminology is key to mastering these tools.
Here, we demystify the essential terminology linked to monitoring, alerting, and performance optimization within the Prometheus framework. Deepen your insight into Prometheus and amplify your proficiency in monitoring systems effortlessly.
Prometheus Terms
A
Alert: A notification is generated by Prometheus when a specific alerting rule is currently active. This alert is then transmitted from Prometheus to the Alertmanager.
Alertmanager: The Alertmanager receives alerts, groups them together, eliminates duplicates, applies silences, regulates the frequency of notifications, and subsequently dispatches notifications to various channels such as email, Pagerduty, Slack, and more.
B
Bridge: A bridge is a unit that collects sample data from client libraries and makes it accessible to a non-Prometheus monitoring system. For instance, the Python, Go, and Java clients are capable of exporting metrics to Graphite through a bridge.
C
Client library: A client library is a programming module in a specific language (such as Go, Java, Python, or Ruby) that simplifies the process of directly instrumenting your code, creating custom collectors to extract metrics from other systems, and presenting the metrics to Prometheus.
Collector: A collector, within an exporter, is a component that encompasses a collection of metrics. It can consist of a single metric when involved in direct instrumentation, or multiple metrics when retrieving data from an external system.
Direct instrumentation: Direct instrumentation refers to the addition of monitoring code directly within the source code of a program, utilizing a client library for this purpose.
E
Endpoint: A metrics source that can be harvested, typically associated with a single process.
Exporter: An exporter is a software program that operates alongside the application from which you wish to gather metrics. The exporter reveals Prometheus-compatible metrics, often by converting metrics presented in a non-Prometheus format into a format that Prometheus can process.
I
Instance: An instance is a label that distinguishes a target in a job with a unique identity.
J
Job: A job refers to a group of targets that serve the same objective, such as monitoring a set of similar processes that are scaled or replicated for the sake of performance or reliability.
N
Notification: A notification signifies a collection of one or more alerts and is disseminated by the Alertmanager to channels like email, Pagerduty, Slack, and others.
P
Promdash: Promdash, once a native dashboard creator for Prometheus, has been deprecated and substituted by Grafana.
Prometheus: The term "Prometheus" is generally used to denote the primary binary of the Prometheus monitoring system. However, it can also refer to the entire Prometheus monitoring system.
PromQL: PromQL, or Prometheus Query Language, is a powerful tool that enables a variety of operations, such as aggregation, segmentation, prediction, and joins, for querying data.
Pushgateway: The Pushgateway preserves the most recent push of metrics from batch jobs, enabling Prometheus to gather their metrics even after the jobs have concluded.
R
Recording Rules: Recording rules pre-calculate frequently required or computationally demanding expressions and store the outcomes as a new set of time series.
Remote Read: Remote read is a functionality in Prometheus that facilitates the seamless retrieval of time series data from external systems, like long-term storage, during query operations.
Remote Read Adapter: Not all systems natively support remote read. In such cases, a remote read adapter is employed to mediate between Prometheus and the other system, converting time series requests and responses as required.
Remote Read Endpoint: A remote read endpoint is the destination that Prometheus communicates with when conducting a remote read operation.
Remote Write: Remote write is a functionality in Prometheus that enables the real-time transmission of ingested samples to external systems, like long-term storage solutions.
Remote Write Adapter: Some systems do not inherently support remote write. In such cases, a remote write adapter acts as an intermediary between Prometheus and the external system, converting the samples in the remote write operation into a compatible format for the receiving system.
Remote Write Endpoint: A remote write endpoint is the destination that Prometheus communicates with when performing a remote write operation.
S
Sample: A sample represents a singular value at a specific moment within a time series. Within Prometheus, each sample comprises a float64 value and a timestamp with millisecond precision.
Silence: A silence within the Alertmanager stops alerts that have labels matching the silence from being included in notifications.
T
Target: A target represents the definition of an object to be scraped, encompassing details such as the labels to apply, any necessary authentication for connection, and other relevant information that outlines the scraping process.
Time Series: Prometheus time series consist of sequences of timestamped values associated with a specific metric and a consistent set of labeled dimensions. All data in Prometheus is stored as time series.
Guide to Install Prometheus
Ready to dive into using Prometheus? Ensure you have it installed correctly by following these detailed installation guides tailored to different distros.
With these installation guides, you'll be up and running with Prometheus in no time!