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 36 37 38
|
<?php
/**
* Sanity check for memcache servers.
*
* This function verifies that all memcache servers work.
*
* @param array &$hookinfo hookinfo
*/
function memcacheMonitor_hook_sanitycheck(&$hookinfo) {
assert('is_array($hookinfo)');
assert('array_key_exists("errors", $hookinfo)');
assert('array_key_exists("info", $hookinfo)');
try {
$servers = SimpleSAML_Memcache::getRawStats();
} catch (Exception $e) {
$hookinfo['errors'][] = '[memcacheMonitor] Error parsing memcache configuration: ' . $e->getMessage();
return;
}
$allOK = TRUE;
foreach ($servers as $group) {
foreach ($group as $server => $status) {
if ($status === FALSE) {
$hookinfo['errors'][] = '[memcacheMonitor] No response from server: ' . $server;
$allOK = FALSE;
}
}
}
if ($allOK) {
$hookinfo['info'][] = '[memcacheMonitor] All servers responding.';
}
}
?>
|