Skip to content

External Interactions

This document describes external dependencies and prerequisites for this App to operate, including system requirements, API endpoints, interconnection or integrations to other applications or services, and similar topics.

External System Integrations

From the App to Other Systems

If specified, Telegraf configurations can be written to a Git Repo. This can be tied in with a tool like FluxCD to then update a Kubernetes cluster.

There are other possible ways to go from generating the configuration to a deployment, but that will vary depending on the organizations current Telegraf deployment and underlying infrastructure.

The Nautobot Netobs App tries to stay as impartial to ways to deploy Telegraf as possible, providing as many tools as possible to support various deployments.

Ports

  • Git: tcp/22 or tcp/443

Nautobot REST API endpoints

Documentation of the API is provided by OpenAPI (formerly Swagger) docs.

TOML API Retrieval

It is possible to directly get the TOML config via API for Telegraf's HTTP endpoint configuration. This is possible by using the api/plugins/netobs/toml-configs/<telegraf_agent_name>/ endpoint. This API endpoint is authenticated, so Telegraf will need to use a token to retrieve the configuration.

Prometheus Info Metrics

The Nautobot Netobs app will add the following metrics to the /api/plugins/capacity-metrics/app-metrics output if the Nautobot Capacity Metrics app is installed and configured.

The Nautobot Netobs app has the Nautobot Capacity Metrics app as a dependency, but it is up to the admin to enable it in the nautobot_config.py configuration.

In addition to metrics included in the Nautobot Capacity Metrics, end users can create informational metrics that can be accessed from /api/plugins/netobs/info-metrics/.

Registered Metrics

Below are the currently registered metrics for the Nautobot Netobs App:

Metric Name Type Labels Description
nautobot_netobs_agent_count Gauge agent_group, agent_group_id Gives a count of agents per agent group
nautobot_netobs_agent_group_device_count Gauge agent_group, agent_group_id Gives a count of devices per agent group
nautobot_netobs_agent_device_count Gauge agent, agent_id, agent_group, agent_group_id Gives a count of devices per agent
nautobot_netobs_agent_last_update Gauge agent, agent_id, agent_group, agent_group_id Last time the agent was saved in the database

Sample Prometheus Info Metrics

# HELP nautobot_netobs_agent_count number of agents per agent group
# TYPE nautobot_netobs_agent_count gauge
nautobot_netobs_agent_count{agent_group="Production",agent_group_id="f7228b50-24c1-4e00-9e30-bd5c3d690546"} 3.0
# HELP nautobot_netobs_agent_group_device_count number of devices per agent group
# TYPE nautobot_netobs_agent_group_device_count gauge
nautobot_netobs_agent_group_device_count{agent_group="Production",agent_group_id="f7228b50-24c1-4e00-9e30-bd5c3d690546"} 4.0
# HELP nautobot_netobs_agent_device_count number of devices per agent
# TYPE nautobot_netobs_agent_device_count gauge
nautobot_netobs_agent_device_count{agent="telegraf-production-01",agent_group="Production",agent_group_id="f7228b50-24c1-4e00-9e30-bd5c3d690546",agent_id="e6521fb5-9c08-472b-9372-1444d1517fa7"} 2.0
nautobot_netobs_agent_device_count{agent="telegraf-production-02",agent_group="Production",agent_group_id="f7228b50-24c1-4e00-9e30-bd5c3d690546",agent_id="215d75bc-0bd2-48bc-8fa9-7b5c631cd90a"} 1.0
nautobot_netobs_agent_device_count{agent="telegraf-production-03",agent_group="Production",agent_group_id="f7228b50-24c1-4e00-9e30-bd5c3d690546",agent_id="dff8fc9b-9c8b-43e2-9fa0-79b4eee724b6"} 1.0
# HELP nautobot_netobs_agent_last_update number of devices per agent
# TYPE nautobot_netobs_agent_last_update gauge
nautobot_netobs_agent_last_update{agent="telegraf-production-01",agent_group="Production",agent_group_id="f7228b50-24c1-4e00-9e30-bd5c3d690546",agent_id="e6521fb5-9c08-472b-9372-1444d1517fa7"} 1.677855220860188e+09
nautobot_netobs_agent_last_update{agent="telegraf-production-02",agent_group="Production",agent_group_id="f7228b50-24c1-4e00-9e30-bd5c3d690546",agent_id="215d75bc-0bd2-48bc-8fa9-7b5c631cd90a"} 1.67785522178409e+09
nautobot_netobs_agent_last_update{agent="telegraf-production-03",agent_group="Production",agent_group_id="f7228b50-24c1-4e00-9e30-bd5c3d690546",agent_id="dff8fc9b-9c8b-43e2-9fa0-79b4eee724b6"} 1.677855222691599e+09