20 lines
		
	
	
	
		
			613 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			613 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| {% set devices = query("netbox.netbox.nb_lookup", "devices", api_filter="{{ item.nb_filter }}", raw_data=true)
 | |
|     | selectattr("primary_ip")
 | |
|     | map(attribute="name")
 | |
|     | map("extract", hostvars) -%}
 | |
| 
 | |
| scrape_configs:
 | |
|   - job_name: "{{ item.name }}"
 | |
|     relabel_configs:
 | |
|       - source_labels: [__address__]
 | |
|         regex: '([^.]+).*'
 | |
|         target_label: name
 | |
|         replacement: ${1}
 | |
|     static_configs:
 | |
|       - targets:
 | |
| {% for address in devices
 | |
|     | selectattr("dns_name", "defined")
 | |
|     | map(attribute="dns_name")
 | |
|     | reject("none") | sort | unique %}
 | |
|           - "{{ address }}:9100"
 | |
| {% endfor %}
 |