Back to Checks
linode

Linode Instance has Watchdog (Lassie) enabled

compute_instance_watchdog_enabled
Service: computeSeverity: medium
OfficialBuilt-inVerified
Categories:resilience
Resource Type:NotDefined

Linode instances are assessed for Watchdog (Lassie) status. Watchdog is Linode's automatic recovery feature that monitors an instance and reboots it if it powers off unexpectedly, helping maintain availability without manual intervention.

Risk

With Watchdog (Lassie) disabled, an instance that crashes or shuts down unexpectedly stays offline until it is manually restarted. This prolongs downtime, delays detection of availability incidents, and weakens the availability of services running on the instance.

Run this check with Prowler

Run in Prowler Cloud
Run
prowler linode --checks compute_instance_watchdog_enabled

Recommendation

Enable Watchdog (Lassie) on this instance to automatically recover from unexpected shutdowns and improve availability protection.

Remediation

CLI

linode-cli linodes update <linode_id> --watchdog_enabled true

Other

1Log in to the Linode Cloud Manager
2Select the Linode instance
3Navigate to the Settings tab
4Enable the Shutdown Watchdog (Lassie) toggle

Check Code

from prowler.lib.check.models import Check, CheckReportLinode
from prowler.providers.linode.services.compute.compute_client import compute_client


class compute_instance_watchdog_enabled(Check):
    """Check if Linode instances have Watchdog (Lassie) enabled."""

    def execute(self) -> list[CheckReportLinode]:
        """Execute the compute_instance_watchdog_enabled check.

        Iterates over all Linode instances and checks whether Watchdog
        (Lassie) is enabled.

        Returns:
            list[CheckReportLinode]: A list of findings for each instance.
        """
        findings = []

        for instance in compute_client.instances:
            report = CheckReportLinode(
                metadata=self.metadata(),
                resource=instance,
                resource_name=instance.label,
                resource_id=str(instance.id),
                region=instance.region,
            )
            report.resource_tags = instance.tags

            if instance.watchdog_enabled:
                report.status = "PASS"
                report.status_extended = (
                    f"Instance {instance.label} has Watchdog (Lassie) enabled."
                )
            else:
                report.status = "FAIL"
                report.status_extended = f"Instance {instance.label} does not have Watchdog (Lassie) enabled."

            findings.append(report)

        return findings