diff --git a/monitoring.yml b/monitoring.yml
index 955294f67d5fa4c6b3070a5022f4d978d7c75b59..87fcc5854e20704a6bc44dca38d9d5fe150a85a8 100644
--- a/monitoring.yml
+++ b/monitoring.yml
@@ -27,6 +27,9 @@
           job: prometheus
         targets:
           - localhost:9090
+    prometheus_snmp_targets:
+      - targets:
+          - pulsar.adm.crans.org
   roles:
     - prometheus
     - prometheus-alertmanager
diff --git a/roles/prometheus-node/handlers/main.yml b/roles/prometheus-node/handlers/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b4b64a4b9a321fa2183e2e002332fc2d3b828524
--- /dev/null
+++ b/roles/prometheus-node/handlers/main.yml
@@ -0,0 +1,5 @@
+---
+- name: Restart prometheus-node-exporter
+  service:
+    name: prometheus-node-exporter
+    state: restarted
diff --git a/roles/prometheus-node/tasks/main.yml b/roles/prometheus-node/tasks/main.yml
index 8a175e98616ede8489ff7ac1c094f85d8338e397..a41a67f17bd646897750aaf374f204839bb2cb71 100644
--- a/roles/prometheus-node/tasks/main.yml
+++ b/roles/prometheus-node/tasks/main.yml
@@ -7,6 +7,12 @@
   retries: 3
   until: apt_result is succeeded
 
+- name: Activate prometheus-node-exporter service
+  systemd:
+    name: prometheus-node-exporter
+    enabled: yes
+    state: started
+
 # Doesn't work on Debian Stretch
 - name: Make Prometheus node-exporter listen on adm only
   when:
diff --git a/roles/prometheus/handlers/main.yml b/roles/prometheus/handlers/main.yml
index 4214def5824f5941a37dc2c83c97d362c2a4526a..670847ba84abbccf2e7da7f10e21fe5327bbc15e 100644
--- a/roles/prometheus/handlers/main.yml
+++ b/roles/prometheus/handlers/main.yml
@@ -3,3 +3,8 @@
   service:
     name: prometheus
     state: restarted
+
+- name: Restart prometheus-snmp-exporter
+  service:
+    name: prometheus-snmp-exporter
+    state: restarted
diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml
index 3f7054213823780b3c924c2458537cafdabab929..5fa2e817384a839ccee5d406cf24a8133f34754d 100644
--- a/roles/prometheus/tasks/main.yml
+++ b/roles/prometheus/tasks/main.yml
@@ -2,7 +2,9 @@
 - name: Install Prometheus
   apt:
     update_cache: true
-    name: prometheus
+    name:
+      - prometheus
+      - prometheus-snmp-exporter
   register: apt_result
   retries: 3
   until: apt_result is succeeded
@@ -19,8 +21,30 @@
     dest: /etc/prometheus/alert.rules.yml
   notify: Restart Prometheus
 
+# Doesn't work on Debian Stretch
+- name: Make Prometheus snmp-exporter listen on adm only
+  when:
+    - ansible_distribution_release == 'buster'
+  lineinfile:
+    path: /etc/default/prometheus-node-exporter
+    regexp: '^ARGS='
+    line: "ARGS=\"--web.listen-address={{ ansible_fqdn }}:9116\""
+  notify: Restart prometheus-snmp-exporter
+
 # We don't need to restart Prometheus when updating nodes
 - name: Configure Prometheus nodes
   copy:
     content: "{{ prometheus_targets | to_nice_json }}"
     dest: /etc/prometheus/targets.json
+
+# We don't need to restart Prometheus when updating nodes
+- name: Configure Prometheus SNMP devices
+  copy:
+    content: "{{ prometheus_snmp_targets | to_nice_json }}"
+    dest: /etc/prometheus/targets_snmp.json
+
+- name: Activate prometheus service
+  systemd:
+    name: prometheus
+    enabled: yes
+    state: started
diff --git a/roles/prometheus/templates/prometheus/prometheus.yml.j2 b/roles/prometheus/templates/prometheus/prometheus.yml.j2
index 76573fa9237a9185d7394df75ccaf75ea0230d7a..057114261d16433df166d7c549c8ba7fbed960e5 100644
--- a/roles/prometheus/templates/prometheus/prometheus.yml.j2
+++ b/roles/prometheus/templates/prometheus/prometheus.yml.j2
@@ -29,4 +29,17 @@ scrape_configs:
     file_sd_configs:
       - files:
         - '/etc/prometheus/targets.json'
-
+  - job_name: snmp
+    file_sd_configs:
+      - files:
+        - '/etc/prometheus/targets_snmp.json'
+    metrics_path: /snmp
+    params:
+      module: [if_mib]
+    relabel_configs:
+      - source_labels: [__address__]
+        target_label: __param_target
+      - source_labels: [__param_target]
+        target_label: instance
+      - target_label: __address__
+        replacement: 127.0.0.1:9116