show cn=monitor infos
This commit is contained in:
parent
37bd66c6a3
commit
c44578a060
|
@ -1,6 +1,7 @@
|
|||
August 2011 3.5.0
|
||||
- New module "General information": shows internal data about accounts (e.g. creation time)
|
||||
- inetOrgPerson: New attributes o, employeeNumber, initials
|
||||
- Server information shows data from cn=monitor
|
||||
- LAM Pro:
|
||||
-> Automount: allow to create automount maps
|
||||
-> Password policy: allow to (un)lock accounts
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
$Id$
|
||||
|
||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
||||
Copyright (C) 2009 - 2010 Roland Gruber
|
||||
Copyright (C) 2009 - 2011 Roland Gruber
|
||||
|
||||
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
|
||||
|
@ -84,53 +84,249 @@ if ($result) {
|
|||
}
|
||||
}
|
||||
|
||||
// get additional information if monitoring is enabled
|
||||
$monitorResult = searchLDAP('cn=monitor', 'objectClass=*', array('*', '+'));
|
||||
$monitorEntries = array();
|
||||
for ($i = 0; $i < sizeof($monitorResult); $i++) {
|
||||
$monitorEntries[$monitorResult[$i]['dn']] = array_change_key_case($monitorResult[$i], CASE_LOWER);
|
||||
}
|
||||
$monitorEntries = array_change_key_case($monitorEntries, CASE_LOWER);
|
||||
|
||||
include 'main_header.php';
|
||||
echo '<div class="userlist-bright smallPaddingContent">';
|
||||
$tabindex = 1;
|
||||
$container = new htmlTable();
|
||||
$spacer = new htmlSpacer('20px', null);
|
||||
|
||||
$container->addElement(new htmlTitle(_("Server information")), true);
|
||||
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Managed suffixes") . '</b>', false));
|
||||
$container->addElement(new htmlSpacer('20px', null));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($namingContexts), true);
|
||||
|
||||
$container->addElement(new htmlOutputText('<b>' . _("LDAP version") . '</b>', false));
|
||||
$container->addElement(new htmlSpacer('20px', null));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($supportedldapversion), true);
|
||||
|
||||
if ($configcontext != '') {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Config suffix") . '</b>', false));
|
||||
$container->addElement(new htmlSpacer('20px', null));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($configcontext), true);
|
||||
}
|
||||
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Schema suffix") . '</b>', false));
|
||||
$container->addElement(new htmlSpacer('20px', null));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($subschemasubentry), true);
|
||||
|
||||
if ($dynamicSubtrees != '') {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Dynamic subtrees") . '</b>', false));
|
||||
$container->addElement(new htmlSpacer('20px', null));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($dynamicSubtrees), true);
|
||||
}
|
||||
|
||||
$container->addElement(new htmlOutputText('<b>' . _("SASL mechanisms") . '</b>', false));
|
||||
$container->addElement(new htmlSpacer('20px', null));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($supportedsaslmechanisms), true);
|
||||
|
||||
if ($vendorname != '') {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Vendor name") . '</b>', false));
|
||||
$container->addElement(new htmlSpacer('20px', null));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($vendorname), true);
|
||||
}
|
||||
|
||||
if ($vendorversion != '') {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Vendor version") . '</b>', false));
|
||||
$container->addElement(new htmlSpacer('20px', null));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($vendorversion), true);
|
||||
}
|
||||
|
||||
// monitoring information
|
||||
if (isset($monitorEntries['cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Name") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=monitor']['monitoredinfo'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=listeners,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Listeners") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$listeners = array();
|
||||
$l = 0;
|
||||
while (isset($monitorEntries['cn=listener ' . $l . ',cn=listeners,cn=monitor'])) {
|
||||
$listeners[] = $monitorEntries['cn=listener ' . $l . ',cn=listeners,cn=monitor']['monitorconnectionlocaladdress'][0];
|
||||
$l++;
|
||||
}
|
||||
$container->addElement(new htmlOutputText(implode(', ', $listeners)), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=backends,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Backends") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=backends,cn=monitor']['monitoredinfo'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=overlays,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Overlays") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=overlays,cn=monitor']['monitoredinfo'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=max file descriptors,cn=connections,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Max. file descriptors") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=max file descriptors,cn=connections,cn=monitor']['monitorcounter'])), true);
|
||||
}
|
||||
|
||||
// server statistics
|
||||
if (isset($monitorEntries['cn=time,cn=monitor']) || isset($monitorEntries['cn=statistics,cn=monitor'])) {
|
||||
$container->addElement(new htmlSubTitle(_('Server statistics')), true);
|
||||
if (isset($monitorEntries['cn=entries,cn=statistics,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("LDAP entries") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=entries,cn=statistics,cn=monitor']['monitorcounter'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=referrals,cn=statistics,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Referrals") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=referrals,cn=statistics,cn=monitor']['monitorcounter'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=start,cn=time,cn=monitor'])) {
|
||||
$time = formatLDAPTimestamp($monitorEntries['cn=start,cn=time,cn=monitor']['monitortimestamp'][0]);
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Start time") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($time), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=current,cn=time,cn=monitor'])) {
|
||||
$time = formatLDAPTimestamp($monitorEntries['cn=current,cn=time,cn=monitor']['monitortimestamp'][0]);
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Server time") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($time), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=uptime,cn=time,cn=monitor'])) {
|
||||
$uptime = $monitorEntries['cn=uptime,cn=time,cn=monitor']['monitoredinfo'][0];
|
||||
$days = floor($uptime / (3600 * 24));
|
||||
$daysRest = $uptime - ($days * 3600 * 24);
|
||||
$hours = floor($daysRest / 3600);
|
||||
$hoursRest = $daysRest - ($hours * 3600);
|
||||
$minutes = floor($hoursRest / 60);
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Uptime") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($days . ':' . $hours . ':' . $minutes), true);
|
||||
}
|
||||
}
|
||||
|
||||
// connection statistics
|
||||
if (isset($monitorEntries['cn=connections,cn=monitor']) || isset($monitorEntries['cn=statistics,cn=monitor'])) {
|
||||
$container->addElement(new htmlSubTitle(_('Connection statistics')), true);
|
||||
if (isset($monitorEntries['cn=current,cn=connections,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Current connections") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=current,cn=connections,cn=monitor']['monitorcounter'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=total,cn=connections,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Total connections") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=total,cn=connections,cn=monitor']['monitorcounter'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=bytes,cn=statistics,cn=monitor'])) {
|
||||
$bytes = round($monitorEntries['cn=bytes,cn=statistics,cn=monitor']['monitorcounter'][0] / 1000000, 2) . 'MB';
|
||||
$container->addElement(new htmlOutputText('<b>' . _("Bytes sent") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($bytes), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=pdu,cn=statistics,cn=monitor'])) {
|
||||
$container->addElement(new htmlOutputText('<b>' . _("PDUs sent") . '</b>', false));
|
||||
$container->addElement($spacer);
|
||||
$container->addElement(new htmlOutputText($monitorEntries['cn=pdu,cn=statistics,cn=monitor']['monitorcounter'][0]), true);
|
||||
}
|
||||
}
|
||||
|
||||
// operation statistics
|
||||
if (isset($monitorEntries['cn=operations,cn=monitor'])) {
|
||||
$container->addElement(new htmlSubTitle(_('Operation statistics')), true);
|
||||
$opStats = new htmlTable();
|
||||
$opStats->colspan = 10;
|
||||
$opStats->addElement(new htmlOutputText(''));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("initiated") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("completed") . '</b>', false), true);
|
||||
if (isset($monitorEntries['cn=bind,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Bind") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=bind,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=bind,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=unbind,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Unbind") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=unbind,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=unbind,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=search,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Search") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=search,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=search,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=add,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Add") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=add,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=add,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=modify,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Modify") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=modify,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=modify,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=delete,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Delete") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=delete,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=delete,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=modrdn,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Modify RDN") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=modrdn,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=modrdn,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=compare,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Compare") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=compare,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=compare,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=abandon,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Abandon") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=abandon,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=abandon,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
if (isset($monitorEntries['cn=extended,cn=operations,cn=monitor'])) {
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Extended") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=extended,cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=extended,cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
}
|
||||
$opStats->addElement(new htmlSpacer(null, '10px'), true);
|
||||
$opStats->addElement(new htmlOutputText('<b>' . _("Total") . '</b>', false));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=operations,cn=monitor']['monitoropinitiated'])));
|
||||
$opStats->addElement($spacer);
|
||||
$opStats->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=operations,cn=monitor']['monitoropcompleted'])), true);
|
||||
$container->addElement($opStats);
|
||||
}
|
||||
//print_r($monitorEntries);
|
||||
|
||||
parseHtml(null, $container, array(), true, $tabindex, 'user');
|
||||
|
||||
echo '</div>';
|
||||
|
|
Loading…
Reference in New Issue