Overview
Distributed Telemetry (DT) is UFM Telemetry mode when the whole fabric telemetry is sampled from managed switches and hosts.
-
Managed switch samples itself and hosts connected directly to it
-
Each managed switch TI reports to one of several host TIs via MADs
-
If a fabric GUID/Port can be sampled, but not sampled by a switch, host TI will sample it.
The whole process is orchestrated by UFM Telemetry Manager (UTM) on the top load balancer.
Switch telemetry is organized as a docker container (Switch Agent) with a telemetry package inside.
Terminology
Switch Telemetry docker image contains:
-
Switch Agent is an HTTP server running inside of the container.
-
Switch Telemetry Instance (Switch TI) that can be started or stopped within the container
To deploy/remove Switch Agent = to deploy/remove Switch Telemetry Container.
Deployment
The deployment process is described in UFM Telemetry Manager (UTM).
Switch Telemetry docker image is being docker pulled by the deployment script.
After preparing the setup enable Distributed Telemetry in utm_config.ini , as explained in the chapter Configuration File .
Running Distributed telemetry via HTTP API
For the sake of simplicity, the commands are listed here in UTM standalone mode only.
UTM HTTP API access depends on the UTM run mode. Please refer to the section REST API of UFM Telemetry Manager (UTM) for more details.
To get help for all HTTP API endpoints use /help endpoint:
curl -sk https://127.0.0.1:8888/help
UTM HTTP API allows users to:
-
get the status of Switch Agent/Telemetry instances
-
deploy/remove Switch Agent containers
-
start/stop Switch Telemetry inside of deployed containers
-
set switches IP list to be periodically monitored.
Recommended flow to work with Distributed Telemetry:
-
Deploy:
-
Cleanup:
Detailed instructions for Switch Agent and Switch Telemetry are listed in the following subsections.
API for Switch Agents
-
Get the status of the managed switches in JSON format.
Bash# all managed switches curl -sk https://127.0.0.1:8888/managed_switches_status # managed switches set to periodic monitoring only: curl -sk https://127.0.0.1:8888/managed_switches_status?monitored_only=1
/statusendpoint provides JSON object per managed switch, which shows basic info about the switch, status of Switch Agent, and Switch Telemetry (If Switch Agent is installed to the switch).
-
In the case of non-default switch credentials, upload them into UTM.
Bashcurl -s http://127.0.0.1:8888/set_switch_creds?ip={SWITCH_IP}&user={SWITCH_USER}&pass={SWITCH_PASSWORD}"
-
Set switch IP list for periodic monitoring. Monitoring updates switch information for
/managed_switches_statusendpoint.Bash# monitor only IP1,IP2: curl -sk https://127.0.0.1:8888/switch_mon_list?ip_list=IP1,IP2 # monitor all managed switches curl -sk https://127.0.0.1:8888/switch_mon_list?ip_list=all
-
Deploy switch agents to a list of managed switches.
Bash# deploy to all the managed switches: curl -sk https://127.0.0.1:8888/deploy_switch_agents?ip_list=all # deploy to switches with IPs IP1 and IP2: curl -sk https://127.0.0.1:8888/deploy_switch_agents?ip_list=IP1,IP2
-
Remove switch agents from a list of managed switches
Bash# deploy to all the managed switches: curl -sk https://127.0.0.1:8888/remove_switch_agents?ip_list=all # deploy to switches with IPs IP1 and IP2: curl -sk https://127.0.0.1:8888/remove_switch_agents?ip_list=IP1,IP2
API for Switch Telemetry:
-
Start switch telemetry. Note at least one managed host TI should run.
Bash# for all running Switch Agents curl -sk https://127.0.0.1:8888/start_switch_telemetry # at a specific switch IP: curl -sk https://127.0.0.1:8888/start_switch_telemetry?ip=IP1
-
Stop switch telemetry:
Bash# for all running Switch Agents curl -sk https://127.0.0.1:8888/stop_switch_telemetry at a specific switch IP: curl -sk https://127.0.0.1:8888/stop_switch_telemetry?ip=IP1
Last updated: