High-level deployment overview¶
This page shows how the osquery charm fits into a typical deployment.
The osquery charm is a subordinate that runs on the same machine as a principal
application. On each host, the charm installs and manages the osqueryd
daemon. Every agent connects outward over TLS to a centrally managed osquery
controller, which supplies the agents’ configuration and collects their logs.
flowchart TD
subgraph host1["Machine 1"]
principal1["Principal application unit"]
osquery1["osquery subordinate<br/>charm (osqueryd)"]
principal1 -.->|general-info| osquery1
end
subgraph host2["Machine 2"]
principal2["Principal application unit"]
osquery2["osquery subordinate<br/>charm (osqueryd)"]
principal2 -.->|general-info| osquery2
end
controller["osquery controller"]
osquery1 -->|TLS: enroll / config / logs| controller
osquery2 -->|TLS: enroll / config / logs| controller
Key points:
The
general-inforelation places one osquery subordinate unit on each principal machine. See Relation endpoints.Each
osquerydagent is configured from Juju configurations, which the charm renders into an osquery flagfile. See Configurations.All agents communicate with the osquery controller over TLS. The controller, not Juju, owns the fleet’s query schedules, telemetry rules, and log storage.
This charm targets osctrl as the controller. For how to deploy and operate it, see the osctrl documentation.