## ===================================================================
## WARNING: SNMP DISCOVERY IS DISABLED BY DEFAULT
## To enable, change "disabled: yes" to "disabled: no" below
## AND configure proper credentials and networks
## ===================================================================

disabled: yes

discoverer:
  snmp:
    ## how often to scan the networks for devices (default: 30m)
    ## Set to 0 to perform a single discovery scan and exit
    #rescan_interval: "30m"

    ## the maximum time to wait for SNMP device responses (default: 1s)
    #timeout: "1s"

    ## How long to trust cached discovery results before requiring a new probe (default: 12h)
    ## Set to 0 to never expire cached results (devices will never be re-probed once discovered)
    #device_cache_ttl: "12h"

    ## how many IPs to scan concurrently within each subnet (default: 32)
    #parallel_scans_per_network: 32

    ## ==========================================================
    ## IMPORTANT: YOU MUST CONFIGURE YOUR OWN CREDENTIALS BELOW
    ## The example credentials will not work in most environments
    ## ==========================================================
    credentials:
      - name: "public-v2c"
        version: "2"
        community: "public"

      - name: "secure-v3"
        version: "3"
        ## one of: "noAuthNoPriv", "authNoPriv", or "authPriv"
        security_level: "authPriv"
        username: "admin"
        ##  one of: "md5", "sha", "sha224", "sha256", "sha384", "sha512"
        auth_protocol: "sha"
        auth_password: "secret123"
        ## one of: "des", "aes", "aes192", "aes256", "aes192C", "aes256C"
        priv_protocol: "aes"
        priv_password: "encrypt123"

    ## ========================================================
    ## IMPORTANT: YOU MUST CONFIGURE YOUR OWN NETWORKS BELOW
    ## By default, no networks will be scanned until configured
    ## Maximum size is limited to 512 IPs per subnet (/23 CIDR)
    ## ========================================================
    networks:
      ## Subnet is the IP range to scan, supporting various formats:
      ## https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/pkg/iprange#supported-formats
      - subnet: "192.168.1.0/24"
        ## Credential is the name of a credential from the Credentials list
        credential: "public-v2c"

services:
  - id: "snmp"
    match: '{{ true }}'
    config_template: |
      {{- if .SysInfo.Name }}
      name: {{ .SysInfo.Name }}-ip-{{ .IPAddress }}
      {{- else }}
      name: ip-{{ .IPAddress }}
      {{- end }}
      hostname: {{ .IPAddress }}
      options:
        version: {{ .Credential.Version }}
      {{- if eq .Credential.Version "1" "2" "2c" }}
      community: {{ .Credential.Community }}
      {{- else }}
      user:
        name: {{ .Credential.UserName }}
        level: {{ .Credential.SecurityLevel }}
        auth_proto: {{ .Credential.AuthProtocol }}
        auth_key: {{ .Credential.AuthPassphrase }}
        priv_proto: {{ .Credential.PrivacyProtocol }}
        priv_key: {{ .Credential.PrivacyPassphrase }}
      {{- end }}
