diff --git a/.DS_Store b/.DS_Store index 6bade33..0973e62 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/mikrotik_monitor.php b/mikrotik_monitor.php index 32f7e0a..ebc52a5 100644 --- a/mikrotik_monitor.php +++ b/mikrotik_monitor.php @@ -1,5 +1,8 @@ '); + //$routerId = $routes['2'] ?? ($routers ? $routers[0]['id'] : null); // Memastikan ada router yang aktif + $logs = mikrotik_monitor_fetchLogs($router); // Mengambil log dari router yang dipilih + $ui->assign('logs', $logs); $ui->assign('routers', $routers); $ui->assign('router', $router); $interfaces = mikrotik_monitor_get_interfaces_list(); @@ -650,3 +656,26 @@ function mikrotik_monitor_get_resources_json() { header('Content-Type: application/json'); echo json_encode($data); } + +// Fungsi untuk mengambil logs dari MikroTik +function mikrotik_monitor_fetchLogs($routerId) { + if (!$routerId) { + return []; // Mengembalikan array kosong jika router tidak tersedia + } + + $mikrotik = ORM::for_table('tbl_routers')->where('enabled', '1')->find_one($routerId); + if (!$mikrotik) { + return []; // Mengembalikan array kosong jika router tidak ditemukan + } + + $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); + $request = new Request('/log/print'); + $response = $client->sendSync($request); + + $logs = []; + foreach ($response as $entry) { + $logs[] = $entry->getIterator()->getArrayCopy(); // Mengumpulkan data dari setiap entry + } + + return $logs; +} diff --git a/ui/mikrotik_monitor.tpl b/ui/mikrotik_monitor.tpl index 3d32a23..9f373d7 100644 --- a/ui/mikrotik_monitor.tpl +++ b/ui/mikrotik_monitor.tpl @@ -1,459 +1,641 @@ {include file="sections/header.tpl"} +