Deploying Telemetry Collector in Docker

Prev Next

This article explains how to deploy your Telemetry Collector using Docker.

Setting Up Your Telemetry Collector Working Directory

To prepare the working directory for your Telemetry Collector:

  1. Create a directory on your system where the Telemetry Collector will operate.
  2. Navigate to the newly created directory.
  3. In this directory, create a docker-compose.yml file that resembles the following:
services:
  telemetry-collector:
    container_name: "telemetry-collector"
    image: "gcr.io/sky-agents/agent-telemetry-amd64:r24.09"  
    environment:
      AGENT_MANAGEMENT_PROXY: "{{ sensorcollector-ip }}"
      AGENT_MANAGEMENT_PROXY_PORT: 55777
    ports:
      - "57000:57000"
    volumes:
      - ./secrets/secrets.yaml:/run/secrets/secrets.yaml
Notes:
  • AGENTMANAGEMENTPROXY corresponds to your local Sensor Collector. The {{ sensorcollector-ip }} placeholder should be replaced with the IP of your deployed Sensor Collector.
  • AGENTMANAGEMENTPROXY_PORT corresponds to the Agent Proxy port you chose when creating your Sensor Collector configuration. 55777 is the default value. However, if you choose something else, then this must match.
  • You will notice a volume mount which references a file on the host named ./secrets/secrets.yaml. That is covered in this article.

Starting the Telemetry Collector

You are now ready to start your Telemetry Collector. Run the following command to do so:

❯ docker compose up -d

If all went as expected, you should see Telemetry Collector logs indicating that your Telemetry Collector has started and connected both its Management and Data links to your Sensor Collector.

Logs to Monitor

These logs show our blue box app starting (telemetry is our application):

telemetry           Blue Box application Telemetry Collector
monitor             Received signal from ciscomdt, continuing start sequence!
monitor             Starting Telemetry
telemetry           Blue Box application starting on agent c390d231-1376-4aae-8a7b-59c0a77ed85e.
telemetry           Waiting for system
monitor             Startup sequence completed 

These show the Telemetry Collector successfully establishing its management connection with Sensor Collector:

management          Connecting to management server: host.docker.internal:55777; Attempt: 1
management          Connection to management established: Compression is Enabled
telemetry           ix Subscribe topic service/telemetry/config client telemetry
agentHealth         Starting CPU monitoring thread
management          Authenticating to management server: host.docker.internal:55777; Attempt: 1
management          Sending identification
management          Waiting for configuration
management          Authentication successful! 

These show the Telemetry Collector sending a configuration request to Provider Connectivity Assurance over the Sensor Collector Management link and getting back its configuration:

hs to si*"]   tag = "objectType"   template = 'cisco_mdt_interface'   [[processors.template]]   order = 3   n"interface_statistics/basic_interface_stats/bytes_received"     dest = "interface_statistics/full_interface_stats/bytes_received"   # Restricts the number of tags that can pass through this filter and chooses which tags to preserve when over the limit. [[processors.tag_limit]] order = 6   ## Maximum number of tags to preserve   limit = 4    ## List of tags to preferentially preserve   keep = ["sessionId", "sessionName", "objectType","direction"]
telemetry-agent  | 2024-04-12T15:44:17Z I! Config watcher started
telemetry-agent  | 2024-04-12T15:44:17Z I! Config watcher started
telemetry-agent  | 2024-04-12T15:44:17Z I! Loading config: /etc/Telemetry/Telemetry.conf

These show the Telemetry Collector successfully establishing its data connection with Sensor Collector:

data                Connecting to data broker: host.docker.internal:55888; Attempt: 0
I! Loading config: /etc/Telemetry/Telemetry.d/cisco_mdt_dialout.conf
I! Starting Telemetry 1.29.4 brought to you by InfluxData the makers of InfluxDB
I! Available plugins: 241 inputs, 9 aggregators, 30 processors, 24 parsers, 60 outputs, 6 secret-stores
I! Loaded inputs: cisco_telemetry_mdt
I! Loaded aggregators:
I! Loaded processors: rename starlark tag_limit template (8x)
I! Loaded secretstores:
I! Loaded outputs: health websocket
I! Tags enabled: host=telemetry-agent
I! [agent] Config: Interval:10s, Quiet:false, Hostname:"telemetry-agent", Flush Interval:10s
I! [outputs.health] Listening on http://[::]:57001
telemetry           Received connection request from Telemetry
telemetry           Listener connected to Telemetry instance
data                Connection to data broker established: Compression is Enabled
data                Waiting batches: 0
data                Authenticating data path: Attempt: 1
data                Broker message chunck size changed to 3000.
data                Sent authentication request, waiting for confirmation.
data                Authentication successful! 

These show the embedded Telemetry instance successfully starting:

I! Loading config: /etc/Telemetry/Telemetry.conf
I! Loading config: /etc/Telemetry/Telemetry.d/cisco_mdt_dialout.conf
I! Starting Telemetry 1.29.4 brought to you by InfluxData the makers of InfluxDB
I! Available plugins: 241 inputs, 9 aggregators, 30 processors, 24 parsers, 60 outputs, 6 secret-stores
I! Loaded inputs: cisco_telemetry_mdt
I! Loaded aggregators:
I! Loaded processors: rename starlark tag_limit template (8x)
I! Loaded secretstores:
I! Loaded outputs: health websocket
I! Tags enabled: host=telemetry-agent
I! [agent] Config: Interval:10s, Quiet:false, Hostname:"telemetry-agent", Flush Interval:10s
I! [outputs.health] Listening on http://[::]:57001
telemetry           Received connection request from Telemetry
telemetry           Listener connected to Telemetry instance
 

Your Telemetry Collector is now running and connected to Provider Connectivity Assurance via the Sensor Collector instance that you have deployed.

© 2025 Cisco and/or its affiliates. All rights reserved.

For more information about trademarks, please visit: Cisco trademarks
For more information about legal terms, please visit: Cisco legal terms

For legal information about Accedian Skylight products, please visit: Accedian legal terms and trademarks