Difference between revisions of "Prometheus Node exporter"

From wikieduonline
Jump to navigation Jump to search
 
(32 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Prometheus]] Node exporter
 
[[Prometheus]] Node exporter
 +
* Homepage: https://github.com/prometheus/node_exporter
 +
* Configuration files:
 +
** Linux: <code>[[/etc/default/prometheus-node-exporter]]</code>
 +
** macOS: <code>[[~/brew/etc/node_exporter.args]]</code>
 +
* Releases: https://github.com/prometheus/node_exporter/releases/
 +
* <code>http://localhost:9100/metrics</code>
  
MERGE: [[Prometheus-node-exporter]]
+
== Installing Node Exporter ==
 
+
* Linux: <code>[[apt install prometheus-node-exporter]]</code>
* Homepage: https://github.com/prometheus/node_exporter
+
* [[macOS]]: <code>[[brew install node_exporter]]</code>
* Configuration file: <code>[[/etc/default/prometheus-node-exporter]]</code>
+
* [[Docker Hub]]: <code>[[docker pull]] prom/node-exporter && [[docker run prom/node-exporter]]</code> (not recommended to deploy it as a [[Docker]] container <ref>https://github.com/prometheus/node_exporter#using-docker</ref>)
  
==Installing Node Exporter==
+
* <code>[[systemctl status prometheus-node-exporter]]</code>
* Linux: <code>apt install [[prometheus-node-exporter]]</code>
 
* [[macOS]]: <code>[[brew install]] node_exporter</code>
 
<code>Review exposed information: http://localhost:9100/metrics</code>
 
  
=== Installing Node Exporter from Docker Hub ===
+
<code>[[systemctl]]</code> config files:
It's not recommended to deploy it as a [[Docker]] container<ref>https://github.com/prometheus/node_exporter#using-docker</ref>
+
* <code>[[prometheus-node-exporter.service]]</code>
* <code>[[docker pull]] prom/node-exporter && [[docker run]] prom/node-exporter</code>
+
* <code>prometheus-node-exporter-apt.[[timer]]</code>
  
 
=== [[Installing Node Exporter from Prometheus binary releases]] ===
 
=== [[Installing Node Exporter from Prometheus binary releases]] ===
Line 28: Line 31:
 
*<code>sudo nano [[/etc/prometheus/prometheus.yml]]</code>
 
*<code>sudo nano [[/etc/prometheus/prometheus.yml]]</code>
  
<pre>global:
+
global:
 
   scrape_interval: 15s
 
   scrape_interval: 15s
 
+
scrape_configs:
+
[[scrape_configs]]:
 
   - job_name: 'prometheus'
 
   - job_name: 'prometheus'
 
     scrape_interval: 5s
 
     scrape_interval: 5s
 
     static_configs:
 
     static_configs:
       - targets: ['localhost:9090']
+
       - targets: ['localhost:[[9090]]']
 
   - job_name: 'node_exporter'
 
   - job_name: 'node_exporter'
 
     scrape_interval: 5s
 
     scrape_interval: 5s
 
     static_configs:
 
     static_configs:
      - targets: ['localhost:9100']</pre>
+
      - targets: ['localhost:[[9100]]']
  
 
Finally, restart Prometheus to put the changes into effect and verify status
 
Finally, restart Prometheus to put the changes into effect and verify status
<code>[[docker restart]] prometheus</code>
+
*<code>[[docker restart]] prometheus</code>
  
 
== Ubuntu ==
 
== Ubuntu ==
Line 48: Line 51:
 
https://packages.ubuntu.com/search?keywords=prometheus-node-exporter  
 
https://packages.ubuntu.com/search?keywords=prometheus-node-exporter  
 
* [[Ubuntu 20.04 LTS]], version: prometheus-node-exporter 0.18.1+ds-2
 
* [[Ubuntu 20.04 LTS]], version: prometheus-node-exporter 0.18.1+ds-2
* [[Ubuntu 18.04 LTS]], version [[prometheus-node-exporter 0.15]].2
+
* [[Ubuntu 18.04 LTS]], version [[prometheus-node-exporter]] 0.15.2
 
  cat [[/etc/default/prometheus-node-exporter]] | grep -v "#" | grep .
 
  cat [[/etc/default/prometheus-node-exporter]] | grep -v "#" | grep .
  ARGS="--collector.diskstats.ignored-devices=^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$ \
+
  [[ARGS]]="--collector.diskstats.ignored-devices=^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$ \
 
       --collector.filesystem.ignored-mount-points=^/(sys|proc|dev|run)($|/) \
 
       --collector.filesystem.ignored-mount-points=^/(sys|proc|dev|run)($|/) \
 
       --collector.netdev.ignored-devices=^lo$ \
 
       --collector.netdev.ignored-devices=^lo$ \
       --collector.textfile.directory=/var/lib/prometheus/node-exporter"
+
       --collector.[[textfile]].directory=[[/var/lib/prometheus/node-exporter]]"
 +
 
 +
== Logs ==
 +
<code>nodeexporter  | ts=2023-01-12T18:23:45.617Z caller=[[tls_config.go]]:195 level=info msg="TLS is disabled." http2=false</code>
  
 
== Related terms ==
 
== Related terms ==
* [[Metric colletion tools]]: [[Metricbeat]],  [[sysstat]]
+
* [[Metric colletion tools]]: [[Metricbeat]],  [[sysstat]], [[Grafana agent]]
 
* [[Prometheus Node exporter releases]]
 
* [[Prometheus Node exporter releases]]
 
* [[CloudWatch agent]]
 
* [[CloudWatch agent]]
 
* [[Zabbix agent]]
 
* [[Zabbix agent]]
 +
* [[Blackbox exporter]]
 +
* [[Consul exporter]]
 +
* [[cAdvisor]]
  
 
== See also ==
 
== See also ==
* {{Prometheus}}
+
* {{Node exporter}}
 
* {{Metrics collectors}}
 
* {{Metrics collectors}}
 
  
 
[[Category:Prometheus]]
 
[[Category:Prometheus]]

Latest revision as of 09:21, 1 April 2024

Prometheus Node exporter

Installing Node Exporter[edit]

systemctl config files:

Installing Node Exporter from Prometheus binary releases[edit]

Configuring Prometheus to Scrape Node Exporter[edit]

Because Prometheus only scrapes exporters which are defined in the scrape_configs portion of its configuration file, we'll need to add an entry for Node Exporter, just like we did for Prometheus itself.

At the end of the scrape_configs block, add a new entry called node_exporter.

global:
 scrape_interval: 15s

scrape_configs:
 - job_name: 'prometheus'
   scrape_interval: 5s
   static_configs:
     - targets: ['localhost:9090']
 - job_name: 'node_exporter'
   scrape_interval: 5s
   static_configs:
      - targets: ['localhost:9100']

Finally, restart Prometheus to put the changes into effect and verify status

Ubuntu[edit]

https://packages.ubuntu.com/search?keywords=prometheus-node-exporter

cat /etc/default/prometheus-node-exporter | grep -v "#" | grep .
ARGS="--collector.diskstats.ignored-devices=^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$ \
     --collector.filesystem.ignored-mount-points=^/(sys|proc|dev|run)($|/) \
     --collector.netdev.ignored-devices=^lo$ \
     --collector.textfile.directory=/var/lib/prometheus/node-exporter"

Logs[edit]

nodeexporter | ts=2023-01-12T18:23:45.617Z caller=tls_config.go:195 level=info msg="TLS is disabled." http2=false

Related terms[edit]

See also[edit]

  • https://github.com/prometheus/node_exporter#using-docker
  • Advertising: