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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Raritan PX2/PX3 JSON-RPC API: Server Reachability Monitoring</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Raritan PX2/PX3 JSON-RPC API
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Server Reachability Monitoring </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The server reachability monitor is configured via the <b>servermon.ServerMonitor</b> interface at the well-known URI <code>/servermon</code>. Monitored servers are managed with the <b>addServer</b>, <b>modifyServer</b> and <b>deleteServer</b> methods and retrieved with <b>listServers</b> and <b>getServers</b>.</p>
<div class="fragment"><div class="line"><span class="comment"># Python example: Monitor a new server</span></div><div class="line"></div><div class="line"><span class="keyword">import</span> raritan.rpc.servermon</div><div class="line"></div><div class="line">server = raritan.rpc.servermon.ServerMonitor.ServerSettings(</div><div class="line"> host = <span class="stringliteral">"8.8.8.8"</span>,</div><div class="line"> enabled = <span class="keyword">True</span>,</div><div class="line"> pingInterval = 60, <span class="comment"># seconds</span></div><div class="line"> retryInterval = 5, <span class="comment"># seconds</span></div><div class="line"> activationCount = 15,</div><div class="line"> failureCount = 5,</div><div class="line"> resumeDelay = 180, <span class="comment"># seconds</span></div><div class="line"> resumeCount = 5</div><div class="line">)</div><div class="line"></div><div class="line">server_monitor = raritan.rpc.servermon.ServerMonitor(<span class="stringliteral">"/servermon"</span>, agent)</div><div class="line">server_monitor.addServer(server)</div></div><!-- fragment --><h2>Reacting to Server Status Changes</h2>
<p>Server status changes raise events that can be used to trigger event rules. See <a class="el" href="eventengine.html">Event Rules and Actions</a> for details. The second component in the event ID is the server's host name in the exact notation of the server settings. For example, an event rule for the server in the example above would select event IDs like <code>[ "Server", "8.8.8.8", "Unreachable" ]</code>. It is possible to use the wildcard <code>*</code> as host name to select events for all monitored servers.</p>
<p>The following events are emitted for monitored servers.</p>
<ul>
<li><code>Server.<host>.Monitored</code>: State event. Asserted when a new server is monitored, deasserted when deleting or disabling the server entry.</li>
<li><code>Server.<host>.Error</code>: Trigger event. Sent once when there is an error monitoring a server, e.g. when the host name coult not be resolved.</li>
<li><code>Server.<host>.Unreachable</code>: State event. Asserted when a formerly reachable server becomes unreachable. Repeatedly asserted if the server is still unreachable after resuming. Deasserted when a server becomes reachable.</li>
<li><code>Server.<host>.Unrecoverable</code>: Trigger event. Sent once when a server is still unreachable after resuming <b>resumeCount</b> times. No further events will be raised until the server becomes reachable. </li>
</ul>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Aug 21 2020 10:20:37 for Raritan PX2/PX3 JSON-RPC API by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
|