From a55ee900d88d628a4f8780e448527440303efdec Mon Sep 17 00:00:00 2001 From: Luca Haid Date: Mon, 14 Apr 2025 13:54:09 +0200 Subject: [PATCH] changed how zabbix syncs --- application/DeviceMonitoring/DeviceMonitoringController.php | 6 ++---- lib/Zabbix/Zabbix.php | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/application/DeviceMonitoring/DeviceMonitoringController.php b/application/DeviceMonitoring/DeviceMonitoringController.php index 422a89991..6bf9148ad 100644 --- a/application/DeviceMonitoring/DeviceMonitoringController.php +++ b/application/DeviceMonitoring/DeviceMonitoringController.php @@ -24,8 +24,7 @@ class DeviceMonitoringController extends mfBaseController { public function syncToolZabbix() { foreach (DeviceModel::getAll() as $device) { - $ip = $device->ip; - $hosts = $this->zabbix->getHosts($ip); + $hosts = array_merge($this->zabbix->getHosts(null, $device->ip), $this->zabbix->getHosts($device->name)); if (empty($hosts)) { echo "{$device->name}({$device->ip}) not found in Zabbix." . PHP_EOL; @@ -36,12 +35,11 @@ class DeviceMonitoringController extends mfBaseController { $icmpItems = $this->zabbix->getICMPItems($hostId); $status = 0; - foreach ($icmpItems as $icmpItem) { + foreach ($icmpItems as $icmpItem) if (strpos($icmpItem['key_'], 'icmpping[') !== false) { $status = $icmpItem['lastvalue'] + 1; break; } - } echo "{$device->name}({$device->ip}) found in Zabbix with host ID: {$hostId} and status: {$status}" . PHP_EOL; $device->zabbix_online = $status; diff --git a/lib/Zabbix/Zabbix.php b/lib/Zabbix/Zabbix.php index 950a4a197..31de6a16e 100644 --- a/lib/Zabbix/Zabbix.php +++ b/lib/Zabbix/Zabbix.php @@ -58,7 +58,7 @@ class Zabbix { return $response['result']; } elseif ($ip) { $response = $this->zabbixRequest('host.get', array( - 'search' => array('ip' => array($ip)) + 'search' => array('host' => array($ip)) )); return $response['result']; }