diff --git a/lam/docs/manual-sources/howto.xml b/lam/docs/manual-sources/howto.xml index 395cd36f..100ae85c 100644 --- a/lam/docs/manual-sources/howto.xml +++ b/lam/docs/manual-sources/howto.xml @@ -2983,7 +2983,25 @@ Have fun!
Server information - This shows some basic information about your LDAP server. + This shows information and statistics about your LDAP server. This + includes the suffixes, used overlays, connection data and operation + statistics. You will need "cn=monitor" setup to see all details. Some + data may not be available depending on your LDAP server software. + + Please see the following links how to setup "cn=monitor": + + + + OpenLDAP + + + + 389 + server + + diff --git a/lam/docs/manual-sources/images/serverInfo.png b/lam/docs/manual-sources/images/serverInfo.png index fd2b22ff..f8a68868 100644 Binary files a/lam/docs/manual-sources/images/serverInfo.png and b/lam/docs/manual-sources/images/serverInfo.png differ diff --git a/lam/templates/serverInfo.php b/lam/templates/serverInfo.php index 505625cd..4d43593f 100644 --- a/lam/templates/serverInfo.php +++ b/lam/templates/serverInfo.php @@ -141,7 +141,7 @@ if ($vendorversion != '') { } // monitoring information -if (isset($monitorEntries['cn=monitor'])) { +if (isset($monitorEntries['cn=monitor']['monitoredinfo'])) { $container->addElement(new htmlOutputText('' . _("Name") . '', false)); $container->addElement($spacer); $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=monitor']['monitoredinfo'])), true); @@ -174,7 +174,7 @@ if (isset($monitorEntries['cn=max file descriptors,cn=connections,cn=monitor'])) } // server statistics -if (isset($monitorEntries['cn=time,cn=monitor']) || isset($monitorEntries['cn=statistics,cn=monitor'])) { +if (isset($monitorEntries['cn=time,cn=monitor']) || isset($monitorEntries['cn=statistics,cn=monitor']) || isset($monitorEntries['cn=monitor']['currenttime'])) { $container->addElement(new htmlSubTitle(_('Server statistics')), true); if (isset($monitorEntries['cn=entries,cn=statistics,cn=monitor'])) { $container->addElement(new htmlOutputText('' . _("LDAP entries") . '', false)); @@ -192,12 +192,24 @@ if (isset($monitorEntries['cn=time,cn=monitor']) || isset($monitorEntries['cn=st $container->addElement($spacer); $container->addElement(new htmlOutputText($time), true); } + elseif (isset($monitorEntries['cn=monitor']['starttime'])) { // Fedora 389 + $time = formatLDAPTimestamp($monitorEntries['cn=monitor']['starttime'][0]); + $container->addElement(new htmlOutputText('' . _("Start time") . '', 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('' . _("Server time") . '', false)); $container->addElement($spacer); $container->addElement(new htmlOutputText($time), true); } + elseif (isset($monitorEntries['cn=monitor']['currenttime'])) { // Fedora 389 + $time = formatLDAPTimestamp($monitorEntries['cn=monitor']['currenttime'][0]); + $container->addElement(new htmlOutputText('' . _("Server time") . '', 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)); @@ -212,41 +224,62 @@ if (isset($monitorEntries['cn=time,cn=monitor']) || isset($monitorEntries['cn=st } // connection statistics -if (isset($monitorEntries['cn=connections,cn=monitor']) || isset($monitorEntries['cn=statistics,cn=monitor'])) { +if (isset($monitorEntries['cn=connections,cn=monitor']) || isset($monitorEntries['cn=statistics,cn=monitor']) || isset($monitorEntries['cn=monitor']['currentconnections'])) { $container->addElement(new htmlSubTitle(_('Connection statistics')), true); if (isset($monitorEntries['cn=current,cn=connections,cn=monitor'])) { $container->addElement(new htmlOutputText('' . _("Current connections") . '', false)); $container->addElement($spacer); $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=current,cn=connections,cn=monitor']['monitorcounter'])), true); } + elseif (isset($monitorEntries['cn=monitor']['currentconnections'])) { // Fedora 389 + $container->addElement(new htmlOutputText('' . _("Current connections") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=monitor']['currentconnections'])), true); + } if (isset($monitorEntries['cn=total,cn=connections,cn=monitor'])) { $container->addElement(new htmlOutputText('' . _("Total connections") . '', false)); $container->addElement($spacer); $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=total,cn=connections,cn=monitor']['monitorcounter'])), true); } + elseif (isset($monitorEntries['cn=monitor']['totalconnections'])) { // Fedora 389 + $container->addElement(new htmlOutputText('' . _("Total connections") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=monitor']['totalconnections'])), 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('' . _("Bytes sent") . '', false)); $container->addElement($spacer); $container->addElement(new htmlOutputText($bytes), true); } + elseif (isset($monitorEntries['cn=monitor']['bytessent'])) { // Fedora 389 + $bytes = round($monitorEntries['cn=monitor']['bytessent'][0] / 1000000, 2) . 'MB'; + $container->addElement(new htmlOutputText('' . _("Bytes sent") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText($bytes), true); + } if (isset($monitorEntries['cn=pdu,cn=statistics,cn=monitor'])) { $container->addElement(new htmlOutputText('' . _("PDUs sent") . '', false)); $container->addElement($spacer); $container->addElement(new htmlOutputText($monitorEntries['cn=pdu,cn=statistics,cn=monitor']['monitorcounter'][0]), true); } + if (isset($monitorEntries['cn=monitor']['entriessent'])) { // Fedora 389 + $container->addElement(new htmlOutputText('' . _("Entries sent") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText($monitorEntries['cn=monitor']['entriessent'][0]), true); + } } -// operation statistics +// operation statistics (OpenLDAP) 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('' . _("initiated") . '', false)); + $opStats->addElement(new htmlOutputText('' . _("Initiated") . '', false)); $opStats->addElement($spacer); - $opStats->addElement(new htmlOutputText('' . _("completed") . '', false), true); + $opStats->addElement(new htmlOutputText('' . _("Completed") . '', false), true); if (isset($monitorEntries['cn=bind,cn=operations,cn=monitor'])) { $opStats->addElement(new htmlOutputText('' . _("Bind") . '', false)); $opStats->addElement($spacer); @@ -317,15 +350,52 @@ if (isset($monitorEntries['cn=operations,cn=monitor'])) { $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('' . _("Total") . '', 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); + if (isset($monitorEntries['cn=operations,cn=monitor']['monitoropinitiated'])) { + $opStats->addElement(new htmlSpacer(null, '10px'), true); + $opStats->addElement(new htmlOutputText('' . _("Total") . '', 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); +// operation statistics (389 server) +elseif (isset($monitorEntries['cn=monitor']['opsinitiated'])) { + $container->addElement(new htmlSubTitle(_('Operation statistics')), true); + $container->addElement(new htmlOutputText('' . _("Initiated") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=monitor']['opsinitiated'])), true); + $container->addElement(new htmlOutputText('' . _("Completed") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=monitor']['opscompleted'])), true); + if (isset($monitorEntries['cn=snmp,cn=monitor']['addentryops'])) { + $container->addElement(new htmlOutputText('' . _("Bind") . '', false)); + $container->addElement($spacer); + $binds = $monitorEntries['cn=snmp,cn=monitor']['anonymousbinds'][0] + $monitorEntries['cn=snmp,cn=monitor']['unauthbinds'][0] + + $monitorEntries['cn=snmp,cn=monitor']['simpleauthbinds'][0] + $monitorEntries['cn=snmp,cn=monitor']['strongauthbinds'][0]; + $container->addElement(new htmlOutputText($binds), true); + $container->addElement(new htmlOutputText('' . _("Search") . '', false)); + $container->addElement($spacer); + $searches = $monitorEntries['cn=snmp,cn=monitor']['searchops'][0]; + $container->addElement(new htmlOutputText($searches), true); + $container->addElement(new htmlOutputText('' . _("Add") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=snmp,cn=monitor']['addentryops'])), true); + $container->addElement(new htmlOutputText('' . _("Modify") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=snmp,cn=monitor']['modifyentryops'])), true); + $container->addElement(new htmlOutputText('' . _("Delete") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=snmp,cn=monitor']['removeentryops'])), true); + $container->addElement(new htmlOutputText('' . _("Modify RDN") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=snmp,cn=monitor']['modifyrdnops'])), true); + $container->addElement(new htmlOutputText('' . _("Compare") . '', false)); + $container->addElement($spacer); + $container->addElement(new htmlOutputText(implode(', ', $monitorEntries['cn=snmp,cn=monitor']['compareops'])), true); + } +} parseHtml(null, $container, array(), true, $tabindex, 'user');