AUTO-BACKUP 20260409-1340

This commit is contained in:
L99-GODMODE
2026-04-09 13:40:02 +02:00
parent a3117609ac
commit b0403a1fa7
11 changed files with 41 additions and 41 deletions

View File

@@ -1 +1 @@
{"timestamp":"2026-04-09 11:32:27","scan_ms":37713,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"9 models"}],"docker":[{"name":"chatwoot-redis","status":"Up 22 hours"},{"name":"langfuse","status":"Up 22 hours"},{"name":"loki","status":"Up 10 hours"},{"name":"mattermost","status":"Up 22 hours (healthy)"},{"name":"n8n","status":"Up 22 hours"},{"name":"node-exporter","status":"Up 22 hours"},{"name":"plausible-db","status":"Up 22 hours"},{"name":"plausible-events","status":"Up 22 hours"},{"name":"plausible","status":"Up 22 hours"},{"name":"prometheus","status":"Up 3 hours"},{"name":"qdrant","status":"Up 22 hours"},{"name":"searxng","status":"Up 22 hours"},{"name":"twenty-redis","status":"Up 22 hours"},{"name":"twenty","status":"Up 22 hours"},{"name":"uptime-kuma","status":"Up 22 hours (healthy)"},{"name":"vaultwarden","status":"Up 22 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 5 days"},{"name":"listmonk","status":"Up 5 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"inactive","port":"80"},{"name":"php-fpm","status":"inactive","port":"9000"},{"name":"postgresql","status":"inactive","port":"5432"},{"name":"ollama","status":"inactive","port":"11434"}],"docker":[]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":7,"total_services":20,"total_docker":18}}
{"timestamp":"2026-04-09 11:39:52","scan_ms":37894,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"9 models"}],"docker":[{"name":"chatwoot-redis","status":"Up 22 hours"},{"name":"langfuse","status":"Up 22 hours"},{"name":"loki","status":"Up 10 hours"},{"name":"mattermost","status":"Up 22 hours (healthy)"},{"name":"n8n","status":"Up 22 hours"},{"name":"node-exporter","status":"Up 22 hours"},{"name":"plausible-db","status":"Up 22 hours"},{"name":"plausible-events","status":"Up 22 hours"},{"name":"plausible","status":"Up 22 hours"},{"name":"prometheus","status":"Up 3 hours"},{"name":"qdrant","status":"Up 22 hours"},{"name":"searxng","status":"Up 22 hours"},{"name":"twenty-redis","status":"Up 22 hours"},{"name":"twenty","status":"Up 22 hours"},{"name":"uptime-kuma","status":"Up 22 hours (healthy)"},{"name":"vaultwarden","status":"Up 22 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 5 days"},{"name":"listmonk","status":"Up 5 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"inactive","port":"80"},{"name":"php-fpm","status":"inactive","port":"9000"},{"name":"postgresql","status":"inactive","port":"5432"},{"name":"ollama","status":"inactive","port":"11434"}],"docker":[]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":7,"total_services":20,"total_docker":18}}

View File

@@ -1,11 +1,11 @@
{
"ts": "2026-04-09T11:32:41+00:00",
"ts": "2026-04-09T11:39:43+00:00",
"hostname": "LAPTOP-VE75QUHF",
"cpu": "96%",
"ram": "82% (16GB)",
"disk": "?",
"uptime": "1d01h18m",
"cpu": "97%",
"ram": "81% (16GB)",
"disk": "81% (464GB)",
"uptime": "1d 1h",
"user": "Yace",
"ip": "105.154.8.206",
"agent_version": "2.0"
"agent_version": "2.2"
}

View File

@@ -13,5 +13,5 @@
"Run simulation",
"CEO insights"
],
"timestamp": "2026-04-09 11:30:02"
"timestamp": "2026-04-09 11:40:01"
}

View File

