{"id":23906,"date":"2021-09-27T07:41:05","date_gmt":"2021-09-27T07:41:05","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=23906"},"modified":"2021-09-27T07:54:53","modified_gmt":"2021-09-27T07:54:53","slug":"prometheus-faq-and-answer","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/prometheus-faq-and-answer\/","title":{"rendered":"Prometheus FAQ and Answer"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">FAQ# 1- How to add https url to scrap on target prometheus?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"316\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/09\/image-8.png\" alt=\"\" class=\"wp-image-23907\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/09\/image-8.png 567w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/09\/image-8-300x167.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/09\/image-8-355x199.png 355w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Example 1<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Use the following configuration:\r\n\r\n  - job_name: <span class=\"hljs-string\">'domain-job'<\/span>\r\n    <span class=\"hljs-attr\">scheme<\/span>: https\r\n    <span class=\"hljs-attr\">static_configs<\/span>:\r\n    - targets: &#91;<span class=\"hljs-string\">'myDomain.dev'<\/span>]\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Example 2<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Add a <span class=\"hljs-keyword\">new<\/span> job that configures both a custom metrics path and scheme.\r\n\r\nIt would look something like <span class=\"hljs-keyword\">this<\/span>:\r\n\r\n- job_name: <span class=\"hljs-keyword\">new<\/span>-job\r\n  <span class=\"hljs-attr\">scrape_interval<\/span>: <span class=\"hljs-number\">5<\/span>s\r\n  <span class=\"hljs-attr\">static_configs<\/span>:\r\n    - targets: &#91;<span class=\"hljs-string\">'www2.abc.abc.com:443'<\/span>]\r\n\r\n  <span class=\"hljs-attr\">metrics_path<\/span>: <span class=\"hljs-regexp\">\/servlet\/m<\/span>etrics\/\r\n  scheme: https\r\n\r\nPort <span class=\"hljs-number\">443<\/span> is the HTTPS port, <span class=\"hljs-attr\">scheme<\/span>: https makes sure the HTTPS protocol is uses and metrics_path points to your custom path <span class=\"hljs-keyword\">with<\/span> the metrics handler.<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">FAQ# 2-  How to setup High available Prometheus multi node clustor for Storage?<\/h2>\n\n\n\n<p>Prometheus includes a local on-disk time series database, but also optionally integrates with remote storage systems.<\/p>\n\n\n\n<p>Prometheus&#8217;s local storage is limited to a single node&#8217;s scalability and durability. Instead of trying to solve clustered storage in Prometheus itself, Prometheus offers a set of interfaces that allow integrating with remote storage systems.<\/p>\n\n\n\n<p>But, There are some solution available to for Highly available Prometheus multi node clustor<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Federation<\/h2>\n\n\n\n<p>Federation allows a Prometheus server to scrape selected time series from another Prometheus server. There are different use cases for federation. Commonly, it is used to either achieve scalable Prometheus monitoring setups or to pull related metrics from one service&#8217;s Prometheus into another.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>https:\/\/prometheus.io\/docs\/prometheus\/latest\/federation\/<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Thanos<\/h2>\n\n\n\n<p>Open source, highly available Prometheus setup with long term storage capabilities.<br>Thanos is a monitoring system that aggregates data from multiple Prometheus deployments. This data can then be inspected and analyzed using Grafana, just as with regular Prometheus metrics. Although this setup sounds complex, it\u2019s actually very easy to achieve with the Bitnami Helm charts:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>https:\/\/thanos.io\/<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to Enable Prometheus Lifecycle API  &#8220;Lifecycle API is not enabled&#8221;?<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">\r\nRun prometheus with --web.enable-lifecycle\r\n\r\nThe POST to \/-\/reload method <span class=\"hljs-keyword\">as<\/span> above, but it requires the --web.enable_lifecycle flag to have been added to docker-compose.yml <span class=\"hljs-keyword\">or<\/span> the docker run command beforehand:\r\n\r\n$ docker run -p <span class=\"hljs-number\">9090<\/span>:<span class=\"hljs-number\">9090<\/span> -v \/path\/to\/prometheus.yml:\/etc\/prometheus\/prometheus.yml prom\/prometheus --web.enable-lifecycle<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>","protected":false},"excerpt":{"rendered":"<p>FAQ# 1- How to add https url to scrap on target prometheus? Example 1 Example 2 FAQ# 2- How to setup High available Prometheus multi node clustor for Storage? Prometheus&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-23906","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=23906"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23906\/revisions"}],"predecessor-version":[{"id":23912,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23906\/revisions\/23912"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=23906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=23906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=23906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}