<!DOCTYPE html> <html lang='en'> <head> <title> monitor - LEAP Platform Documentation </title> <meta content='width=device-width, initial-scale=1.0' name='viewport'> <meta charset='UTF-8'> <base href="" /> <style> body { background: #444; display: flex; flex-direction: row; padding: 10px; margin: 0px; } #sidebar { flex: 0 0 250px; background: white; margin-right: 10px; padding: 20px; } #sidebar ul { list-style-type: none; padding-left: 0px; margin: 0; } #sidebar li { padding: 4px } #sidebar li a { text-decoration: none } #sidebar li.active { background: #444 } #sidebar li.active a { color: white } #sidebar li.level1 { padding-left: 20px } #sidebar li.level2 { padding-left: 40px } #main { flex: 1 1 auto; background: white; padding: 20px; } #title-box { padding-bottom: 20px; border-bottom: 5px solid #eee; } #title-box h1 { margin-top: 0px; } pre { padding: 10px; background: #eef; } code { background: #eef; } table {border-collapse: collapse} table td { border: 1px solid #ccc; padding: 4px; vertical-align: top; } </style> </head> <body> <div id='sidebar'> <ul> <li class=''> <a href='../../index.html'>Home</a> </li> <li class=' level0'> <a class='' href='../guide.html'>Guide</a> </li> <li class=' level0'> <a class='' href='../tutorials.html'>Tutorials</a> </li> <li class='semi-active level0'> <a class='' href='../services.html'>Services</a> </li> <li class=' level1'> <a class='' href='couchdb.html'>couchdb</a> </li> <li class=' level1'> <a class='' href='openvpn.html'>openvpn</a> </li> <li class='active level1'> <a class='' href='monitor.html'>monitor</a> </li> <li class=' level1'> <a class='' href='mx.html'>mx</a> </li> <li class=' level1'> <a class='' href='soledad.html'>soledad</a> </li> <li class=' level1'> <a class='' href='tor.html'>tor</a> </li> <li class=' level1'> <a class='' href='webapp.html'>webapp</a> </li> <li class=' level0'> <a class='' href='../upgrading.html'>Upgrading</a> </li> <li class=' level0'> <a class='' href='../troubleshooting.html'>Troubleshooting</a> </li> <li class=' level0'> <a class='' href='../details.html'>Details</a> </li> </ul> </div> <div id='main'> <div id='title-box'> <h1>monitor</h1> <div id='summary'>Nagios monitoring and continuous testing.</div> </div> <div id='content-box'> <div id="TOC"><ol> <li> <a href="monitor/index.html#topology">Topology</a> </li> <li> <a href="monitor/index.html#configuration">Configuration</a> </li> <li> <a href="monitor/index.html#access-nagios-web">Access nagios web</a> </li> </ol></div> <p>The <code>monitor</code> node provides a nagios control panel that will give you a view into the health and status of all the servers and all the services. It will also spam you with alerts if something goes down.</p> <h2><a name="topology"></a>Topology</h2> <p>Currently, you can have zero or one <code>monitor</code> nodes defined. It is required that the monitor be on the webapp node. It was not designed to be run as a separate node service.</p> <h2><a name="configuration"></a>Configuration</h2> <ul> <li><code>nagios.environments</code>: By default, the monitor node will monitor all servers in all environments. You can <strong>optionally</strong> restrict the environments to the ones you specify.</li> </ul> <p>For example:</p> <pre><code>{ "nagios": { "environments": ["unstable", "production"] } } </code></pre> <h2><a name="access-nagios-web"></a>Access nagios web</h2> <p>To open the nagios control panel:</p> <pre><code>workstation$ leap open monitor </code></pre> <p>This will open a web browser window with the appropriate URL, including the nagios username and password.</p> <p>If the URL does not open because of HSTS or DNS problems, pass the <code>--ip</code> option to <code>leap</code>.</p> <p>If you are using an older version of <code>leap</code> command that doesn’t include <code>leap open</code>, you can determine the nagio parameters manually:</p> <p>Step 1. find the domain:</p> <pre><code>workstation$ export DOMAIN=$(leap ls --print webapp.domain monitor | grep . | cut -f3 -d' ') </code></pre> <p>Step 2. find the username:</p> <pre><code>workstation$ export USERNAME="nagiosadmin" </code></pre> <p>Step 3. find the password:</p> <pre><code>workstation$ export PASSWORD=$(grep nagios_admin_password secrets.json | cut -f4 -d\") </code></pre> <p>Step 4. put it all together:</p> <pre><code>workstation$ sensible-browser "https://$USERNAME:$PASSWORD@$DOMAIN/nagios3" </code></pre> </div> </div> </body> </html>