diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:44:18 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:44:18 +0000 |
commit | 23be945fd2810ee82e3a23cbcd2352c9bda43d4f (patch) | |
tree | dd511b321f308264952cffb005a4288ea4e478e6 /library/Graphite/Web/Widget/Graphs/Host.php | |
parent | Initial commit. (diff) | |
download | icingaweb2-module-graphite-23be945fd2810ee82e3a23cbcd2352c9bda43d4f.tar.xz icingaweb2-module-graphite-23be945fd2810ee82e3a23cbcd2352c9bda43d4f.zip |
Adding upstream version 1.2.2.upstream/1.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'library/Graphite/Web/Widget/Graphs/Host.php')
-rw-r--r-- | library/Graphite/Web/Widget/Graphs/Host.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/library/Graphite/Web/Widget/Graphs/Host.php b/library/Graphite/Web/Widget/Graphs/Host.php new file mode 100644 index 0000000..2247bcc --- /dev/null +++ b/library/Graphite/Web/Widget/Graphs/Host.php @@ -0,0 +1,51 @@ +<?php + +namespace Icinga\Module\Graphite\Web\Widget\Graphs; + +use Icinga\Module\Graphite\Graphing\Template; +use Icinga\Module\Graphite\Web\Widget\Graphs; +use Icinga\Module\Monitoring\Object\Host as MonitoredHost; +use Icinga\Web\Url; + +class Host extends Graphs +{ + protected $objectType = 'host'; + + /** + * The host to render the graphs of + * + * @var MonitoredHost + */ + protected $object; + + protected function getImageBaseUrl() + { + return Url::fromPath('graphite/graph/host'); + } + + protected function getGraphsListBaseUrl() + { + return Url::fromPath('graphite/list/hosts', ['host' => $this->object->getName()]); + } + + protected function filterImageUrl(Url $url) + { + return $url->setParam('host.name', $this->object->getName()); + } + + protected function getMonitoredObjectIdentifier() + { + return $this->object->getName(); + } + + protected function designedForObjectType(Template $template) + { + foreach ($template->getCurves() as $curve) { + if (in_array('host_name_template', $curve[0]->getMacros())) { + return true; + } + } + + return false; + } +} |