Skip to content

Scheduler configuration

The scheduler is a service that manages schedules for SNMP WALKs and GETs. The definitions of the schedules are stored in MongoDB.

Scheduler configuration file

Scheduler configuration is kept in values.yaml file, in the section scheduler. values.yaml is used during the installation process to configure Kubernetes values.

See the following example:

scheduler:
  logLevel: "WARN"
  profiles: |
    test_profile:
      frequency: 5 
      condition: 
        type: "field" 
        field: "SNMPv2-MIB.sysDescr" 
        patterns: 
          - "^.*"
      varBinds:
          # Syntax: [ "MIB-Component", "MIB object name"[Optional], "MIB index number"[Optional]]
        - ["SNMPv2-MIB", "sysDescr",0]

Define log level

The log level for the scheduler can be set by changing the value for the logLevel key. The allowed values are DEBUG, INFO, WARNING, or ERROR. The default value is WARNING.

Define resource requests and limits

To change the resource requests ad limits for cpu and memory, modify the resources section of the scheduler configuration.

scheduler:
  # The following resource specification is appropriate for most deployments to scale the
  # Larger inventories may require more memory but should not require additional cpu
  resources:
    limits:
        cpu: 1
        memory: 1Gi
    requests:
      cpu: 200m
      memory: 128Mi

Define groups of hosts

For more information on when to use groups, see Configuring Groups.

See the following example of group configuration:

scheduler:
  groups: |
    example_group_1:
      - address: 123.0.0.1
        port: 161
      - address: 178.8.8.1
        port: 999
      - address: 12.22.23
        port: 161
        community: 'private'
    example_group_2:
      - address: 103.0.0.1
        port: 1161
        version: '3'
        secret: 'my_secret'
      - address: 178.80.8.1
        port: 999

The one obligatory field for the host configuration is address. If port is not configured its default value is 161. Other fields that can be modified are: community, secret, version, and security_engine. However, if they remain unspecified in the host configuration, they will be derived from the inventory record.

Define the expiration time for tasks

Define the time, in seconds, when polling or walk tasks will be revoked if they have not been picked up by the worker. See the celery documentation for more details.

scheduler:
  tasksExpiryTime: 300