Most monitoring tools only watch what's visible from the outside. CuliPulse agents run inside your network — on a server, a VM, a container — so you can watch private databases, internal APIs, LAN devices, and anything else that never sees a public IP. No VPN tunnels. No firewall holes. Just a small process that calls home.
A public-internet monitor can only reach what's publicly routable. That leaves out your internal Postgres instance, the Redis cluster on your private subnet, the API gateway that only accepts traffic from within your VPC, and every router, switch, or device that sits behind a firewall. An agent on your network can reach all of them.
Watch MySQL, Postgres, Redis, MongoDB, and any other database that listens on a private IP — TCP connection or ICMP ping. No need to open them to the internet.
Monitor HTTP endpoints that only respond to traffic from inside your network — staging APIs, internal dashboards, health endpoints that aren't public-facing.
Ping routers, switches, and hardware devices on your local network. Get packet loss, RTT, and jitter — not just a red/green light.
The agent connects out to CuliPulse over HTTPS, picks up its schedule, runs the checks, and sends results back — all over the same outbound connection your browser uses. No inbound traffic. No listening port. Nothing for an attacker to probe from outside. Your network stays exactly as locked down as it was before.
The agent is a single small binary — no runtime, no dependencies. Run it as a Docker container, a native systemd service (no Docker needed), or on Kubernetes — whichever fits your stack. Runs on every major Linux distro — Ubuntu, Debian, Amazon Linux, RHEL/Rocky, Alpine — on amd64 and arm64.
docker run -d --name culipulse-agent \ -e CULIPULSE_API_URL=https://culipulse.dev \ -e CULIPULSE_AGENT_TOKEN=<your-token> \ ghcr.io/culiops/culipulse-agent:latest
curl -fsSL https://culipulse.dev/install.sh \ | sudo CULIPULSE_API_URL=https://culipulse.dev CULIPULSE_AGENT_TOKEN=<your-token> sh
# The Connect screen generates the manifest for you. # Copy the YAML (Secret + Deployment), then apply: kubectl apply -f agent.yaml
kubectl apply -f -. Deploy as a Deployment (single agent per cluster) or DaemonSet (one per node).The agent connects within a few seconds of starting. The dashboard shows it as connected, lists the capabilities it advertised (HTTP, TCP, ICMP, UDP), and starts running checks immediately. No restart, no reload — it just works.
Private networks are full of services nobody wrote down. Tell an agent to scan a CIDR block and it finds every open port on every host. Point it at AWS and it maps EC2 instances, RDS databases, load balancers, and ElastiCache clusters automatically. You pick what to adopt as monitors — one click per service.
Give the agent a subnet like 10.0.1.0/24 and it port-scans every host, identifying open TCP services. Review the results and adopt any of them as monitors in a click.
Connect your AWS account and the agent maps EC2, RDS, ElastiCache, and ALBs across regions. New resources appear in the discovery queue automatically — adopt them before a user notices they're down.
Add an agent to any machine on your network, assign monitors to it, and get the same reliable alerts you'd expect for a public website — for every private service you depend on.
Start free