Prometheus Over View
Posted By : Nelakuditi Harsha | 18-Jan-2021
Prometheus
Originally built at Sound Cloud but now working as a stand-alone open-source project, Prometheus is an open-source system monitoring and alerting toolkit. In 2016, it joined the Cloud Native Computing Foundation as the second hosted the project, after Kubernetes.
Features
- It has a multi-dimensional data model with time series data. They are easily identifiable through metric name and key/value pairs
- There is PromQL which is a flexible query language to take advantage of this dimensionality
- It doesn't rely on distributed storage. Also, it provides autonomy to single server nodes.
- It collects the time series data through a pull model over HTTP
- There is an intermediary gateway to support pushing the time series
- It discovers target via service discovery or static configuration
- It provides graphing and dashboarding support in multiple modes.
Components:
Multiple components, although many of which are optional, make up the Prometheus ecosystem
- The Prometheus server is one of the primary components which scrapes and stores time series data
- client libraries for instrumenting application code
- A push gateway for supporting short-lived jobs
- There are also some special-purpose exporters to perform services like HAProxy, StatsD, Graphite, etc.
- An alert manager to handle alerts of various support tools.
Also Read: Setting Up Kibana For ElasticSearch
Architecture
Either directly or via an intermediary push gateway for short-lived jobs, Prometheus scrapes metrics from instrumented jobs. Besides, it stores the scraped samples locally and performs rules over the collected data for two reasons: to either aggregate and record new time series from existing data or generate alerts. To visualize the collected data, you can use Grafana or other API consumers.
Prometheus Installation
As Prometheus is a monitoring platform, it scrapes HTTP endpoints on the monitored targets to collect metrics from these targets.
You can download and extract the latest release of Prometheus for your platform.
https://prometheus.io/download/ download
curl -LO https://github.com/prometheus/prometheus/releases/download/v2.9.2/prometheus2.9.2.linux-amd64.tar.gz
then extract tar file
tar xvf prometheus-2.9.2.linux-amd64.tar.gz
This will create a directory called prometheus-2.9.2.linux-amd64 containing two binary files (prometheus and promtool), consoles and console_libraries directories containing the web interface files, a license, a notice, and several example files.
Also Read: Elastic Load Balancer
Starting Prometheus
~/prometheus-2.9.2.linux-amd64# ./prometheus --config.file=prometheus.yml
Prometheus should start up. At http://localhost:9090, you should also be able to browse to a status page about itself. You should allow 30 seconds for it to collect data about itself from its own HTTP metrics endpoint.
You can go to http://localhost:9090/metrics, to verify that Prometheus is serving metrics about itself by navigating to its own metrics endpoint
the graphing interface
Choose Oodles For DevOps and Cloud Computing Services
We are seasoned DevOps solutions and service providers with vast experience in providing full-scale DevOps solutions for varied business requirements. Our team of DevOps professionals formulates effective strategies to strengthen your enterprise IT infrastructure and enhance operational efficiency. Our 360-degree DevOps solutions and services accelerate the software development lifecycle and ensure faster delivery with continuous deployment. For project related queries, reach us out at [email protected]
Cookies are important to the proper functioning of a site. To improve your experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click Agree and Proceed to accept cookies and go directly to the site or click on View Cookie Settings to see detailed descriptions of the types of cookies and choose whether to accept certain cookies while on the site.
About Author
Nelakuditi Harsha
Harsha is a DevOps Engineer,He has Experience On AWS and DevOps tools like Git,Jenkins,Docker,Ansible and willing to Learn new technologies.