@@ -62,7 +62,7 @@ if (!check_port(11435)) {
// ═══ 5. DOCKER CONTAINERS ═══
$critical_containers = [
'plausible', 'plausible-db', 'plausible-events',
'authentik-server', 'authentik-worker', 'authentik-db', 'authentik-redis',
'authentik-db', 'authentik-redis',
'searxng', 'mattermost', 'uptime-kuma', 'qdrant', 'n8n',
'vaultwarden', 'twenty', 'twenty-redis', 'mirofish',
'open-webui', 'flowise', 'loki'

View File

@@ -470,7 +470,7 @@ case 'diagnostic':
$exp = trim(shell_exec("openssl x509 -in /var/www/weval/ssl/fullchain.pem -noout -enddate 2>/dev/null | cut -d= -f2"));
$diag['ssl_days'] = $exp ? (int)((strtotime($exp)-time())/86400) : -1;
// Services
$ports = [80=>'nginx',9000=>'php',5432=>'pg',11435=>'ollama',6333=>'qdrant',2024=>'deerflow',9090=>'authentik',5001=>'mirofish'];
$ports = [80=>'nginx',9000=>'php',5432=>'pg',11435=>'ollama',6333=>'qdrant',2024=>'deerflow'
$diag['services'] = [];
foreach ($ports as $p=>$n) { $c=@fsockopen('127.0.0.1',$p,$e,$err,1); $diag['services'][$n]=$c?true:false; if($c)fclose($c); }
// Crons

View File

@@ -1,8 +1,8 @@
{
"timestamp": "2026-04-09 13:30:11",
"timestamp": "2026-04-09 13:35:05",
"healthy": false,
"issues": [
"Chatbot check error: Expecting value: line 1 column 1 (char 0)"
"PHP syntax error: wevia-action-engine.php"
],
"fixes": [],
"issues_count": 1,

View File

@@ -1,5 +1,5 @@
{
"timestamp": "2026-04-09 11:30:12",
"timestamp": "2026-04-09 11:35:08",
"healthy": false,
"checks": {
"outpost": "DOWN",
@@ -30,57 +30,57 @@
{
"level": "critical",
"msg": "Outpost DOWN 9090",
"ts": "2026-04-09T11:30:02+00:00"
"ts": "2026-04-09T11:35:01+00:00"
},
{
"level": "critical",
"msg": "Outpost STILL DOWN",
"ts": "2026-04-09T11:30:08+00:00"
"ts": "2026-04-09T11:35:06+00:00"
},
{
"level": "warning",
"msg": "Auth flow ethica.weval-consulting.com: 200",
"ts": "2026-04-09T11:30:08+00:00"
"ts": "2026-04-09T11:35:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow n8n.weval-consulting.com: 200",
"ts": "2026-04-09T11:30:08+00:00"
"ts": "2026-04-09T11:35:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow crm.weval-consulting.com: 200",
"ts": "2026-04-09T11:30:08+00:00"
"ts": "2026-04-09T11:35:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow mm.weval-consulting.com: 200",
"ts": "2026-04-09T11:30:09+00:00"
"ts": "2026-04-09T11:35:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow analytics.weval-consulting.com: 200",
"ts": "2026-04-09T11:30:09+00:00"
"ts": "2026-04-09T11:35:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow deerflow.weval-consulting.com: 200",
"ts": "2026-04-09T11:30:09+00:00"
"ts": "2026-04-09T11:35:08+00:00"
},
{
"level": "warning",
"msg": "Callback location missing in nginx",
"ts": "2026-04-09T11:30:09+00:00"
"ts": "2026-04-09T11:35:08+00:00"
}
],
"fixes": [
{
"title": "Restart authentik",
"ts": "2026-04-09T11:30:03+00:00"
"ts": "2026-04-09T11:35:01+00:00"
},
{
"title": "Callback location auto-added",
"ts": "2026-04-09T11:30:10+00:00"
"ts": "2026-04-09T11:35:08+00:00"
}
]
}

View File

@@ -542,7 +542,7 @@ function detectIntents($msg) {
if (preg_match('/wevads|arsenal|sentinel|s95|adx/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'WEVADS Arsenal','params'=>['cmd'=>'curl -sf http://10.1.0.3:5890/api/sentinel-brain.php?action=status --max-time 5 2>/dev/null | head -c 200']]; } // wevads_arsenal
if (preg_match('/skill|competence|registre|capability|capacit/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Skills','params'=>['cmd'=>'ls /opt/deer-flow/skills/weval/ | wc -l && echo skills && ls /opt/deer-flow/skills/weval/ | shuf | head -10']]; } // skill_registry
if (preg_match('/email|mail|o365|outlook|imap|smtp/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Email','params'=>['cmd'=>'PGPASSWORD=admin123 psql -h 127.0.0.1 -U admin -d adx_system -c "SELECT count(*) as total, count(DISTINCT sender) as senders FROM wevia_emails" -t 2>/dev/null && echo emails']]; } // email_o365
if (preg_match('/authentik|sso|auth.*flow|outpost|login.*page/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Authentik SSO','params'=>['cmd'=>'docker ps --format "{{.Names}} {{.Status}}" | grep auth && curl -sf http://127.0.0.1:9090/outpost.goauthentik.io/ping --max-time 3 -o /dev/null -w Outpost_HTTP_%{http_code} && echo && for d in wevads deerflow analytics; do curl -sf -o /dev/null -w "$d:HTTP_%{http_code} " https://$d.weval-consulting.com --max-time 5 -k; done && echo']]; } // authentik_sso
if (preg_match('/authentik|sso|auth.*flow|outpost|login.*page/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Authentik SSO','params'=>['cmd'=>'docker ps --format "{{.Names}} {{.Status}}" | grep auth && curl -sf http://127.0.0.1:99999/outpost.goauthentik.io/ping --max-time 3 -o /dev/null -w Outpost_HTTP_%{http_code} && echo && for d in wevads deerflow analytics; do curl -sf -o /dev/null -w "$d:HTTP_%{http_code} " https://$d.weval-consulting.com --max-time 5 -k; done && echo']]; } // authentik_sso
if (preg_match('/uptime|kuma|monitor.*service|disponibilit/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Uptime Kuma','params'=>['cmd'=>'docker ps --format "{{.Names}} {{.Status}}" | grep kuma && curl -sf http://127.0.0.1:3001/api/status-page/heartbeat --max-time 3 -o /dev/null -w HTTP_%{http_code}']]; } // uptime_kuma
if (preg_match('/n8n|workflow|automation|automat/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'N8N','params'=>['cmd'=>'curl -sf http://127.0.0.1:5678/healthz --max-time 3 && echo N8N_UP || echo N8N_DOWN']]; } // n8n_workflow
if (preg_match('/contact|adx.*client|base.*contact|lead.*count|prospect/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Contacts DB','params'=>['cmd'=>'PGPASSWORD=admin123 psql -h 127.0.0.1 -U admin -d adx_clients -t -c "SELECT count(*) FROM contacts" 2>/dev/null && echo contacts || echo DB_ERROR']]; } // contacts_db

View File

@@ -1,37 +1,37 @@
{
"timestamp": "2026-04-09 11:30:02",
"timestamp": "2026-04-09 11:35:01",
"version": "1.0",
"disk": 87,
"disk": 86,
"ram": 25,
"docker": 16,
"ssl_days": 361,
"ollama_models": 10,
"ollama_models": 9,
"arch_score": 91,
"fixes_count": 1,
"alerts_count": 1,
"fixes": [
{
"title": "Disk light cleanup 87%",
"title": "Disk light cleanup 86%",
"cmd": "find \/var\/log -name '*.gz' -mtime +7 -delete; find \/tmp -mtime +3 -delete 2>\/dev\/null",
"output": "find: cannot delete \/tmp\/wevia-gpu-space\/.git\/logs\/refs\/remotes: Directory not empty\nfind: cannot delete \/tmp\/wevia-gpu-space\/.git\/logs\/refs: Directory not empty\nfind: cannot delete \/tm",
"time": "11:30:04"
"time": "11:35:01"
}
],
"alerts": [
{
"level": "critical",
"msg": "S204:authentik DOWN (:9090)",
"time": "11:30:02"
"time": "11:35:01"
}
],
"log": [
"11:30:04 AUTO-FIX: Disk light cleanup 87%",
"11:30:04 Disk: 87%",
"11:30:04 SSL: 361d remaining",
"11:30:04 Docker: 16 containers",
"11:30:04 Ollama: 10 models, 31.3GB",
"11:30:04 RAM: 25%",
"11:30:04 Arch score: 91\/100"
"11:35:01 AUTO-FIX: Disk light cleanup 86%",
"11:35:01 Disk: 86%",
"11:35:01 SSL: 361d remaining",
"11:35:01 Docker: 16 containers",
"11:35:01 Ollama: 9 models, 29.7GB",
"11:35:02 RAM: 25%",
"11:35:02 Arch score: 91\/100"
],
"s204_services": 8,
"s95_mta": 5

View File

@@ -1 +1 @@
{"ts":"13:32","status":"offline"}
{"ts":"13:40","status":"online","cpu":"97%","ram":"81%","ip":"105.154.8.206","uptime":"1d 1h","pending":49,"via":"heartbeat"}

View File

@@ -1,2 +1,2 @@
{"ts":"13:30","disk":"87%","ram":"25%","docker_dead":"0","ssl":"Certificate will not expire
ok","models":"10","qdrant":"4","errors":"20"}
{"ts":"13:35","disk":"86%","ram":"25%","docker_dead":"0","ssl":"Certificate will not expire
ok","models":"9","qdrant":"4","errors":"20"}