Skip to content

NetObs

Below is a diagram showing how the NetObs Models interact:

flowchart TD
  A(NetObs Agent Groups) --- B(NetObs Agents);
  A --- C(NetObs Plugin Groups);
  C --- E(NetObs Plugins);
  E --- F(NetObs Plugin Schemas);
  A --- D(NetObs Templates);
  A --- G(NetObs JSON Data);
  click A "#netobs-agent-groups"
  click B "#netobs-agents"
  click C "#netobs-config-groups"
  click D "#netobs-templates"
  click E "#netobs-plugins"
  click F "#netobs-plugin-schemas"
  click G "#netobs-json-data"

It is easiest to describe the use and functionality of each model from the bottom first.

NetObs Models

NetObs Plugin Schemas

NetObs Plugin Schemas are JSON schemas that represent a Telegraf plugin configuration option. When adding or updating a schema, only the parts relevant to the Telegraf plugin are needed. Once saved, the schema will be merged with existing schemas adding in the common functionalities of the type of plugin (input plugins have certain fields they can use while outputs may have some different fields).

NetObs Plugins

NetObs Plugins contain the JSON data specific to a plugin. This is the actual data that is used to create the Telegraf config.

For instance you may have a GNMI Plugin Schema with 3 different GNMI plugins: Cisco IOS-XR - GNMI - BGP, Cisco IOS-XR - GNMI - Interface, and Juniper JUNOS - GNMI - BGP.

NetObs Plugin Groups

NetObs Plugin Groups contain one or more NetObs Plugins and have a Dynamic Group. This allows you to have multiple NetObs Plugins under a specific config group allowing you to keep plugins separated.

A common use case for NetObs Plugin Groups would be:

Plugin Group Name Dynamic Group Sample Plugins
Cisco IOS-XR DG - Cisco IOS-XR BGP, Interfaces, IS-IS, System, Licensing
Juniper Junos DG - Juniper BGP, Interfaces, IS-IS, System
Nokia SROS DG - Nokia BGP, Interfaces, IS-IS, MPLS, LDP, System
Common DG - All Devices NetObs Internal, Net Response (22), Ping, Prometheus

NetObs JSON Data

NetObs JSON Data is common configuration snippets that keep data consistent across all plugins. This could be things like polling intervals, SNMP community strings, GNMI username and passwords, etc.

NetObs Templates

NetObs Templates allow for writing extra template files not necessarily for the purpose of a Telegraf config, but necessary to it's operation. Templates can be used to generate Kubernetes kustomization.yaml files or docker-compose files.

Note

NetObs Templates only get created if a Generated Config Repository is set under the NetObs Agent Group.

NetObs Agents

NetObs Agents are the Telegraf configs that will get generated. Each NetObs Agent has 1 or more devices associated to it that it will poll. Assigning devices to agents is handled as part of a job. Manual additions of devices to an agent are possible, but may get overwritten by the Telegraf Pipeline Job.

NetObs Agent Groups

NetObs Agent Groups are groups of similar NetObs Agents. This makes it possible to have multiple pools of NetObs agents with different purposes.

Two common use cases for multiple NetObs Agent Groups are:

  • Test and Prod versions
  • Region based Agents (NA NetObs Agent Group, EU NetObs Agent Group, APAC NetObs Agent Group, etc.)