Websocket connection closed and integrations becoming unavailable

I’m running HA on VirtualBox, and I’m now on my 4th iteration. The last VM took a dump and was unrecoverable so I started a new instance with the latest OVA. Out of the gate I was getting various errors, ranging from connectivity, to delays in communication, to timeouts, which was a red flag. I thought I had fixed most of the errors, but it seems that now they’re getting worse.

In the previous iteration, I had no problems with the integrations, and device communication errors were minimal. Now, I’m seeing consistent websocket issues and integrations/devices in a “became unavailable” state. Checking the logs, I’m noticing that the became unavailable errors happen consistently either every 10 or 20 minutes, and on the 7’s or 8’s. And it’s messing with the automation timings.

turned on 10:58:04 PM - 3 minutes ago
became unavailable 10:57:43 PM - 4 minutes ago
turned on 10:48:14 PM - 13 minutes ago
became unavailable 10:47:43 PM - 14 minutes ago
turned on 10:08:31 PM - 1 hour ago
became unavailable 10:07:44 PM - 1 hour ago
turned on triggered by automation
triggered by time pattern 10:00:02 PM - 1 hour ago
turned off 9:58:04 PM - 1 hour ago
became unavailable 9:57:44 PM - 1 hour ago

I’m also seeing frequent websocket disconnects when browsing with the mobile app:

22-12-30 21:38:53 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
22-12-30 21:54:08 WARNING (MainThread) [supervisor.homeassistant.websocket] Connection is closed
22-12-30 21:54:23 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.RUNNING
22-12-30 21:54:24 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
22-12-30 21:54:26 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/home-assistant/addons repository
22-12-30 21:54:26 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/esphome/home-assistant-addon repository
22-12-30 21:54:26 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/hassio-addons/repository repository
22-12-30 21:54:26 INFO (MainThread) [supervisor.updater] Fetching update data from https://version.home-assistant.io/stable.json
22-12-30 21:54:31 INFO (MainThread) [supervisor.store] Loading add-ons from store: 68 all - 0 new - 0 remove
22-12-30 21:54:31 INFO (MainThread) [supervisor.store] Loading add-ons from store: 68 all - 0 new - 0 remove
22-12-30 21:54:55 WARNING (MainThread) [supervisor.misc.tasks] Watchdog miss API response from Home Assistant
22-12-30 22:08:56 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state CoreState.RUNNING
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.IPV4_CONNECTION_PROBLEM/ContextType.SYSTEM
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.DNS_SERVER_IPV6_ERROR/ContextType.DNS_SERVER
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.NO_CURRENT_BACKUP/ContextType.SYSTEM
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.SECURITY/ContextType.CORE
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.DNS_SERVER_FAILED/ContextType.DNS_SERVER
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.PWNED/ContextType.ADDON
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.SUPERVISOR
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.FREE_SPACE/ContextType.SYSTEM
22-12-30 22:36:52 INFO (MainThread) [supervisor.resolution.check] System checks complete

The Home Assistant Core logs are rife with errors. I can’t seem to pinpoint where the issue(s) are stemming from as they’re wide-ranging and numerous. This is by far the least stable iteration I’ve built, and I’m at a loss as to what the major problem is.