From 7f21e14afc33b275492dbcdab4a8e7e9ca598803 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 19 Jul 2018 00:35:28 +0200 Subject: [PATCH] Add command audit --- .../Command/Transport/ApiCommandTransport.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modules/monitoring/library/Monitoring/Command/Transport/ApiCommandTransport.php b/modules/monitoring/library/Monitoring/Command/Transport/ApiCommandTransport.php index b371e500f..73237fe2a 100644 --- a/modules/monitoring/library/Monitoring/Command/Transport/ApiCommandTransport.php +++ b/modules/monitoring/library/Monitoring/Command/Transport/ApiCommandTransport.php @@ -3,6 +3,7 @@ namespace Icinga\Module\Monitoring\Command\Transport; +use Icinga\Application\Hook\AuditHook; use Icinga\Application\Logger; use Icinga\Exception\Json\JsonDecodeException; use Icinga\Module\Monitoring\Command\IcingaApiCommand; @@ -196,6 +197,18 @@ class ApiCommandTransport implements CommandTransportInterface $this->getPort() ); + $data = $command->getData(); + $payload = []; + foreach ($data as $key => $value) { + $payload[] = "$key=$value"; + } + $payload = implode(', ', $payload); + AuditHook::logActivity( + 'monitoring/command', + "Issued command {$command->getEndpoint()} with the following payload: $payload", + $data + ); + try { $response = RestRequest::post($this->getUriFor($command->getEndpoint())) ->authenticateWith($this->getUsername(), $this->getPassword())