blob: fd1818fd6a602db19c8a6ce1689dae3ea860efd1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?php
/* Icinga Web 2 | (c) 2019 Icinga GmbH | GPLv2+ */
namespace Icinga\Module\Monitoring\ProvidedHook\X509;
use Icinga\Data\Filter\Filter;
use Icinga\Module\Monitoring\Backend\MonitoringBackend;
use Icinga\Module\X509\Hook\SniHook;
class Sni extends SniHook
{
public function getHosts(Filter $filter = null)
{
$hosts = MonitoringBackend::instance()
->select()
->from('hoststatus', [
'host_name',
'host_address',
'host_address6'
]);
if ($filter !== null) {
$hosts->applyFilter($filter);
}
foreach ($hosts as $host) {
if (! empty($host->host_address)) {
yield $host->host_address => $host->host_name;
}
if (! empty($host->host_address6)) {
yield $host->host_address6 => $host->host_name;
}
}
}
}
|