Day 79 (DevOps)- Prometheus 🔥

Day 79 (DevOps)- Prometheus 🔥

·

3 min read

Now, the next step is to learn about the Prometheus. It's an open-source system for monitoring services and alerts based on a time series data model. Prometheus collects data and metrics from different services and stores them according to a unique identifier—the metric name—and a time stamp.

-What is the Architecture of Prometheus Monitoring?

  • Prometheus can run with both Go and Docker applications. The monitoring application consists of a time-series database, a user interface, and the PromQL query language, which is a flexible and intelligent query language.

  • Prometheus gathers metrics via instrumented jobs. The samples can be kept locally. It can also be scanned using rules to record or collect any new time-series via existing data and generate design alerts. Histograms, gauges, and counters are used to display these metrics. Plaintext data can be transmitted over HTTP.

The Prometheus architecture makes it easier to find and scrape targets that produce the necessary data. A company’s instrumented applications or a third-party application could be the target. The scraped data is stored in Prometheus, where you can use the Prometheus Query Language to examine it (PromQL).

-What are the Features of Prometheus?

The key features of Prometheus are:

  • A multi-dimensional data model that uses metrics to identify time series data

  • Key/value pairs and names

  • A flexible query language to take advantage of this dimensionality is PromQL.

  • No dependency on distributed storage; individual server nodes are independent

  • A pull model over HTTP is used for time series collection.

  • An intermediary gateway is supported for pushing time series.

  • Targets are found using static configuration or service discovery

  • Support for a variety of graphing and dashboarding methods

-What are the Components of Prometheus?

There are numerous components that make up the Prometheus ecosystem, most of which are optional:

  • Time series data is scraped and stored on the primary Prometheus server.

  • Instrumenting client libraries for application code

  • A push gateway that supports temporary jobs

  • Exporters with a specific purpose for products like Graphite, StatsD, HAProxy, etc.

  • A notification manager for alerts

  • Various support tools

-What database is used by Prometheus?

Prometheus has a sophisticated local storage subsystem. For indexes, it uses LevelDB. For the bulk sample data, it has its own custom storage layer, which organizes sample data in chunks of constant size (1024 bytes payload). These chunks are then stored on disk in one file per time series.

-What protocol does Prometheus use?

Prometheus is primarily based on a pull model, in which the prometheus server has a list of targets it should scrape metrics from. The pull protocol is HTTP based and simply put, the target returns a list of ”".

-What is the default data retention period in Prometheus?

Prometheus provides --storage.tsdb.retention.time command-line flag for configuring the lifetime for the stored data — see these docs for more info. The data outside the retention is automatically deleted. By default the retention is configured to 15 days. The amounts of data stored on disk depends on retention — higher retention means more data on disk.

The lowest supported retention in Prometheus is 2 hours (2h).

linkdin:https://www.linkedin.com/in/gajanan-barure-7351a4140

***Happy Learning :)***✌✌

Keep learning,Keep growing🎇🎇

Thank you for reading!! Hope you find this helpful.

#day79#90daysofdevops#devopscommunity#

Shubham Londhe

Â