Open-data ETL nodes must keep a logging agent installed and running after every reboot and package churn. Which state-management semantics should config management use?
Select an answer to reveal the explanation.
Short Explanation
You want the logging agent to stay installed and running, not just to have been installed once. Ensure-present and ensure-running semantics keep it in place through reboots and package churn, so your ETL pipelines remain observable.
Full Explanation
Open-data ETL nodes must keep a logging agent installed and running through reboots and package churn. Ensure-present semantics for the agent package and ensure-running semantics for its service continuously enforce that state, reinstalling or restarting the agent when drift occurs and preserving observability for pipelines that publish public datasets. Installing the agent once manually and never declaring it in the configuration system fails when an image refresh, disk cleanup, or mistaken uninstall removes it. Marking the agent optional so nodes may drop logging without alerting accepts silent blindness in an open-data path where integrity and auditability matter. Uninstalling logging agents weekly to shrink disk usage actively destroys telemetry needed to detect failed extracts and corrupt publishes. Exam caveat: ensure-present and ensure-running are necessary but not sufficient; manage agent configuration, including destinations, TLS, and dataset-name enrichment tags, as state, alert on service flaps, and pin versions when municipal change control requires it. Address disk pressure with log rotation and capacity management, not agent removal. Practical check: on a canary ETL node, declare the package and service state, stop the agent and remove the package, then converge and confirm the package returns and the service runs. Reboot and verify again, and confirm platform alerts fire if the agent is down between converges.