collector: support custom poll intervals
Also simplify config context schema for SNMP since we only use a single instance.
This commit is contained in:
parent
be7eca3a89
commit
f3eec5fcbf
4 changed files with 21 additions and 16 deletions
|
|
@ -1,10 +1,14 @@
|
|||
{% set devices = query("netbox.netbox.nb_lookup", "devices", api_filter="{{ item.nb_filter }}", raw_data=true)
|
||||
{% set devices = query("netbox.netbox.nb_lookup", "devices", api_filter="{{ item.hosts }}", raw_data=true)
|
||||
| selectattr("primary_ip")
|
||||
| map(attribute="name")
|
||||
| map("extract", hostvars) -%}
|
||||
|
||||
scrape_configs:
|
||||
- job_name: "{{ item.name }}"
|
||||
{% if item.interval is defined %}
|
||||
scrape_interval: {{ item.interval }}s
|
||||
scrape_timeout: {{ item.interval // 5 }}s
|
||||
{% endif %}
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
regex: '([^.]+).*'
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
[[inputs.snmp]]
|
||||
interval = "300s"
|
||||
{% if snmp_interval is defined %}
|
||||
interval = "{{ snmp_interval }}s"
|
||||
{% endif %}
|
||||
agent_host_tag = "source"
|
||||
agents = [
|
||||
{% for item in snmp_hosts %}
|
||||
{% for address in query("netbox.netbox.nb_lookup", "devices", api_filter=item.nb_filter, raw_data=true)
|
||||
{% for address in query("netbox.netbox.nb_lookup", "devices", api_filter=snmp_hosts, raw_data=true)
|
||||
| selectattr("primary_ip4") | map(attribute="primary_ip4.address")
|
||||
| ipaddr("address") %}
|
||||
| ipaddr("int") | sort | ipaddr("address") %}
|
||||
"{{ address }}",
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
]
|
||||
version = 3
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue