{"id":5215,"date":"2021-07-12T06:34:09","date_gmt":"2021-07-12T06:34:09","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/?p=5215"},"modified":"2024-06-24T13:39:59","modified_gmt":"2024-06-24T13:39:59","slug":"install-and-configure-prometheus-server-and-node-exporter-in-rhel","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/install-and-configure-prometheus-server-and-node-exporter-in-rhel\/","title":{"rendered":"Install and Configure Prometheus Server and Node Exporter in Linux"},"content":{"rendered":"\n<p>There are 3 importants components to make sure Prometheus is up and running. We need to install and configure<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Prometheus Server,<\/li>\n\n\n\n<li>Node Exporter, and<\/li>\n\n\n\n<li>Dashborad which can be PromDash or Grafana.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisite<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-devopsschool-com wp-block-embed-devopsschool-com\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"FORFJf9YTZ\"><a href=\"https:\/\/www.devopsschool.com\/blog\/ntp-install-and-configure-in-linux-centos-ubuntu-rhel\/\">NTP install and configure in Linux, Centos, Ubuntu &#038; RHEL<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;NTP install and configure in Linux, Centos, Ubuntu &#038; RHEL&#8221; &#8212; DevOpsSchool.com\" src=\"https:\/\/www.devopsschool.com\/blog\/ntp-install-and-configure-in-linux-centos-ubuntu-rhel\/embed\/#?secret=CMjX1S9RJE#?secret=FORFJf9YTZ\" data-secret=\"FORFJf9YTZ\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"514\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/promethus-install-sync-ntp.jpg\" alt=\"\" class=\"wp-image-22368\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/promethus-install-sync-ntp.jpg 796w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/promethus-install-sync-ntp-300x194.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/promethus-install-sync-ntp-768x496.jpg 768w\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Prometheus Errors &amp; Solution<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-scmgalaxy wp-block-embed-scmgalaxy\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"i1xts4c1jz\"><a href=\"https:\/\/www.scmgalaxy.com\/tutorials\/prometheus-errors-solution\/\" target=\"_blank\" rel=\"noopener\">Prometheus Errors &#038; Solution<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Prometheus Errors &#038; Solution&#8221; &#8212; scmGalaxy\" src=\"https:\/\/www.scmgalaxy.com\/tutorials\/prometheus-errors-solution\/embed\/#?secret=i8iZ45cTb8#?secret=i1xts4c1jz\" data-secret=\"i1xts4c1jz\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Install and configure Prometheus Server in RHEL 7<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Download <strong>Prometheus Server<\/strong> Package<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Download Prometheus from https:<span class=\"hljs-comment\">\/\/prometheus.io\/download\/. You can find 3 Prometheus package which is supported for darwin\/linux and windows.<\/span>\n\n$ sudo -s\n$ yum install wget -y\n$ cd \/opt\/\n$ wget https:<span class=\"hljs-comment\">\/\/github.com\/prometheus\/prometheus\/releases\/download\/v2.28.1\/prometheus-2.28.1.linux-amd64.tar.gz<\/span>\n$ tar -zxvf prometheus<span class=\"hljs-number\">-2.28<\/span><span class=\"hljs-number\">.1<\/span>.linux-amd64.tar.gz\n$ cd prometheus<span class=\"hljs-number\">-2.28<\/span><span class=\"hljs-number\">.1<\/span>.linux-amd64\n\n<span class=\"hljs-keyword\">If<\/span> you find following files....\n\n$ ls <span class=\"hljs-number\">-1<\/span>\nLICENSE\nNOTICE\nconsole_libraries\nconsoles\nprometheus\nprometheus.yml\npromtool\n\n<span class=\"hljs-comment\"># Verify the installation by typing in the following command:<\/span>\n\n$ .\/prometheus --version\nprometheus, version <span class=\"hljs-number\">2.3<\/span><span class=\"hljs-number\">.2<\/span> (branch: HEAD, revision: <span class=\"hljs-number\">71<\/span>af5e29e815795e9dd14742ee7725682fa14b7b)\nbuild user: root@<span class=\"hljs-number\">5258e0<\/span>bd9cc1\nbuild date: <span class=\"hljs-number\">20180712<\/span><span class=\"hljs-number\">-14<\/span>:<span class=\"hljs-number\">02<\/span>:<span class=\"hljs-number\">52<\/span>\ngo version: go1<span class=\"hljs-number\">.10<\/span><span class=\"hljs-number\">.3<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><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>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Starting Prometheus Server<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Enter the directory where you installed the Prometheus server:\n\n$ cd prometheus<span class=\"hljs-number\">-2.28<\/span><span class=\"hljs-number\">.1<\/span>.linux-amd64\n\n<span class=\"hljs-comment\"># Before you start Prometheus, you must first understand a configuration file for it called prometheus.yml.<\/span>\n\n$ more prometheus.yml<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><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>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"988\" height=\"568\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-1.jpg\" alt=\"\" class=\"wp-image-22317\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-1.jpg 988w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-1-300x172.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-1-768x442.jpg 768w\" sizes=\"auto, (max-width: 988px) 100vw, 988px\" \/><\/figure>\n\n\n\n<p>Whereas, This creates a scrape_configs section and defines a job called node. It includes the URL of your Node Exporter\u2019s web interface in its array of targets. The scrape_interval is set to 15 seconds so that Prometheus scrapes the metrics once every fifteen seconds.<\/p>\n\n\n\n<p>You could name your job anything you want, but calling it &#8220;node&#8221; allows you to use the default console templates of Node Exporter. Save the file and exit.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Start the Prometheus server as a background process.<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\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\"><span class=\"hljs-comment\"># Start the Prometheus server as a background process.<\/span>\n$ nohup .\/prometheus &gt; prometheus.log <span class=\"hljs-number\">2<\/span>&gt;&amp;<span class=\"hljs-number\">1<\/span> &amp;\n\n<span class=\"hljs-comment\"># You can view the last few lines of the file using the tail command:<\/span>\n$ tail prometheus.log\n\nOnce the server is ready, you will see the following messages in the file:\n\nlevel=info ts=<span class=\"hljs-number\">2018<\/span><span class=\"hljs-number\">-08<\/span><span class=\"hljs-number\">-21<\/span>T11:<span class=\"hljs-number\">47<\/span>:<span class=\"hljs-number\">38.56459183<\/span>Z caller=web.go:<span class=\"hljs-number\">415<\/span> component=web msg=\u201dStart listening <span class=\"hljs-keyword\">for<\/span> connections\u201d address=<span class=\"hljs-number\">0.0<\/span><span class=\"hljs-number\">.0<\/span><span class=\"hljs-number\">.0<\/span>:<span class=\"hljs-number\">9090<\/span>\nlevel=info ts=<span class=\"hljs-number\">2018<\/span><span class=\"hljs-number\">-08<\/span><span class=\"hljs-number\">-21<\/span>T11:<span class=\"hljs-number\">47<\/span>:<span class=\"hljs-number\">38.569742672<\/span>Z caller=main.go:<span class=\"hljs-number\">543<\/span> msg=\u201dTSDB started\u201d\nlevel=info ts=<span class=\"hljs-number\">2018<\/span><span class=\"hljs-number\">-08<\/span><span class=\"hljs-number\">-21<\/span>T11:<span class=\"hljs-number\">47<\/span>:<span class=\"hljs-number\">38.569767659<\/span>Z caller=main.go:<span class=\"hljs-number\">603<\/span> msg=\u201dLoading configuration file\u201d filename=prometheus.yml\nlevel=info ts=<span class=\"hljs-number\">2018<\/span><span class=\"hljs-number\">-08<\/span><span class=\"hljs-number\">-21<\/span>T11:<span class=\"hljs-number\">47<\/span>:<span class=\"hljs-number\">38.57069388<\/span>Z caller=main.go:<span class=\"hljs-number\">629<\/span> msg=\u201dCompleted loading of configuration file\u201d filename=prometheus.yml\nlevel=info ts=<span class=\"hljs-number\">2018<\/span><span class=\"hljs-number\">-08<\/span><span class=\"hljs-number\">-21<\/span>T11:<span class=\"hljs-number\">47<\/span>:<span class=\"hljs-number\">38.570724527<\/span>Z caller=main.go:<span class=\"hljs-number\">502<\/span> msg=\u201dServer is ready to receive web requests.\n\n<span class=\"hljs-keyword\">Use<\/span> <span class=\"hljs-title\">a<\/span> <span class=\"hljs-title\">browser<\/span> <span class=\"hljs-title\">to<\/span> <span class=\"hljs-title\">visit<\/span> <span class=\"hljs-title\">Prometheus<\/span>\u2019<span class=\"hljs-title\">s<\/span> <span class=\"hljs-title\">homepage<\/span> <span class=\"hljs-title\">available<\/span> <span class=\"hljs-title\">at<\/span> <span class=\"hljs-title\">http<\/span>:\/\/<span class=\"hljs-title\">your_server_ip<\/span>:9090. <span class=\"hljs-title\">You<\/span>\u2019<span class=\"hljs-title\">ll<\/span> <span class=\"hljs-title\">see<\/span> <span class=\"hljs-title\">the<\/span> <span class=\"hljs-title\">following<\/span> <span class=\"hljs-title\">homepage<\/span>.<\/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>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"455\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-2-1024x455.jpg\" alt=\"\" class=\"wp-image-22323\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-2-1024x455.jpg 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-2-300x133.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-2-768x341.jpg 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/07\/install-Prometheus-Server-2.jpg 1030w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Verify Prometheus Server<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">To make sure that Prometheus server is scraping data <span class=\"hljs-keyword\">from<\/span> Node Exporter, click on the Graph tab at the top <span class=\"hljs-keyword\">of<\/span> the page. On the page that opens, type <span class=\"hljs-keyword\">in<\/span> the name <span class=\"hljs-keyword\">of<\/span> a metric (like up, <span class=\"hljs-keyword\">for<\/span> example) <span class=\"hljs-keyword\">in<\/span> the text field that says Expression. Then, press the blue Execute button. Click Graph (next to Console) just below, and you should see a graph <span class=\"hljs-keyword\">for<\/span> that metric:\n\nMore metric can be found <span class=\"hljs-keyword\">from<\/span> the Node Exporter host such <span class=\"hljs-keyword\">as<\/span>\n<span class=\"hljs-attr\">http<\/span>:<span class=\"hljs-comment\">\/\/X.X.X.X:9100\/metrics<\/span>\n\nPrometheus has <span class=\"hljs-built_in\">console<\/span> templates that <span class=\"hljs-keyword\">let<\/span> you view graphs <span class=\"hljs-keyword\">of<\/span> a few commonly used metrics. These <span class=\"hljs-built_in\">console<\/span> template are accessible only <span class=\"hljs-keyword\">if<\/span> you <span class=\"hljs-keyword\">set<\/span> the value of job_name to \"prometheus\" in Prometheus's configuration.\n\nVisit http:\/\/your_server_ip:9090\/consoles\/prometheus.html to access the Node Console and click on your server, localhost:9100, to view its metrics.<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><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<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Prometheus Reload Configuration without command line restart<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Option 1<\/span>\n$ curl -i -XPOST localhost:<span class=\"hljs-number\">9090<\/span>\/-\/reload <span class=\"hljs-comment\">#  (when the --web.enable-lifecycle flag is enabled).<\/span>\n\n<span class=\"hljs-comment\"># Option 2<\/span>\n$ killall -HUP prometheus\n\n<span class=\"hljs-comment\"># Option 3<\/span>\n$ sudo systemctl daemon-reload\t<span class=\"hljs-comment\">#  (when the --web.enable-lifecycle flag is enabled).<\/span>\n\n<span class=\"hljs-comment\"># Option 4<\/span>\n$ sudo systemctl restart prometheus\n\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><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>\n\n\n<h2 class=\"wp-block-heading\">How to Run Prometheus server as a Service?<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-devopsschool-com wp-block-embed-devopsschool-com\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"zNq4fgAH1w\"><a href=\"https:\/\/www.devopsschool.com\/blog\/how-to-run-prometheus-server-as-a-service\/\">How to Run Prometheus server as a Service?<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;How to Run Prometheus server as a Service?&#8221; &#8212; DevOpsSchool.com\" src=\"https:\/\/www.devopsschool.com\/blog\/how-to-run-prometheus-server-as-a-service\/embed\/#?secret=DRlBTv9Jvt#?secret=zNq4fgAH1w\" data-secret=\"zNq4fgAH1w\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Install and configure Prometheus Node Exporter in All Linux<\/h2>\n\n\n\n<p>In order to monitor the metrics of your RHEL server, you should install a tool called Node Exporter. Node Exporter, as its name suggests, exports lots of metrics (such as disk I\/O statistics, CPU load, memory usage, network statistics, and more) in a format Prometheus understands.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$ cd \/opt\/\n$ wget https:<span class=\"hljs-comment\">\/\/github.com\/prometheus\/node_exporter\/releases\/download\/v1.1.2\/node_exporter-1.1.2.linux-amd64.tar.gz<\/span>\n$ tar -zxvf node_exporter<span class=\"hljs-number\">-1.1<\/span><span class=\"hljs-number\">.2<\/span>.linux-amd64.tar.gz\n$ cd node_exporter<span class=\"hljs-number\">-1.1<\/span><span class=\"hljs-number\">.2<\/span>.linux-amd64\n$ nohup .\/node_exporter &amp;\n\n<span class=\"hljs-comment\"># Verify node_exporter <\/span>\n$ curl http:<span class=\"hljs-comment\">\/\/localhost:9100\/metrics<\/span>\n$ curl http:<span class=\"hljs-comment\">\/\/localhost:9100\/metrics | grep \"node_\"<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><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>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Running Node Exporter as a Service (Optional)<\/h2>\n\n\n\n<p>If you want to Running Node Exporter as a Service<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$ sudo vi \/etc\/systemd\/system\/node_exporter.service\n\n&#91;Unit]\nDescription=Node Exporter\nWants=network-online.target\nAfter=network-online.target\n\n&#91;Service]\nUser=root\nGroup=root\nType=simple\nExecStart=\/root\/prometheus\/node_exporter\/node_exporter\n\n&#91;Install]\nWantedBy=multi-user.target\n\n<span class=\"hljs-comment\"># Save the file and exit the text editor.<\/span>\n\n<span class=\"hljs-comment\"># Reload systemd so that it reads the configuration file you just created.<\/span>\n\n$ sudo systemctl daemon-reload\n\n<span class=\"hljs-comment\"># Enable it so that it starts automatically at boot time.<\/span>\n\n$ sudo systemctl enable node_exporter.service\n\nYou can now either reboot your server, <span class=\"hljs-keyword\">or<\/span> <span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">the<\/span> <span class=\"hljs-title\">following<\/span> <span class=\"hljs-title\">command<\/span> <span class=\"hljs-title\">to<\/span> <span class=\"hljs-title\">start<\/span> <span class=\"hljs-title\">the<\/span> <span class=\"hljs-title\">service<\/span> <span class=\"hljs-title\">manually<\/span>:\n\n$ <span class=\"hljs-title\">sudo<\/span> <span class=\"hljs-title\">systemctl<\/span> <span class=\"hljs-title\">start<\/span> <span class=\"hljs-title\">node_exporter<\/span>.<span class=\"hljs-title\">service<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><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>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p>Once it starts, use a browser to view Node Exporter&#8217;s web interface, which is available at http:\/\/your_server_ip:9100\/metrics. You should see a page with a lot of text:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring Node Exporter with Prometheus instances<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">vi<\/span> <span class=\"hljs-selector-tag\">prometheus<\/span><span class=\"hljs-selector-class\">.yml<\/span>\n\n# <span class=\"hljs-selector-tag\">Add<\/span> <span class=\"hljs-selector-tag\">following<\/span> <span class=\"hljs-selector-tag\">Job<\/span> <span class=\"hljs-selector-tag\">spec<\/span> <span class=\"hljs-selector-tag\">in<\/span> <span class=\"hljs-selector-tag\">prometheus<\/span><span class=\"hljs-selector-class\">.yml<\/span> <span class=\"hljs-selector-tag\">under<\/span> <span class=\"hljs-selector-tag\">scrape_configs<\/span>\n<span class=\"hljs-selector-tag\">scrape_configs<\/span>:\n<span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">job_name<\/span>: <span class=\"hljs-selector-tag\">node<\/span>\n  <span class=\"hljs-selector-tag\">static_configs<\/span>:\n  <span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">targets<\/span>: <span class=\"hljs-selector-attr\">&#91;<span class=\"hljs-string\">'localhost:9100'<\/span>]<\/span>\n\n<span class=\"hljs-selector-tag\">Metrics<\/span> <span class=\"hljs-selector-tag\">specific<\/span> <span class=\"hljs-selector-tag\">to<\/span> <span class=\"hljs-selector-tag\">the<\/span> <span class=\"hljs-selector-tag\">Node<\/span> <span class=\"hljs-selector-tag\">Exporter<\/span> <span class=\"hljs-selector-tag\">are<\/span> <span class=\"hljs-selector-tag\">prefixed<\/span> <span class=\"hljs-selector-tag\">with<\/span> <span class=\"hljs-selector-tag\">node_<\/span> <span class=\"hljs-selector-tag\">and<\/span> <span class=\"hljs-selector-tag\">include<\/span> <span class=\"hljs-selector-tag\">metrics<\/span> <span class=\"hljs-selector-tag\">like<\/span> <span class=\"hljs-selector-tag\">node_cpu_seconds_total<\/span> <span class=\"hljs-selector-tag\">and<\/span> <span class=\"hljs-selector-tag\">node_exporter_build_info<\/span>.<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-devopsschool-com wp-block-embed-devopsschool-com\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"n0C8j6wysL\"><a href=\"https:\/\/www.devopsschool.com\/blog\/install-and-configure-grafana-in-rhel-7\/\">Install and Configure Grafana in Linux<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Install and Configure Grafana in Linux&#8221; &#8212; DevOpsSchool.com\" src=\"https:\/\/www.devopsschool.com\/blog\/install-and-configure-grafana-in-rhel-7\/embed\/#?secret=L1EcBq0NbA#?secret=n0C8j6wysL\" data-secret=\"n0C8j6wysL\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Block port 9100 externally, but leave it open internally for localhost.<\/h2>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ iptables -A INPUT -p tcp -s localhost --dport 9100 -j ACCEPT\n$ iptables -A INPUT -p tcp --dport 9100 -j DROP\n$ iptables -L<\/code><\/span><\/pre>","protected":false},"excerpt":{"rendered":"<p>There are 3 importants components to make sure Prometheus is up and running. We need to install and configure Prerequisite Prometheus Errors &amp; Solution Install and configure Prometheus Server in&#8230; <\/p>\n","protected":false},"author":1,"featured_media":8139,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[5013],"tags":[254,237,5016,5014,5015,465],"class_list":["post-5215","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-prometheus","tag-configure","tag-install","tag-node-exporter","tag-prometheus","tag-prometheus-server","tag-rhel"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5215","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=5215"}],"version-history":[{"count":34,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5215\/revisions"}],"predecessor-version":[{"id":46594,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5215\/revisions\/46594"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/8139"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=5215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=5215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=5215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}