Files
wevads-platform/scripts/api_system-health.php
2026-02-26 04:53:11 +01:00

44 lines
1.6 KiB
PHP
Executable File

<?php
header('Content-Type: application/json');
$pdo = new PDO('pgsql:host=localhost;dbname=adx_system', 'admin', 'admin123');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$health = [
'status' => 'ok',
'timestamp' => date('Y-m-d H:i:s'),
'components' => []
];
// Check DB
try {
$pdo->query("SELECT 1");
$health['components']['database'] = ['status' => 'ok'];
} catch(Exception $e) {
$health['components']['database'] = ['status' => 'error', 'message' => $e->getMessage()];
$health['status'] = 'degraded';
}
// Stats rapides
try {
$health['stats'] = [
'mta_servers' => $pdo->query("SELECT COUNT(*) FROM admin.mta_servers WHERE status='Activated'")->fetchColumn(),
'o365_active' => $pdo->query("SELECT COUNT(*) FROM admin.office_accounts WHERE status='Active'")->fetchColumn(),
'domains' => $pdo->query("SELECT COUNT(*) FROM admin.domains")->fetchColumn(),
'seeds' => $pdo->query("SELECT COUNT(*) FROM admin.brain_seeds")->fetchColumn(),
'leads' => $pdo->query("SELECT COUNT(*) FROM admin.harvested_leads")->fetchColumn(),
'brain_configs' => $pdo->query("SELECT COUNT(*) FROM admin.brain_configs")->fetchColumn(),
'isp_profiles' => $pdo->query("SELECT COUNT(*) FROM admin.isp_profiles")->fetchColumn(),
];
} catch(Exception $e) {
$health['stats'] = ['error' => $e->getMessage()];
}
// Check WEVAL MIND
$hamidCheck = @file_get_contents('http://localhost:5821/hamid-api.php?action=health');
$health['components']['hamid'] = $hamidCheck ? ['status' => 'ok'] : ['status' => 'unknown'];
echo json_encode($health, JSON_PRETTY_PRINT);