[prometheus] Install snmp export
							parent
							
								
									78e1e38b7b
								
							
						
					
					
						commit
						844c485bba
					
				| 
						 | 
				
			
			@ -27,6 +27,9 @@
 | 
			
		|||
          job: prometheus
 | 
			
		||||
        targets:
 | 
			
		||||
          - localhost:9090
 | 
			
		||||
    prometheus_snmp_targets:
 | 
			
		||||
      - targets:
 | 
			
		||||
          - pulsar.adm.crans.org
 | 
			
		||||
  roles:
 | 
			
		||||
    - prometheus
 | 
			
		||||
    - prometheus-alertmanager
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
- name: Restart prometheus-node-exporter
 | 
			
		||||
  service:
 | 
			
		||||
    name: prometheus-node-exporter
 | 
			
		||||
    state: restarted
 | 
			
		||||
| 
						 | 
				
			
			@ -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:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,3 +3,8 @@
 | 
			
		|||
  service:
 | 
			
		||||
    name: prometheus
 | 
			
		||||
    state: restarted
 | 
			
		||||
 | 
			
		||||
- name: Restart prometheus-snmp-exporter
 | 
			
		||||
  service:
 | 
			
		||||
    name: prometheus-snmp-exporter
 | 
			
		||||
    state: restarted
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue