CloudLensLive Console
WATCH IT DEPLOY · REAL CAPTURED RUN

Deploy it for real.
Watch every step.

Pick a flow, fill in your details, and run it against your own AWS account. The diagram wires itself up from real state, the narration explains each step as it happens, and the console shows the raw truth underneath.

deploy-stack.sh
elapsed0:00
created0
idle
Narration will appear here as each step runs — with the why behind it.
Raw output

Inputs

Four paths, one console

From an empty account to live packets on a tool.

Each path runs the exact automation an SE runs from the CLI — wrapped so you can watch it, explain it, and hand it to a customer. Run any of them above; the detail for each is below.

Path 01 · Infrastructure

Launch the full stack.

One CloudFormation deploy (or Terraform) brings up the VPC and all three appliances from the AWS Marketplace, across twelve regions. It fails fast on Elastic-IP quota so you never burn instance-hours on a doomed run.

CloudFormation or Terraform 12 regions brownfield or new VPC non-admin friendly
# from AWS CloudShell — zero local setup $ curl -sSL https://keysight-tech.github.io/cloudlens-ansible-aws/deploy-stack.sh | bash
  1. Network foundationVPC, gateway, and the mgmt / data / tool subnets.
  2. Elastic-IP pre-checkReserved first — an over-quota account fails in seconds.
  3. vController (CLMS)The control plane every sensor registers to.
  4. KVOThe single pane that adopts the manager, the vPB, and drives mirroring.
  5. vPBThe virtual packet broker that filters and forwards to your tools.
CREATE_COMPLETE is not "ready to log in." The appliances need ~15 minutes to initialize before the UI accepts a login.
Path 02 · Direct

Register sensors into CloudLens Manager.

The simplest model — no KVO. Ansible pushes the sensor to every tagged host and each one self-registers. One tag (cloudlens=yes) drives the whole fleet.

UBUNTU / DEBIAN

Docker

Insecure registry pull, then docker run …/sensor --ssl_verify no. Registers with HTTP 200.

RHEL

Podman

RHEL 9 ships Podman, not Docker — podman pull --tls-verify=false, and the run drops the docker.sock mount.

WINDOWS

Native service

Silent install of cloudlens-win-sensor.exe via SSM; the service is named CloudLens (not CloudLensAgent).

The project key is pulled automatically — the forced first-login password change on the vController is handled for you, so the key you hand to Ansible always works.
Path 03a · Orchestration

Bring the manager under KVO.

KVO becomes the single pane. Every UI "button" is scripted: accept the EULA, activate licenses, create the KVO user on the CLMS, adopt it, and provision the working project key through a Cloud Config.

  1. Accept the EULAKVO redirects every path until this is done — a legal acceptance, gated behind a flag.
  2. Activate licensesAn unlicensed KVO refuses every write. Codes activate via the licensing API.
  3. Adopt the CLMScreateCloudLensManager, commit the change request, wait for CONNECTED.
  4. Cloud ConfigThis step provisions the real CLM project and the sensor key — skip it and the key is a phantom.
Path 03b · Packet broker

Adopt the vPB and wire the path.

The vPB self-announces to KVO, is auto-licensed on adoption, and comes up Online — then KVO builds its Device Config and you bind the traffic path: ingress → filter → egress → tool.

# the vПB `kvo` command is an interactive CONTEXT, not flat CloudLensVPB# kvo CloudLensVPB-kvo# ip <kvo-ip> CloudLensVPB-kvo# port 443 CloudLensVPB-kvo# enable → KVO enabled
  1. Announce & adoptThe vPB appears in Inventory → Auto Discovery; adopt with control.
  2. Auto-licensed, OnlineKVO consumes a device license and builds the Device Config automatically.
  3. Bind portseth1 ingress → Cloud-to-Device Link, eth2 egress → tool.
  4. Monitoring policysource → vPB → tool: KVO collects, filters, and dumps to the tool.
Path 04 · Agentless — the big one

Mirror traffic with zero agents.

No sensor in the guest. KVO deploys collector Service VMs and drives AWS VPC Traffic Mirroring — AWS copies traffic from every selected Nitro source ENI to the collectors, which forward it to your tool. Real AWS resources: mirror targets, filters, and one session per source ENI.

Nitro sources only opt-in least-privilege IAM tag cloudlens=yes auto-scaled collectors
SELECT

By tag

KVO matches Nitro instances tagged cloudlens=yes. Non-Nitro hosts can't be tapped — put sensors on those.

DEPLOY

Collectors

An auto-scaling group of collector Service VMs comes up per zone, from the Keysight Marketplace image, resolved per region.

MIRROR

Sessions

KVO creates a Traffic Mirror target + filter, then one session per source ENI — visible in VPC → Traffic Mirroring.

Mix and match: mirror the Nitro hosts agentlessly and put sensors on the rest — both land under the same CLM/KVO project.
Proof, not promises

Verify at every hop.

Nothing is "done" until it shows up where it matters. The console holds this bar too — every step maps to a real state, and it says waiting rather than faking progress.

SENSORS

In the manager

Each host returns HTTP 200 at agent/register; the project's sensor count climbs as they check in.

VPB

Online in KVO

Inventory → Devices shows the vPB Online, auto-licensed, with its Device Config and bound ingress/egress ports.

MIRROR

Sessions in AWS

describe-traffic-mirror-sessions lists one session per Nitro source ENI pointing at the collector target.

Reference

The details you'll reach for.

ItemValueNotes
vController web UIadmin / Cl0udLens@dm!nWeb login only. The console/CLI login is a different passphrase — change on first use.
KVO web UIadmin / adminAccept the EULA and activate licenses before any write.
vPB SSH (AWS)ssh -p 9022 admin@…Then the kvo context: ip / port 443 / enable — not flat commands.
Source selectiontag cloudlens=yesSame tag drives the sensor and the agentless mirror paths.
AWS mirroringNitro instances onlyt3 / m5 / c5 / r5 and newer are Nitro; describe-instance-types … Hypervisor confirms.
Key network ports443 · 9022 · 8443443 CLMS/KVO API · 9022 vPB SSH · 8443 KVO↔collector (open in the SG).
Troubleshoot

When it doesn't go clean.

"Maximum addresses reached"

Elastic-IP quota (default 5/region). Release orphaned EIPs from console-terminated instances, or raise the limit — the stack's pre-check catches it in seconds.

vPB never shows in KVO

Run the kvo commands inside the context (not flat kvo ip), and confirm the mgmt network reaches KVO on 443. It self-announces from there.

No mirror sessions

Sources must be Nitro, KVO needs the Zone-Tapping IAM, and 8443 must be open KVO↔collector. Confirm the collector registered before expecting sessions.