Repository navigation
Expand file tree
/
Copy pathQuery.html
More file actions
12 lines (12 loc) · 13.6 KB
/
Copy pathQuery.html
File metadata and controls
12 lines (12 loc) · 13.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
<!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/html; charset=UTF-8" /><title>Query</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Query.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">habbix-0.1.0.0: Multi-Axis library/executable and misc. zabbix tools</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(C) 2014 Samuli Thomasson</td></tr><tr><th>License</th><td>MIT (see the file LICENSE)</td></tr><tr><th>Maintainer</th><td>Samuli Thomasson <[email protected]></td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>non-portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Query</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Host and app info</a></li><li><a href="#g:2">History and trends</a></li><li><a href="#g:3">Future</a></li><li><a href="#g:4">Populate from remote</a></li><li><a href="#g:5">General utility</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Queries built with persistent esqueleto against or db (see models in
<a href="Models.html">Models</a>).</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:selectHosts">selectHosts</a> :: <a href="ZabbixDB.html#t:DB">DB</a> [(<a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Group">Group</a>, <a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Host">Host</a>)]</li><li class="src short"><a href="#v:selectHostApplications">selectHostApplications</a> :: <a href="Models.html#t:HostId">HostId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> [<a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Application">Application</a>]</li><li class="src short"><a href="#v:selectAppItems">selectAppItems</a> :: <a href="Models.html#t:ApplicationId">ApplicationId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> [<a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Item">Item</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:DPS">DPS</a> = Source <a href="ZabbixDB.html#t:DB">DB</a> (<a href="ZabbixDB.html#t:Epoch">Epoch</a>, <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Prelude.html#t:Rational">Rational</a>)</li><li class="src short"><a href="#v:selectHistory">selectHistory</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="Query.html#t:DPS">DPS</a></li><li class="src short"><a href="#v:selectHistory-39-">selectHistory'</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="ZabbixDB.html#t:Epoch">Epoch</a> -> <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> <a href="ZabbixDB.html#t:Epoch">Epoch</a> -> <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> <a href="ZabbixDB.html#t:Epoch">Epoch</a> -> <a href="Query.html#t:DPS">DPS</a></li><li class="src short"><a href="#v:selectHistoryLast">selectHistoryLast</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> (<a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="ZabbixDB.html#t:Epoch">Epoch</a>, <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Prelude.html#t:Rational">Rational</a>))</li><li class="src short"><a href="#v:selectHistoryMax">selectHistoryMax</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> (<a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Prelude.html#t:Rational">Rational</a>)</li><li class="src short"><a href="#v:selectZabTrendItem">selectZabTrendItem</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> (<a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Host">Host</a>, <a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Item">Item</a>, [<a href="Models.html#t:Trend">Trend</a>])</li><li class="src short"><a href="#v:newItemFuture">newItemFuture</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="Models.html#t:FutureModelId">FutureModelId</a> -> <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Bool.html#t:Bool">Bool</a> -> <a href="ZabbixDB.html#t:Habbix">Habbix</a> <a href="Models.html#t:ItemFutureId">ItemFutureId</a></li><li class="src short"><a href="#v:populateZabbixParts">populateZabbixParts</a> :: <a href="ZabbixDB.html#t:Habbix">Habbix</a> ()</li><li class="src short"><a href="#v:populateDefaultFutures">populateDefaultFutures</a> :: <a href="ZabbixDB.html#t:Habbix">Habbix</a> ()</li><li class="src short"><a href="#v:populateAll">populateAll</a> :: <a href="ZabbixDB.html#t:Habbix">Habbix</a> ()</li><li class="src short"><a href="#v:withMaybe">withMaybe</a> :: <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Control-Monad.html#t:Monad">Monad</a> m => <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a -> (a -> m ()) -> m ()</li><li class="src short"><a href="#v:getCurrentEpoch">getCurrentEpoch</a> :: <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/System-IO.html#t:IO">IO</a> <a href="ZabbixDB.html#t:Epoch">Epoch</a></li></ul></div><div id="interface"><h1 id="g:1">Host and app info</h1><div class="top"><p class="src"><a name="v:selectHosts" class="def">selectHosts</a> :: <a href="ZabbixDB.html#t:DB">DB</a> [(<a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Group">Group</a>, <a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Host">Host</a>)]</p><div class="doc"><p>Select all hosts along with their groups that do <em>not</em> belong to the
Templates (groupid == 1).</p></div></div><div class="top"><p class="src"><a name="v:selectHostApplications" class="def">selectHostApplications</a> :: <a href="Models.html#t:HostId">HostId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> [<a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Application">Application</a>]</p><div class="doc"><p>All apps for the host (cpu, memory, network, fs, ...).</p></div></div><div class="top"><p class="src"><a name="v:selectAppItems" class="def">selectAppItems</a> :: <a href="Models.html#t:ApplicationId">ApplicationId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> [<a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Item">Item</a>]</p><div class="doc"><p>All items for an application. For example, querying for CPU gives
items for 1 min avg load, 5 min avg load 15 min avg load, idle time, etc.</p><p><em>Discards items that do not show up in the history table</em>.</p></div></div><h1 id="g:2">History and trends</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:DPS" class="def">DPS</a> = Source <a href="ZabbixDB.html#t:DB">DB</a> (<a href="ZabbixDB.html#t:Epoch">Epoch</a>, <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Prelude.html#t:Rational">Rational</a>)</p></div><div class="top"><p class="src"><a name="v:selectHistory" class="def">selectHistory</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="Query.html#t:DPS">DPS</a></p><div class="doc"><p>Get all history for given item.</p></div></div><div class="top"><p class="src"><a name="v:selectHistory-39-" class="def">selectHistory'</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Models.html#t:ItemId">ItemId</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="ZabbixDB.html#t:Epoch">Epoch</a></td><td class="doc"><p>Current time (for relative From)</p></td></tr><tr><td class="src">-> <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> <a href="ZabbixDB.html#t:Epoch">Epoch</a></td><td class="doc"><p>From</p></td></tr><tr><td class="src">-> <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> <a href="ZabbixDB.html#t:Epoch">Epoch</a></td><td class="doc"><p>To</p></td></tr><tr><td class="src">-> <a href="Query.html#t:DPS">DPS</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Get all history for given item, vtype == 0 or 3.</p></div></div><div class="top"><p class="src"><a name="v:selectHistoryLast" class="def">selectHistoryLast</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> (<a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="ZabbixDB.html#t:Epoch">Epoch</a>, <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Prelude.html#t:Rational">Rational</a>))</p></div><div class="top"><p class="src"><a name="v:selectHistoryMax" class="def">selectHistoryMax</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> (<a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Prelude.html#t:Rational">Rational</a>)</p></div><div class="top"><p class="src"><a name="v:selectZabTrendItem" class="def">selectZabTrendItem</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="ZabbixDB.html#t:DB">DB</a> (<a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Host">Host</a>, <a href="file:///home/sim/habbix/.cabal-sandbox/share/doc/x86_64-linux-ghc-7.8.3/persistent-2.0.4/html/Database-Persist-Types.html#t:Entity">Entity</a> <a href="Models.html#t:Item">Item</a>, [<a href="Models.html#t:Trend">Trend</a>])</p></div><h1 id="g:3">Future</h1><div class="top"><p class="src"><a name="v:newItemFuture" class="def">newItemFuture</a> :: <a href="Models.html#t:ItemId">ItemId</a> -> <a href="Models.html#t:FutureModelId">FutureModelId</a> -> <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Bool.html#t:Bool">Bool</a> -> <a href="ZabbixDB.html#t:Habbix">Habbix</a> <a href="Models.html#t:ItemFutureId">ItemFutureId</a></p></div><h1 id="g:4">Populate from remote</h1><div class="top"><p class="src"><a name="v:populateZabbixParts" class="def">populateZabbixParts</a> :: <a href="ZabbixDB.html#t:Habbix">Habbix</a> ()</p><div class="doc"><p>Fetch zabbix data (from remote to local) for all zabbix-tables except
history and trends</p></div></div><div class="top"><p class="src"><a name="v:populateDefaultFutures" class="def">populateDefaultFutures</a> :: <a href="ZabbixDB.html#t:Habbix">Habbix</a> ()</p><div class="doc"><p>Adds default item_futures to those items that do not have any.</p><p>Items to add must satisfy:
- key_ must be in metric table
- hostid must not be in the Templates host group (groupid = 1)
- the itemid must not be present in any row of item_future</p></div></div><div class="top"><p class="src"><a name="v:populateAll" class="def">populateAll</a> :: <a href="ZabbixDB.html#t:Habbix">Habbix</a> ()</p><div class="doc"><p>Fetch zabbix history data (from remote to local) for all items present
in the item_future table.</p></div></div><h1 id="g:5">General utility</h1><div class="top"><p class="src"><a name="v:withMaybe" class="def">withMaybe</a> :: <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Control-Monad.html#t:Monad">Monad</a> m => <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a -> (a -> m ()) -> m ()</p></div><div class="top"><p class="src"><a name="v:getCurrentEpoch" class="def">getCurrentEpoch</a> :: <a href="file:///usr/share/doc/ghc/html/libraries/base-4.7.0.1/System-IO.html#t:IO">IO</a> <a href="ZabbixDB.html#t:Epoch">Epoch</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.14.3</p></div></body></html>