An Azure service that is used to provision Windows and Linux virtual machines.
Microsoft documentation and multiple customer cases confirm that recurring “Agent Not Ready” on Linux VMs is typically caused by one or more of the following:
Azure Linux Agent (walinuxagent) is unstable, stopped, or corrupted - This often happens after OS patching, cleanup activities, or removal of required Python dependencies, which the Azure Linux Agent depends on. When the agent crashes or fails to start properly, Azure loses communication with the VM, leading to SSH failures and Agent Not Ready status. - https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/linux-azure-guest-agent
Agent auto‑update is disabled - If AutoUpdate.Enabled is not enabled in waagent.conf, the agent can become outdated or unstable after OS updates, causing repeated failures.
Low‑memory / burstable VM sizes (B‑series) - Microsoft has confirmed that B‑series VMs can intermittently enter an Agent Not Ready state under memory pressure, even when CPU usage appears normal. This is a known and documented behavior.
Blocked outbound connectivity to Azure infrastructure IP - The Azure Linux Agent must communicate with 168.63.129.16 (Azure Fabric Controller). If this IP is blocked by OS firewalls or routing rules, the agent will fail and show Not Ready.
To permanently resolve this issue and prevent recurrence, Microsoft recommends the following corrective actions:
Reinstall and stabilize the Azure Linux Agent
- Reinstall walinuxagent
- Ensure required Python packages are present
- Restart the agent service
- This is the primary fix when the issue repeatedly reappears after reboot.
- Enable Azure Linux Agent auto‑update
- Verify AutoUpdate.Enabled=y in /etc/waagent.conf
- This prevents agent drift and instability after OS updates.
- Review VM size
If the VM is on a B‑series SKU, consider resizing to a non‑burstable VM with sufficient memory. Microsoft confirms this resolves repeated Agent Not Ready conditions caused by memory starvation.
Validate outbound connectivity - Ensure 168.63.129.16 is not blocked at OS firewall or routing level
This IP is mandatory for agent health and VM management.
A restart temporarily resets the Azure Linux Agent process, which restores SSH access for some time. However, once the VM hits the same underlying condition (agent crash, dependency issue, or memory pressure), the agent fails again, and the issue reappears. This behavior is expected until the root cause is corrected - https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/linux-azure-guest-agent