44 lines
1.6 KiB
PHP
Executable File
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);
|
|
|