Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ui/srv_status.php')
-rw-r--r--ui/srv_status.php183
1 files changed, 0 insertions, 183 deletions
diff --git a/ui/srv_status.php b/ui/srv_status.php
deleted file mode 100644
index 8549206d669..00000000000
--- a/ui/srv_status.php
+++ /dev/null
@@ -1,183 +0,0 @@
-<?php
-/*
-** Zabbix
-** Copyright (C) 2001-2021 Zabbix SIA
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software
-** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-**/
-
-
-require_once dirname(__FILE__).'/include/config.inc.php';
-require_once dirname(__FILE__).'/include/triggers.inc.php';
-require_once dirname(__FILE__).'/include/services.inc.php';
-
-$page['title'] = _('Services');
-$page['file'] = 'srv_status.php';
-$page['scripts'] = ['layout.mode.js', 'srv_status.js'];
-
-define('ZBX_PAGE_DO_REFRESH', 1);
-
-if (!getRequest('serviceid') || !getRequest('showgraph')) {
- $page['web_layout_mode'] = CViewHelper::loadLayoutMode();
-}
-require_once dirname(__FILE__).'/include/page_header.php';
-
-$periods = [
- 'today' => _('Today'),
- 'week' => _('This week'),
- 'month' => _('This month'),
- 'year' => _('This year'),
- 24 => _('Last 24 hours'),
- 24 * 7 => _('Last 7 days'),
- 24 * 30 => _('Last 30 days'),
- 24 * DAY_IN_YEAR => _('Last 365 days')
-];
-
-// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION
-$fields = [
- 'serviceid' => [T_ZBX_INT, O_OPT, P_SYS|P_NZERO, DB_ID, null],
- 'showgraph' => [T_ZBX_INT, O_OPT, P_SYS, IN('1'), 'isset({serviceid})'],
- 'period' => [T_ZBX_STR, O_OPT, P_SYS, IN('"'.implode('","', array_keys($periods)).'"'), null]
-];
-check_fields($fields);
-
-if (isset($_REQUEST['serviceid']) && isset($_REQUEST['showgraph'])) {
- $service = API::Service()->get([
- 'output' => ['serviceid'],
- 'serviceids' => getRequest('serviceid')
- ]);
- $service = reset($service);
-
- if ($service) {
- $table = (new CDiv())
- ->addClass(ZBX_STYLE_TABLE_FORMS_CONTAINER)
- ->addClass(ZBX_STYLE_CENTER)
- ->addItem(new CImg('chart5.php?serviceid='.$service['serviceid'].url_param('path')))
- ->show();
- }
- else {
- access_deny();
- }
-}
-else {
- $period = getRequest('period', 7 * 24);
- $period_end = time();
-
- switch ($period) {
- case 'today':
- $period_start = mktime(0, 0, 0, date('n'), date('j'), date('Y'));
- break;
- case 'week':
- $period_start = strtotime('last sunday');
- break;
- case 'month':
- $period_start = mktime(0, 0, 0, date('n'), 1, date('Y'));
- break;
- case 'year':
- $period_start = mktime(0, 0, 0, 1, 1, date('Y'));
- break;
- case 24:
- case 24 * 7:
- case 24 * 30:
- case 24 * DAY_IN_YEAR:
- $period_start = $period_end - ($period * 3600);
- break;
- }
-
- // fetch services
- $services = API::Service()->get([
- 'output' => ['name', 'serviceid', 'showsla', 'goodsla', 'algorithm', 'sortorder'],
- 'selectParent' => ['serviceid'],
- 'selectDependencies' => ['servicedownid', 'soft', 'linkid'],
- 'selectTrigger' => ['description', 'triggerid', 'expression'],
- 'preservekeys' => true
- ]);
-
- sortServices($services);
-
- // expand trigger descriptions
- $triggers = zbx_objectValues(
- array_filter($services, function($service) { return (bool) $service['trigger']; }), 'trigger'
- );
- $triggers = CMacrosResolverHelper::resolveTriggerNames(zbx_toHash($triggers, 'triggerid'));
-
- foreach ($services as &$service) {
- if ($service['trigger']) {
- $service['trigger'] = $triggers[$service['trigger']['triggerid']];
- }
- }
- unset($service);
-
- // fetch sla
- $slaData = API::Service()->getSla([
- 'intervals' => [[
- 'from' => $period_start,
- 'to' => $period_end
- ]]
- ]);
- // expand problem trigger descriptions
- foreach ($slaData as &$serviceSla) {
- foreach ($serviceSla['problems'] as &$problemTrigger) {
- $problemTrigger['description'] = $triggers[$problemTrigger['triggerid']]['description'];
- }
- unset($problemTrigger);
- }
- unset($serviceSla);
-
- $treeData = [];
- createServiceMonitoringTree($services, $slaData, $period, $treeData);
- $tree = new CServiceTree('service_status_tree',
- $treeData,
- [
- 'caption' => _('Service'),
- 'status' => _('Status'),
- 'reason' => _('Reason'),
- 'sla' => (new CColHeader(_('Problem time')))->setColSpan(2),
- 'sla2' => null,
- 'sla3' => _('SLA').' / '._('Acceptable SLA')
- ]
- );
-
- if ($tree) {
- (new CWidget())
- ->setTitle(_('Services'))
- ->setWebLayoutMode($page['web_layout_mode'])
- ->setControls(new CList([
- (new CForm('get'))
- ->setName('srv_status')
- ->cleanItems()
- ->setAttribute('aria-label', _('Main filter'))
- ->addItem((new CList())
- ->addItem([
- new CLabel(_('Period'), 'label-period'),
- (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
- (new CSelect('period'))
- ->setFocusableElementId('label-period')
- ->setValue($period)
- ->addOptions(CSelect::createOptionsFromArray($periods))
- ])
- ),
- (new CTag('nav', true, get_icon('kioskmode', ['mode' => $page['web_layout_mode']])))
- ->setAttribute('aria-label', _('Content controls'))
- ]))
- ->addItem($tree->getHTML())
- ->show();
- }
- else {
- error(_('Cannot format tree. Check logic structure in service links.'));
- }
-}
-
-require_once dirname(__FILE__).'/include/page_footer.php';