{"id":18903,"date":"2023-10-04T08:16:47","date_gmt":"2023-10-04T05:16:47","guid":{"rendered":"https:\/\/kifarunix.com\/?p=18903"},"modified":"2024-03-10T11:44:28","modified_gmt":"2024-03-10T08:44:28","slug":"how-to-install-prometheus-on-debian-12","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/how-to-install-prometheus-on-debian-12\/","title":{"rendered":"How to Install Prometheus on Debian 12"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1059\" height=\"591\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/10\/install-prometheus-debian-12.png\" alt=\"Install Prometheus on Debian 12\" class=\"wp-image-18908\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/10\/install-prometheus-debian-12.png?v=1696396372 1059w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/10\/install-prometheus-debian-12-768x429.png?v=1696396372 768w\" sizes=\"(max-width: 1059px) 100vw, 1059px\" \/><\/figure>\n\n\n\n<p>In this guide, you will learn how to install Prometheus on Debian 12.&nbsp;<a href=\"https:\/\/github.com\/prometheus\" target=\"_blank\" rel=\"noreferrer noopener\">Prometheus<\/a>&nbsp;is an open-source systems and service monitoring system. It collects metrics from configured targets via HTTP calls at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some conditions are met.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Table of Contents<\/h2><nav><ul><li><a href=\"#installing-prometheus-on-debian-12\">Installing Prometheus on Debian 12<\/a><ul><li><a href=\"#prometheus-releases\">Prometheus Releases<\/a><\/li><li><a href=\"#install-prometheus-using-pre-compiled-binaries-on-debian-12\">Install Prometheus Using Pre-compiled Binaries on Debian 12<\/a><ul><li><a href=\"#create-prometheus-system-user-and-group\">Create Prometheus System User and Group<\/a><\/li><li><a href=\"#create-prometheus-directories\">Create Prometheus Directories<\/a><\/li><li><a href=\"#download-prometheus-binary\">Download Prometheus Binary<\/a><\/li><li><a href=\"#install-prometheus\">Install Prometheus<\/a><\/li><li><a href=\"#create-prometheus-configuration-file\">Create Prometheus Configuration file<\/a><\/li><li><a href=\"#update-ownership-of-prometheus-configurations\">Update Ownership of Prometheus Configurations<\/a><\/li><li><a href=\"#running-prometheus-on-debian-12\">Running Prometheus on Debian 12<\/a><\/li><li><a href=\"#create-prometheus-systemd-service-file\">Create Prometheus Systemd Service File<\/a><\/li><\/ul><\/li><li><a href=\"#access-prometheus-web-interface\">Access Prometheus Web Interface<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"installing-prometheus-on-debian-12\">Installing Prometheus on Debian 12<\/h2>\n\n\n\n<p>Prometheus is made up various components;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The main&nbsp;<a href=\"https:\/\/github.com\/prometheus\/prometheus\" target=\"_blank\" rel=\"noreferrer noopener\">Prometheus server<\/a>&nbsp;which scrapes and stores time series data<\/li>\n\n\n\n<li><a href=\"https:\/\/prometheus.io\/docs\/instrumenting\/clientlibs\/\" target=\"_blank\" rel=\"noreferrer noopener\">Client libraries<\/a>&nbsp;for instrumenting application code<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/prometheus\/pushgateway\" target=\"_blank\" rel=\"noreferrer noopener\">Push gateway<\/a>&nbsp;for supporting short-lived jobs<\/li>\n\n\n\n<li><a href=\"https:\/\/prometheus.io\/docs\/instrumenting\/exporters\/\" target=\"_blank\" rel=\"noreferrer noopener\">Exporters<\/a>&nbsp;for exporting existing metrics from third-party systems as Prometheus metrics in cases where it is not feasible to instrument a given system with Prometheus metrics directly for example in services like HAProxy, StatsD, Graphite, etc.<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/prometheus\/alertmanager\" target=\"_blank\" rel=\"noreferrer noopener\">Alertmanager<\/a>&nbsp;to handle alerts.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"prometheus-releases\">Prometheus Releases<\/h3>\n\n\n\n<p>Prometheus and its other components are available on the default Debian 12 repositories. However, the available versions may not be up-to-date. You can verify the available versions by running the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apt-cache policy prometheus<\/pre>\n\n\n\n<pre class=\"scroll-sz\"><code>prometheus:\n  Installed: (none)\n  Candidate: 2.42.0+ds-5+b5\n  Version table:\n     2.42.0+ds-5+b5 500\n        500 http:\/\/deb.debian.org\/debian bookworm\/main amd64 Packages\n<\/code><\/pre>\n\n\n\n<p>The <a href=\"https:\/\/github.com\/prometheus\/prometheus\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">current release<\/a> as of this writing is v2.47.0, hence the package from default Debian repos is a bit old.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"install-prometheus-using-pre-compiled-binaries-on-debian-12\">Install Prometheus Using Pre-compiled Binaries on Debian 12<\/h3>\n\n\n\n<p>To ensure that you got the latest versions of Prometheus installed, you can use the pre-compiled binaries.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"create-prometheus-system-user-and-group\">Create Prometheus System User and Group<\/h4>\n\n\n\n<p>Before you can begin the installation, you have to create Prometheus system user and group as shown below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">useradd -M -r -s \/bin\/false prometheus<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"create-prometheus-directories\">Create Prometheus Directories<\/h4>\n\n\n\n<p>Next, you need to create the directories that will be used to store Prometheus configurations files and other data.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir \/etc\/prometheus \/var\/lib\/prometheus<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"download-prometheus-binary\">Download Prometheus Binary<\/h4>\n\n\n\n<p>Next, navigate to the downloads section and grab the latest version of Prometheus on the <a class=\"rank-math-link\" href=\"https:\/\/prometheus.io\/download\/\" target=\"_blank\" rel=\"noreferrer noopener\">downloads section<\/a>. You simply use wget to download it.<\/p>\n\n\n\n<p>Replace the value of the VER variable with the current release version.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">VER=2.47.0<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">wget https:\/\/github.com\/prometheus\/prometheus\/releases\/download\/v$VER\/prometheus-$VER.linux-amd64.tar.gz<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"install-prometheus\">Install Prometheus<\/h4>\n\n\n\n<p>Once you have downloaded the binary, extract it and proceed to install it as follows.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">tar xzf prometheus-$VER.linux-amd64.tar.gz<\/pre>\n\n\n\n<p>Next, copy the&nbsp;<strong>prometheus<\/strong>&nbsp;and&nbsp;<strong>promtool<\/strong>&nbsp;binaries under the extracted archive folder to&nbsp;<code>\/usr\/local\/bin<\/code>&nbsp;directory.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cp prometheus-$VER.linux-amd64\/{prometheus,promtool} \/usr\/local\/bin\/<\/pre>\n\n\n\n<p>After copying, set the user and group ownership of these binaries to&nbsp;<strong>prometheus<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">chown prometheus:prometheus \/usr\/local\/bin\/{prometheus,promtool}<\/pre>\n\n\n\n<p>Next, copy the&nbsp;<code>consoles<\/code>&nbsp;and&nbsp;<code>console_libraries<\/code>&nbsp;directories to&nbsp;<code>\/etc\/prometheus<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cp -r prometheus-$VER.linux-amd64\/{consoles,console_libraries} \/etc\/prometheus\/<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"create-prometheus-configuration-file\">Create Prometheus Configuration file<\/h4>\n\n\n\n<p>The default Prometheus configuration file is located on the extracted archive folder. For the demonstration purposes, we will just copy it to Prometheus configuration directory and modify it as follows;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cp prometheus-$VER.linux-amd64\/prometheus.yml \/etc\/prometheus\/<\/pre>\n\n\n\n<p>In the default configuration there is a single job, called&nbsp;<strong>prometheus<\/strong>&nbsp;, which scrapes the time series data&nbsp;<strong>exposed<\/strong>&nbsp;by the&nbsp;<strong>Prometheus<\/strong>&nbsp;server. The job contains a single, statically configured, target, the localhost on&nbsp;<strong>port 9090<\/strong>.<\/p>\n\n\n\n<p>See the sample configuration contents;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cat \/etc\/prometheus\/prometheus.yml<\/pre>\n\n\n\n<pre class=\"scroll-box\"><code># my global config\nglobal:\n  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.\n  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.\n  # scrape_timeout is set to the global default (10s).\n\n# Alertmanager configuration\nalerting:\n  alertmanagers:\n    - static_configs:\n        - targets:\n          # - alertmanager:9093\n\n# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.\nrule_files:\n  # - \"first_rules.yml\"\n  # - \"second_rules.yml\"\n\n# A scrape configuration containing exactly one endpoint to scrape:\n# Here it's Prometheus itself.\nscrape_configs:\n  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.\n  - job_name: \"prometheus\"\n\n    # metrics_path defaults to '\/metrics'\n    # scheme defaults to 'http'.\n\n    static_configs:\n      - targets: [\"localhost:9090\"]\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"update-ownership-of-prometheus-configurations\">Update Ownership of Prometheus Configurations<\/h4>\n\n\n\n<p>Next, set the user and group ownership of Prometheus configuration directory,&nbsp;<strong>\/etc\/prometheus<\/strong>&nbsp;to&nbsp;<strong>prometheus<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">chown -R prometheus:prometheus \/etc\/prometheus<\/pre>\n\n\n\n<p>Once that is done, similarly set the user and group ownership of Prometheus data directory,&nbsp;<strong>\/var\/lib\/prometheus\/<\/strong>&nbsp;to&nbsp;<strong>prometheus<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">chown -R prometheus:prometheus \/var\/lib\/prometheus<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"running-prometheus-on-debian-12\">Running Prometheus on Debian 12<\/h4>\n\n\n\n<p>At the very least, Prometheus is now set and is ready to run. However, at this point we do not have the Prometheus service configuration file and hence, we can run it in standalone mode by executing the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">prometheus --config.file=\/etc\/prometheus\/prometheus.yml<\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>ts=2023-10-04T04:55:48.249Z caller=main.go:539 level=info msg=\"No time or size retention was set so using the default time retention\" duration=15d\nts=2023-10-04T04:55:48.249Z caller=main.go:583 level=info msg=\"Starting Prometheus Server\" mode=server version=\"(version=2.47.0, branch=HEAD, revision=efa34a5840661c29c2e362efa76bc3a70dccb335)\"\nts=2023-10-04T04:55:48.250Z caller=main.go:588 level=info build_context=\"(go=go1.21.0, platform=linux\/amd64, user=root@409eb5e6b30c, date=20230906-10:20:07, tags=netgo,builtinassets,stringlabels)\"\nts=2023-10-04T04:55:48.250Z caller=main.go:589 level=info host_details=\"(Linux 6.1.0-11-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-4 (2023-08-08) x86_64 debian (none))\"\nts=2023-10-04T04:55:48.250Z caller=main.go:590 level=info fd_limits=\"(soft=1048576, hard=1048576)\"\nts=2023-10-04T04:55:48.251Z caller=main.go:591 level=info vm_limits=\"(soft=unlimited, hard=unlimited)\"\nts=2023-10-04T04:55:48.252Z caller=web.go:566 level=info component=web msg=\"Start listening for connections\" address=0.0.0.0:9090\nts=2023-10-04T04:55:48.252Z caller=main.go:1024 level=info msg=\"Starting TSDB ...\"\nts=2023-10-04T04:55:48.261Z caller=tls_config.go:274 level=info component=web msg=\"Listening on\" address=[::]:9090\nts=2023-10-04T04:55:48.261Z caller=tls_config.go:277 level=info component=web msg=\"TLS is disabled.\" http2=false address=[::]:9090\nts=2023-10-04T04:55:48.262Z caller=head.go:600 level=info component=tsdb msg=\"Replaying on-disk memory mappable chunks if any\"\nts=2023-10-04T04:55:48.262Z caller=head.go:681 level=info component=tsdb msg=\"On-disk memory mappable chunks replay completed\" duration=1.675\u00b5s\nts=2023-10-04T04:55:48.262Z caller=head.go:689 level=info component=tsdb msg=\"Replaying WAL, this may take a while\"\nts=2023-10-04T04:55:48.263Z caller=head.go:760 level=info component=tsdb msg=\"WAL segment loaded\" segment=0 maxSegment=0\nts=2023-10-04T04:55:48.263Z caller=head.go:797 level=info component=tsdb msg=\"WAL replay completed\" checkpoint_replay_duration=40.185\u00b5s wal_replay_duration=454.197\u00b5s wbl_replay_duration=116ns total_replay_duration=1.473217ms\nts=2023-10-04T04:55:48.265Z caller=main.go:1045 level=info fs_type=EXT4_SUPER_MAGIC\nts=2023-10-04T04:55:48.266Z caller=main.go:1048 level=info msg=\"TSDB started\"\nts=2023-10-04T04:55:48.266Z caller=main.go:1229 level=info msg=\"Loading configuration file\" filename=\/etc\/prometheus\/prometheus.yml\nts=2023-10-04T04:55:48.266Z caller=main.go:1266 level=info msg=\"Completed loading of configuration file\" filename=\/etc\/prometheus\/prometheus.yml totalDuration=717.883\u00b5s db_storage=1.014\u00b5s remote_storage=942ns web_handler=299ns query_engine=954ns scrape=111.174\u00b5s scrape_sd=14.343\u00b5s notify=19.174\u00b5s notify_sd=7.264\u00b5s rules=1.104\u00b5s tracing=3.927\u00b5s\nts=2023-10-04T04:55:48.267Z caller=main.go:1009 level=info msg=\"Server is ready to receive web requests.\"\nts=2023-10-04T04:55:48.267Z caller=manager.go:1009 level=info component=\"rule manager\" msg=\"Starting rule manager...\"\n<\/code><\/pre>\n\n\n\n<p>By default, it will be listening on port 9090\/TCP. Open another terminal and confirm;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ss -altnp<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>State             Recv-Q            Send-Q                       Local Address:Port                       Peer Address:Port            Process            \nLISTEN            0                 128                                0.0.0.0:22                              0.0.0.0:*                                  \nLISTEN            0                 128                                   [::]:22                                 [::]:*                                  \n<strong>LISTEN            0                 4096                                     *:9090                                  *:*<\/strong>\n<\/code><\/pre>\n\n\n\n<p>You can stop the process above by pressing CTRL+C.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"create-prometheus-systemd-service-file\">Create Prometheus Systemd Service File<\/h4>\n\n\n\n<p>To be able to run prometheus as a service, you can create a systemd service configuration file as shown below;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>cat &gt; \/etc\/systemd\/system\/prometheus.service &lt;&lt; 'EOF'\n[Unit]\nDescription=Prometheus Time Series Collection and Processing Server\nWants=network-online.target\nAfter=network-online.target\n\n[Service]\nUser=prometheus\nGroup=prometheus\nType=simple\nExecStart=\/usr\/local\/bin\/prometheus \\\n    --config.file \/etc\/prometheus\/prometheus.yml \\\n    --storage.tsdb.path \/var\/lib\/prometheus\/ \\\n    --web.console.templates=\/etc\/prometheus\/consoles \\\n    --web.console.libraries=\/etc\/prometheus\/console_libraries\n\n[Install]\nWantedBy=multi-user.target\nEOF\n<\/code><\/pre>\n\n\n\n<p>Next, reload systemd configuration files;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl daemon-reload<\/pre>\n\n\n\n<p>Start and enable Prometheus to run on system boot.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl enable --now  prometheus<\/pre>\n\n\n\n<p>To check the status of Prometheus service;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl status prometheus<\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>\u25cf prometheus.service - Prometheus Time Series Collection and Processing Server\n     Loaded: loaded (\/etc\/systemd\/system\/prometheus.service; enabled; preset: enabled)\n     Active: active (running) since Wed 2023-10-04 01:00:45 EDT; 31s ago\n   Main PID: 3799 (prometheus)\n      Tasks: 6 (limit: 2304)\n     Memory: 20.2M\n        CPU: 68ms\n     CGroup: \/system.slice\/prometheus.service\n             \u2514\u25003799 \/usr\/local\/bin\/prometheus --config.file \/etc\/prometheus\/prometheus.yml --storage.tsdb.path \/var\/lib\/prometheus\/ --web.console.templates=\/etc\/prometheus\/consoles --web.console.libraries=\/etc\/>\n\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.995Z caller=tls_config.go:274 level=info component=web msg=\"Listening on\" address=[::]:9090\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.995Z caller=tls_config.go:277 level=info component=web msg=\"TLS is disabled.\" http2=false address=[::]:9090\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.995Z caller=head.go:760 level=info component=tsdb msg=\"WAL segment loaded\" segment=0 maxSegment=0\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.995Z caller=head.go:797 level=info component=tsdb msg=\"WAL replay completed\" checkpoint_replay_duration=23.504\u00b5s wal_replay_duration=1.536714ms wb>\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.999Z caller=main.go:1045 level=info fs_type=EXT4_SUPER_MAGIC\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.999Z caller=main.go:1048 level=info msg=\"TSDB started\"\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.999Z caller=main.go:1229 level=info msg=\"Loading configuration file\" filename=\/etc\/prometheus\/prometheus.yml\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.999Z caller=main.go:1266 level=info msg=\"Completed loading of configuration file\" filename=\/etc\/prometheus\/prometheus.yml totalDuration=313.352\u00b5s >\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.999Z caller=main.go:1009 level=info msg=\"Server is ready to receive web requests.\"\nOct 04 01:00:45 debian prometheus[3799]: ts=2023-10-04T05:00:45.999Z caller=manager.go:1009 level=info component=\"rule manager\" msg=\"Starting rule manager...\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"access-prometheus-web-interface\">Access Prometheus Web Interface<\/h3>\n\n\n\n<p>You can now access Prometheus using the address,&nbsp;<strong>http:\/\/&lt;server_IP&gt;:9090<\/strong>. This will take you to Prometheus\u2019s built-in expression browser.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1919\" height=\"504\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/prometheus-default-interface-debian-10-1.png\" alt=\"Install Prometheus on Debian 12\" class=\"wp-image-8557\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/prometheus-default-interface-debian-10-1.png?v=1617517071 1919w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/prometheus-default-interface-debian-10-1-768x202.png?v=1617517071 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/prometheus-default-interface-debian-10-1-1536x403.png?v=1617517071 1536w\" sizes=\"(max-width: 1919px) 100vw, 1919px\" \/><\/figure>\n\n\n\n<p>The scraped metrics can be viewed under,&nbsp;<strong>http:\/\/&lt;server_IP&gt;:9090\/metrics<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1340\" height=\"753\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/scraped-metrics-prometheus.png\" alt=\"\" class=\"wp-image-8558\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/scraped-metrics-prometheus.png?v=1617517209 1340w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/scraped-metrics-prometheus-768x432.png?v=1617517209 768w\" sizes=\"(max-width: 1340px) 100vw, 1340px\" \/><\/figure>\n\n\n\n<p>To check the status of your node, navigate to&nbsp;<strong>Status<\/strong>&nbsp;&gt;&nbsp;<strong>Targets<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1512\" height=\"408\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/prometheus-targets-status.png\" alt=\"\" class=\"wp-image-8559\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/prometheus-targets-status.png?v=1617517299 1512w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/04\/prometheus-targets-status-768x207.png?v=1617517299 768w\" sizes=\"(max-width: 1512px) 100vw, 1512px\" \/><\/figure>\n\n\n\n<p>Well, that is just about it on installing Prometheus on Debian 12.<\/p>\n\n\n\n<p>Want to learn how to monitor Linux hosts with Prometheus Node Exporter? Check the link below;<\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/integrate-prometheus-with-grafana-for-monitoring\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Integrate Prometheus with Grafana for Monitoring<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/kifarunix.com\/monitor-linux-system-metrics-with-prometheus-node-exporter\/\" target=\"_blank\" class=\"rank-math-link\">Monitor Linux System Metrics with Prometheus Node Exporter<\/a><\/p>\n\n\n\n<p><a aria-label=\" (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/monitoring-gitlab-metrics-with-prometheus-and-grafana\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Monitoring Gitlab Metrics with Prometheus and Grafana<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/monitor-openvpn-connections-with-prometheus-and-grafana\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Monitor OpenVPN Connections with Prometheus and Grafana<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this guide, you will learn how to install Prometheus on Debian 12.&nbsp;Prometheus&nbsp;is an open-source systems and service monitoring system. It collects metrics from configured<\/p>\n","protected":false},"author":10,"featured_media":18908,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[72,121],"tags":[7255,7254],"class_list":["post-18903","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-monitoring","category-howtos","tag-debian-12-prometheus","tag-install-prometheus-debian-12","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","resize-featured-image"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/18903"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=18903"}],"version-history":[{"count":6,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/18903\/revisions"}],"predecessor-version":[{"id":20866,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/18903\/revisions\/20866"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media\/18908"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=18903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=18903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=18903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}