1
0
Files
homelab-public-context/runtime/latest.json
T
2026-09-23 12:48:47 +00:00

39 lines
42 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "SUPPORT-260923-SKLADCHIK-MONITOR-RC1-EXACT-RCA-949R1",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "read-only",
"component": "skladchik-monitor-rc1-exact-rca",
"started_at_utc": "2026-09-23T12:48:44Z",
"finished_at_utc": "2026-09-23T12:48:46Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "f1244eee27a42e001f70047b3e75208f6e6e7537446cbb79923772284cfbb355",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": false,
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 0,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
"mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "da731d0d3687f12e4894e8887244b97bd5d0742cfcefa8c54f5dad5b0d49430a",
"sanitized_output_sha256": "2a6089fa90db67c2c3c7446a49aa9fdecd5f421461c1765c3f6c952eb95e65f8",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "SKLADCHIK949_BEGIN=true\nCOMMAND_ID=SUPPORT-260923-SKLADCHIK-MONITOR-RC1-EXACT-RCA-949R1\nMODE=read-only\nCOMPONENT=skladchik-monitor-rc1-exact-rca\nPREDECESSOR_948=EDGE_PYTHON_C_QUOTING_FAILED_NO_MUTATION\nMUTATION_BOUNDARY=NONE_READ_ONLY\nEDGE_PARSE_OK=true\nKNOWN_HOSTS_PARSE_OK=true\nKNOWN_HOSTS_EXISTS=true\nEDGE_RCA_RC=0\nEDGE_MONITOR_RCA_BEGIN=true\nMONITOR_PRESENT=true\nMONITOR_SHA256=bf3a47cf3c53a4efa1f49322f96203a24b9077ea64547162e64c5d3d3326d0ff\nMONITOR_BYTES=25677\nMONITOR_LINES=645\nMONITOR_AST=PASS\nFUNCTION=utc_now|start=51|end=52\nFUNCTION=log|start=55|end=58\nFUNCTION=write_health|start=61|end=67\nFUNCTION=read_env|start=70|end=84\nFUNCTION=load_config|start=87|end=104\nFUNCTION=connect_db|start=107|end=139\nFUNCTION=meta_get|start=142|end=144\nFUNCTION=meta_set|start=147|end=149\nFUNCTION=event_sent|start=152|end=153\nFUNCTION=mark_event|start=156|end=161\nFUNCTION=cookie_jar_summary|start=164|end=238\nFUNCTION=fmt_ts|start=165|end=166\nFUNCTION=fetch_reports_page|start=241|end=287\nFUNCTION=login_required|start=289|end=299\nFUNCTION=strip_tags|start=302|end=305\nFUNCTION=full_url|start=308|end=309\nFUNCTION=section_positions|start=312|end=329\nFUNCTION=parse_int|start=332|end=334\nFUNCTION=parse_reports|start=337|end=395\nFUNCTION=title_needs_detail|start=398|end=401\nFUNCTION=extract_report_detail_title|start=403|end=414\nFUNCTION=fetch_report_detail_title|start=416|end=426\nFUNCTION=smtp_ready|start=428|end=429\nFUNCTION=send_mail|start=432|end=456\nFUNCTION=status_label|start=459|end=464\nFUNCTION=report_subject|start=467|end=473\nFUNCTION=report_body|start=476|end=488\nFUNCTION=process_reports|start=491|end=539\nFUNCTION=maybe_send_auth_required|start=542|end=562\nFUNCTION=acquire_lock|start=565|end=572\nFUNCTION=run_once|start=575|end=624\nFUNCTION=show_status|start=627|end=632\nFUNCTION=main|start=635|end=641\nRELEVANT_SOURCE_BEGIN\n0002:\"\"\"Skladchik XenForo reports monitor.\n0004:Polls /reports/, stores report state in SQLite, and sends SMTP notifications for:\n0005:- new open reports;\n0006:- reports that moved from open to resolved.\n0008:Uses only Python standard library. Authentication is via a browser Cookie header\n0009:stored in /etc/skladchik-reports-monitor/secrets.env as SKLADCHIK_COOKIE.\n0013:import argparse\n0029:import urllib.error\n0030:import urllib.parse\n0031:import urllib.request\n0035:APP = \"skladchik-reports-monitor\"\n0036:CONFIG_PATH = Path(\"/etc/skladchik-reports-monitor/config.ini\")\n0037:SECRETS_PATH = Path(\"/etc/skladchik-reports-monitor/secrets.env\")\n0038:BASE_DIR = Path(\"/var/lib/skladchik-reports-monitor\")\n0039:LOG_DIR = Path(\"/var/log/skladchik-reports-monitor\")\n0041:HEALTH_PATH = BASE_DIR / \"health.txt\"\n0042:COOKIE_JAR_PATH = BASE_DIR / \"cookies.jar\"\n0044:LOCK_PATH = Path(\"/run/skladchik-reports-monitor.lock\")\n0047:class MonitorError(Exception):\n0052: return dt.datetime.now(dt.UTC).replace(microsecond=0).isoformat().replace(\"+00:00\", \"Z\")\n0061:def write_health(status: str, **kv: Any) -> None:\n0063: lines = [f\"STATUS={status}\", f\"TS={utc_now()}\"]\n0067: HEALTH_PATH.write_text(\"\\n\".join(lines) + \"\\n\", encoding=\"utf-8\")\n0073: return data\n0084: return data\n0090: \"reports_url\": \"https://v32.skladchik.org/reports/\",\n0091: \"base_url\": \"https://az52.skladchik.org\",\n0093: \"user_agent\": \"Mozilla/5.0 SkladchikReportsMonitor/1.0\",\n0104: return cfg, read_env(SECRETS_PATH)\n0111: CREATE TABLE IF NOT EXISTS reports (\n0112: report_id TEXT PRIMARY KEY,\n0115: status TEXT NOT NULL,\n0116: report_count INTEGER,\n0127: report_id TEXT,\n0139: return con\n0144: return row[0] if row else None\n0153: return con.execute(\"SELECT 1 FROM events WHERE event_key=?\", (key,)).fetchone() is not None\n0156:def mark_event(con: sqlite3.Connection, key: str, report_id: str | None, event_type: str) -> None:\n0158: \"INSERT OR IGNORE INTO events(event_key,report_id,event_type,sent_at) VALUES(?,?,?,?)\",\n0159: (key, report_id, event_type, utc_now()),\n0164:def cookie_jar_summary() -> dict[str, str]:\n0166: return dt.datetime.fromtimestamp(epoch, dt.UTC).replace(microsecond=0).isoformat().replace(\"+00:00\", \"Z\")\n0169: \"session_keepalive\": \"persistent_cookie_jar\",\n0170: \"cookie_expiry_warning_days\": \"7\",\n0173: if not COOKIE_JAR_PATH.exists():\n0175: \"cookie_jar\": \"no\",\n0176: \"cookie_jar_bytes\": \"0\",\n0177: \"cookie_persistent_count\": \"0\",\n0178: \"cookie_session_count\": \"0\",\n0179: \"cookie_expiry_status\": \"NO_COOKIE_JAR\",\n0181: return summary\n0183: st = COOKIE_JAR_PATH.stat()\n0185: \"cookie_jar\": \"yes\" if st.st_size > 0 else \"empty\",\n0186: \"cookie_jar_bytes\": str(st.st_size),\n0187: \"cookie_jar_mtime\": fmt_ts(int(st.st_mtime)),\n0193: for raw in COOKIE_JAR_PATH.read_text(encoding=\"utf-8\", errors=\"replace\").splitlines():\n0195: if not line or line.startswith(\"#\") and not line.startswith(\"#HttpOnly_\"):\n0204: except ValueError:\n0211: summary[\"cookie_persistent_count\"] = str(len(persistent))\n0212: summary[\"cookie_session_count\"] = str(session_count)\n0218: \"cookie_expiry_utc\": fmt_ts(max_exp),\n0219: \"cookie_earliest_expiry_utc\": fmt_ts(min_exp),\n0220: \"cookie_expires_in_seconds\": str(left),\n0221: \"cookie_expires_in_days\": str(max(0, left) // 86400),\n0224: status = \"EXPIRED\"\n0226: status = \"WARN\"\n0228: status = \"OK\"\n0229: summary[\"cookie_expiry_status\"] = status\n0232: \"cookie_expires_in_seconds\": \"0\",\n0233: \"cookie_expires_in_days\": \"0\",\n0234: \"cookie_expiry_status\": \"NO_PERSISTENT_COOKIE\",\n0236: return summary\n0237: except Exception as e:\n0238: return {\"session_keepalive\": \"persistent_cookie_jar\", \"cookie_jar\": \"error\", \"cookie_jar_error\": repr(e), \"cookie_expiry_status\": \"ERROR\"}\n0241:def fetch_reports_page(cfg: configparser.ConfigParser, secrets: dict[str, str]) -> tuple[str, str]:\n0242: \"\"\"Fetch reports page with a persistent curl cookie jar.\n0244: This is the important part for \"no monthly relogin\": XenForo refreshes cookies during\n0245: normal authenticated requests. The monitor now keeps /var/lib/skladchik-reports-monitor/cookies.jar\n0246: and uses it on every 30-second poll, so Set-Cookie updates are preserved instead of being\n0249: url = cfg[\"forum\"].get(\"reports_url\", \"https://v32.skladchik.org/reports/\")\n0250: user_agent = cfg[\"forum\"].get(\"user_agent\", \"Mozilla/5.0 SkladchikReportsMonitor/1.0\")\n0251: initial_cookie = [REDACTED] or secrets.get(\"COOKIE\") or \"\"\n0255: if COOKIE_JAR_PATH.exists():\n0256: os.chmod(COOKIE_JAR_PATH, 0o600)\n0257: except Exception:\n0259: with tempfile.TemporaryDirectory(prefix=\"skladchik-reports-\") as tmp:\n0260: html_path = str(Path(tmp) / \"reports.html\")\n0261: if COOKIE_JAR_PATH.exists() and COOKIE_JAR_PATH.stat().st_size > 0:\n0262: cookie_source = str(COOKIE_JAR_PATH)\n0263: elif initial_cookie:\n0264: cookie_source = initial_cookie\n0266: cookie_source = \"\"\n0268: \"curl\", \"-4\", \"-sS\", \"-L\", \"--max-redirs\", \"12\", \"--http1.1\",\n0271: \"-b\", cookie_source,\n0272: \"-c\", str(COOKIE_JAR_PATH),\n0279: if COOKIE_JAR_PATH.exists():\n0280: os.chmod(COOKIE_JAR_PATH, 0o600)\n0281: except Exception:\n0284: raise MonitorError(f\"curl_failed rc={result.returncode} stderr={result.stderr[-500:]}\")\n0287: return final_url, body.decode(\"utf-8\", errors=\"replace\")\n0289:def login_required(final_url: str, text: str) -> bool:\n0292: return (\n0293: \"/login\" in lower_url\n0294: or \"name=\\\"login\\\"\" in lower\n0295: or \"name='login'\" in lower\n0298: or (\"войти\" in lower and \"пароль\" in lower and \"/reports\" not in lower_url)\n0305: return re.sub(r\"\\s+\", \" \", html_lib.unescape(fragment)).strip()\n0309: return urllib.parse.urljoin(base_url.rstrip(\"/\") + \"/\", href)\n0329: return open_pos, closed_pos\n0334: return int(match.group(1)) if match else None\n0337:def parse_reports(text: str, cfg: configparser.ConfigParser) -> list[dict[str, Any]]:\n0338: base_url = cfg[\"forum\"].get(\"base_url\", \"https://az52.skladchik.org\")\n0341: pattern = re.compile(r\"(?is)<a\\b[^>]*href=[\\\"']([^\\\"']*?reports/(\\d+)/?[^\\\"']*)[\\\"'][^>]*>(.*?)</a>\")\n0343: href, report_id, title_html = match.group(1), match.group(2), match.group(3)\n0345: if not title or title.lower() in {\"жалобы\", \"reports\", \"обработанные жалобы\"}:\n0349: # XenForo reports are <li id=\"report-123\" class=\"... report-open/report-assigned/report-resolved\">.\n0374: if \"report-resolved\" in row_class:\n0375: status = \"resolved\"\n0376: elif \"report-open\" in row_class or \"report-assigned\" in row_class:\n0377: status = \"open\"\n0379: status = \"resolved\"\n0381: status = \"open\"\n0384: report_count = parse_int(r\"Жалоб[аы]?:\\s*(\\d+)\", row_text)\n0386: results[report_id] = {\n0387: \"report_id\": report_id,\n0390: \"status\": status,\n0391: \"report_count\": report_count,\n0395: return sorted(results.values(), key=lambda x: int(x[\"report_id\"]))\n0401: return (not value) or lower.startswith((\"сегодня в \", \"вчера в \")) or bool(re.fullmatch(r\"\\d{1,2}\\s+[A-Za-zА-Яа-яЁё.]+\\s+\\d{4}\\s+в\\s+\\d{1,2}:\\d{2}\", value, flags=re.I))\n0403:def extract_report_detail_title(text: str, fallback: str) -> str:\n0413: return candidate\n0414: return fallback\n0416:def fetch_report_detail_title(cfg: configparser.ConfigParser, auth: dict[str, str], url: str, fallback: str) -> str:\n0417: old_url = cfg[\"forum\"].get(\"reports_url\", \"\")\n0419: cfg[\"forum\"][\"reports_url\"] = url\n0420: _, detail_text = fetch_reports_page(cfg, auth)\n0421: return extract_report_detail_title(detail_text, fallback)\n0422: except Exception as exc:\n0424: return fallback\n0426: cfg[\"forum\"][\"reports_url\"] = old_url\n0429: return bool(secrets.get(\"SMTP_HOST\") and secrets.get(\"SMTP_TO\") and secrets.get(\"SMTP_FROM\"))\n0435: return False\n0454: server.login(user, smtp_pass)\n0456: return True\n0459:def status_label(status: str) -> str:\n0460: if status == \"open\":\n0461: return \"Открыта / в работе\"\n0462: if status == \"resolved\":\n0463: return \"Отработана / закрыта\"\n0464: return status\n0467:def report_subject(action: str, report: dict[str, Any], title_limit: int = 140) -> str:\n0468: \"\"\"Build a useful single-line subject containing report number and title.\"\"\"\n0469: report_id = str(report.get(\"report_id\") or \"без номера\")\n0470: title = re.sub(r\"\\s+\", \" \", str(report.get(\"title\") or \"Без названия\")).strip()\n0473: return f\"{action} №{report_id}: {title}\"\n0476:def report_body(prefix: str, report: dict[str, Any]) -> str:\n0477: report_count = report.get(\"report_count\")\n0478: comment_count = report.get(\"comment_count\")\n0479: return (\n0481: f\"Номер жалобы: {report['report_id']}\\n\"\n0482: f\"Название жалобы: {report['title']}\\n\"\n0483: f\"Статус: {status_label(str(report['status']))}\\n\"\n0484: f\"Количество жалоб: {report_count if report_count is not None else 'не указано'}\\n\"\n0486: f\"Ссылка: {report['url']}\\n\"\n0491:def process_reports(con: sqlite3.Connection, cfg: configparser.ConfigParser, secrets: dict[str, str], reports: list[dict[str, Any]]) -> tuple[int, int]:\n0496: for report in reports:\n0497: row = con.execute(\"SELECT status,title FROM reports WHERE report_id=?\", (report[\"report_id\"],)).fetchone()\n0498: if title_needs_detail(str(report.get(\"title\") or \"\")):\n0500: report[\"title\"] = str(row[1])\n0502: report[\"title\"] = fetch_report_detail_title(cfg, secrets, report[\"url\"], report[\"title\"])\n0505: \"INSERT INTO reports(report_id,url,title,status,report_count,comment_count,row_text,first_seen_at,last_seen_at,resolved_at) VALUES(?,?,?,?,?,?,?,?,?,?)\",\n0507: report[\"report_id\"], report[\"url\"], report[\"title\"], report[\"status\"], report.get(\"report_count\"),\n0508: report.get(\"comment_count\"), report.get(\"row_text\", \"\"), utc_now(), utc_now(),\n0509: utc_now() if report[\"status\"] == \"resolved\" else None,\n0514: if report[\"status\"] == \"open\":\n0515: key = \"new:\" + report[\"report_id\"]\n0517: if send_mail(cfg, secrets, report_subject(\"Новая жалоба\", report), report_body(\"Появилась новая жалоба на форуме.\", report)):\n0518: mark_event(con, key, report[\"report_id\"], \"new\")\n0521: old_status = row[0]\n0522: if old_status != \"resolved\" and report[\"status\"] == \"resolved\":\n0523: key = \"resolved:\" + report[\"report_id\"]\n0525: if send_mail(cfg, secrets, report_subject(\"Жалоба отработана\", report), report_body(\"Жалоба перешла в обработанные/закрытые.\", report)):\n0526: mark_event(con, key, report[\"report_id\"], \"resolved\")\n0529: \"UPDATE reports SET url=?, title=?, status=?, report_count=?, comment_count=?, row_text=?, last_seen_at=?, resolved_at=COALESCE(resolved_at, ?) WHERE report_id=?\",\n0531: report[\"url\"], report[\"title\"], report[\"status\"], report.get(\"report_count\"), report.get(\"comment_count\"),\n0532: report.get(\"row_text\", \"\"), utc_now(), utc_now() if report[\"status\"] == \"resolved\" else None,\n0533: report[\"report_id\"],\n0539: return new_events, resolved_events\n0542:def maybe_send_auth_required(con: sqlite3.Connection, cfg: configparser.ConfigParser, secrets: dict[str, str], final_url: str) -> None:\n0548: except ValueError:\n0555: \"Сессия форума истекла или cookie неверная.\\n\"\n0556: \"Обычно перелогин не нужен: монитор продлевает сессию постоянным cookie jar.\\n\"\n0570: return f\n0571: except BlockingIOError:\n0572: return None\n0575:def run_once() -> int:\n0579: write_health(\"LOCK_BUSY\", **cookie_jar_summary())\n0580: return 0\n0584: final_url, text = fetch_reports_page(cfg, secrets)\n0585: if login_required(final_url, text):\n0586: maybe_send_auth_required(con, cfg, secrets, final_url)\n0587: write_health(\"AUTH_REQUIRED\", url=final_url, **cookie_jar_summary())\n0588: return 2\n0589: reports = parse_reports(text, cfg)\n0590: if not reports:\n0591: write_health(\"ERROR\", reason=\"no_reports_parsed\", url=final_url, **cookie_jar_summary())\n0592: log(\"ERROR no reports parsed\")\n0593: return 1\n0594: new_events, resolved_events = process_reports(con, cfg, secrets, reports)\n0595: open_count = sum(1 for r in reports if r[\"status\"] == \"open\")\n0596: resolved_count = sum(1 for r in reports if r[\"status\"] == \"resolved\")\n0597: health_extra = cookie_jar_summary()\n0598: write_health(\n0601: reports=len(reports),\n0607: **health_extra,\n0609: log(f\"OK reports={len(reports)} open={open_count} resolved={resolved_count} new={new_events} done={resolved_events}\")\n0610: return 0\n0611: except urllib.error.HTTPError as e:\n0612: write_health(\"ERROR\", error=f\"HTTPError {e.code}\", **cookie_jar_summary())\n0613: log(f\"ERROR HTTPError {e.code}\")\n0614: return 1\n0615: except Exception as e:\n0616: write_health(\"ERROR\", error=repr(e), **cookie_jar_summary())\n0618: return 1\n0623: except Exception:\n0627:def show_status() -> int:\n0628: if HEALTH_PATH.exists():\n0629: print(HEALTH_PATH.read_text(encoding=\"utf-8\"), end=\"\")\n0631: print(\"STATUS=UNKNOWN\")\n0632: return 0\n0635:def main() -> int:\n0636: parser = argparse.ArgumentParser()\n0637: parser.add_argument(\"cmd\", choices=[\"run\", \"status\"], nargs=\"?\", default=\"run\")\n0639: if args.cmd == \"status\":\n0640: return show_status()\n0641: return run_once()\n0645: raise SystemExit(main())\nRELEVANT_SOURCE_END\nSOURCE_HAS_WT0=false\nSOURCE_HAS_NETBIRD=false\nSOURCE_HAS_IP_ROUTE=false\nHEALTH_BEGIN\nHEALTH_SHA256=fbd204bcba7d8b2514552a1548d8c1773381733641150a848b9a1ad0865011d7\nHEALTH_BYTES=506\nHEALTH_MTIME=1790167712\nSTATUS=ERROR\nTS=2026-09-23T12:48:32Z\nerror=MonitorError('curl_failed rc=28 stderr=curl: (28) Connection timed out after 15003 milliseconds\\n')\nsession_keepalive=persistent_cookie_jar\ncookie_expiry_warning_days=7\ncookie_jar=yes\ncookie_jar_bytes=364\ncookie_jar_mtime=2026-09-23T12:48:32Z\ncookie_persistent_count=1\ncookie_session_count=2\ncookie_expiry_utc=2026-09-29T16:47:21Z\ncookie_earliest_expiry_utc=2026-09-29T16:47:21Z\ncookie_expires_in_seconds=532729\ncookie_expires_in_days=6\ncookie_expiry_status=WARN\nHEALTH_END\nCONFIG_KEYS_BEGIN\nCONFIG_KEY=forum.reports_url\nCONFIG_KEY=forum.base_url\nCONFIG_KEY=forum.timeout_seconds\nCONFIG_KEY=forum.user_agent\nCONFIG_KEY=email.subject_prefix\nCONFIG_KEY=email.auth_notice_min_interval_seconds\nCONFIG_KEY=monitor.baseline_no_email\nCONFIG_KEYS_END\nSECRET_KEY_NAMES_BEGIN\nSECRET_KEY=SMTP_HOST\nSECRET_KEY=SMTP_PORT\nSECRET_KEY=SMTP_TLS\nSECRET_KEY=SMTP_USER\nSECRET_KEY=SMTP_PASS\nSECRET_KEY=SMTP_FROM\nSECRET_KEY=SMTP_TO\nSECRET_KEY=SKLADCHIK_COOKIE\nSECRET_KEY_NAMES_END\nUNIT_BEGIN\nUNIT_CAT_RC=0\n# /etc/systemd/system/skladchik-reports-monitor.service\n[Unit]\nDescription=Skladchik XenForo reports monitor\nWants=network-online.target\nAfter=network-online.target\n\n[Service]\nType=oneshot\nUser=root\nGroup=root\nExecStart=/usr/bin/python3 /opt/skladchik-reports-monitor/monitor.py run\nNice=10\nIOSchedulingClass=best-effort\nIOSchedulingPriority=7\nUNIT_END\nSERVICE_STATE_BEGIN\nTIMER_ENABLED=enabled|rc=0\nTIMER_ACTIVE=active|rc=0\nSERVICE_ACTIVE=failed|rc=3\nSERVICE_RESULT=exit-code|rc=0\nSERVICE_EXEC_STATUS=1|rc=0\nSERVICE_STATE_END\nJOURNAL_BEGIN\nJOURNAL_RC=0\nSep 23 15:25:14 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:25:29 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:25:29 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:25:29 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:25:45 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:26:00 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:26:00 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:26:00 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:26:16 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:26:31 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:26:31 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:26:31 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:27:09 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:27:25 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:27:25 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:27:25 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:27:40 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:27:55 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:27:55 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:27:55 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:28:11 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:28:26 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:28:26 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:28:26 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:28:42 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:28:57 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:28:57 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:28:57 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:29:13 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:29:28 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:29:28 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:29:28 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:29:44 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:29:59 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:29:59 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:29:59 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:30:15 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:30:30 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:30:30 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:30:30 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:30:46 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:31:01 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:31:01 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:31:01 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:31:17 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:31:32 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:31:32 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:31:32 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:31:48 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:32:03 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:32:03 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:32:03 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:32:19 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:32:34 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:32:34 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:32:34 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:32:50 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:33:05 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:33:05 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:33:05 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:33:21 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:33:36 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:33:36 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:33:36 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:33:52 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:34:07 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:34:07 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:34:07 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:34:22 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:34:37 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:34:37 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:34:37 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:34:53 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:35:08 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:35:08 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:35:08 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:35:24 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:35:39 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:35:39 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:35:39 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:35:55 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:36:10 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:36:10 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:36:10 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:36:26 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:36:41 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:36:41 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:36:41 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:36:57 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:37:12 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:37:12 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:37:12 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:37:28 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:37:43 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:37:43 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:37:43 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:37:59 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:38:14 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:38:14 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:38:14 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:38:30 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:38:45 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:38:45 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:38:45 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:39:01 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:39:16 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:39:16 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:39:16 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:39:32 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:39:47 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:39:47 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:39:47 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:40:02 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:40:17 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:40:17 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:40:17 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:40:33 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:40:48 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:40:48 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:40:48 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:41:04 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:41:19 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:41:19 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:41:19 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:41:35 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:41:50 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:41:50 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:41:50 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:42:06 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:42:21 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:42:21 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:42:21 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:42:37 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:42:52 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:42:52 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:42:52 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:43:08 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:43:23 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:43:23 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:43:23 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:43:39 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:43:54 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:43:54 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:43:54 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:44:10 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:44:25 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:44:25 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:44:25 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:44:41 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:44:56 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:44:56 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:44:56 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:45:12 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:45:27 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:45:27 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:45:27 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:45:42 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:45:57 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:45:57 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:45:57 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:46:13 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:46:28 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:46:28 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:46:28 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:46:44 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:46:59 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:46:59 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:46:59 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:47:15 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:47:30 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:47:30 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:47:30 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:47:46 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:48:01 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:48:01 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:48:01 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nSep 23 15:48:17 edge-vm systemd[1]: Starting skladchik-reports-monitor.service - Skladchik XenForo reports monitor...\nSep 23 15:48:32 edge-vm systemd[1]: skladchik-reports-monitor.service: Main process exited, code=exited, status=1/FAILURE\nSep 23 15:48:32 edge-vm systemd[1]: skladchik-reports-monitor.service: Failed with result 'exit-code'.\nSep 23 15:48:32 edge-vm systemd[1]: Failed to start skladchik-reports-monitor.service - Skladchik XenForo reports monitor.\nJOURNAL_END\nNETWORK_FACTS_BEGIN\nROUTE_RC=0\nROUTE=[PRIVATE_IP] via [PRIVATE_IP] dev eth0 src [PRIVATE_IP] uid 0 \nROUTE= cache \nLINK_RC=0\nLINK=wt0 UNKNOWN <POINTOPOINT,NOARP,UP,LOWER_UP> \nNETBIRD_STATUS_RC=0\nNETBIRD=Management: Disconnected, reason: rpc error: code = DeadlineExceeded desc = context deadline exceeded while waiting for connections to become ready\nNETBIRD=Signal: Disconnected, reason: rpc error: code = Unavailable desc = error reading from server: read tcp [PRIVATE_IP]:43380->[PRIVATE_IP]:443: read: connection timed out\nNETBIRD=Relays: 0/2 Available\nNETBIRD=NetBird IP: [PRIVATE_IP]/16\nNETBIRD=NetBird IPv6: [PRIVATE_IPV6]/64\nNETBIRD=Peers count: 3/11 Connected\nNETWORK_FACTS_END\nEDGE_MONITOR_RCA_END=true\nCHANGES_MADE_BY_949=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260923-SKLADCHIK-MONITOR-RC1-EXACT-RCA-949R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nSKLADCHIK949_END=true\n"
}