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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>12.2. Components</title>
<link rel="stylesheet" href="../stylesheets/icinga-docs.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
<meta name="keywords" content="Supervision, Icinga, Nagios, Linux">
<link rel="home" href="index.html" title="Icinga Version 1.14 Documentation">
<link rel="up" href="ch12.html" title="Chapter 12. IDOUtils">
<link rel="prev" href="db_intro.html" title="12.1. Introduction">
<link rel="next" href="configido.html" title="12.3. Configuration of IDOUtils">
<script src="../js/jquery-min.js" type="text/javascript"></script><script src="../js/icinga-docs.js" type="text/javascript"></script>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<CENTER><IMG src="../images/logofullsize.png" border="0" alt="Icinga" title="Icinga"></CENTER>
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">12.2. Components</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="db_intro.html">Prev</a> </td>
<th width="60%" align="center">Chapter 12. IDOUtils</th>
<td width="20%" align="right"> <a accesskey="n" href="configido.html">Next</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="section" title="12.2. Components">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="db_components"></a>12.2. Components</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section">12.2.1. <a href="db_components.html#overview">Overview</a></span></dt>
<dt><span class="section">12.2.2. <a href="db_components.html#idomod">IDOMOD</a></span></dt>
<dt><span class="section">12.2.3. <a href="db_components.html#log2ido">LOG2IDO</a></span></dt>
<dt><span class="section">12.2.4. <a href="db_components.html#file2sock">FILE2SOCK</a></span></dt>
<dt><span class="section">12.2.5. <a href="db_components.html#ido2db">IDO2DB</a></span></dt>
</dl></div>
<div class="section" title="12.2.1. Overview">
<div class="titlepage"><div><div><h3 class="title">
<a name="overview"></a>12.2.1. Overview</h3></div></div></div>
<p>There are four main components that make up the IDO utilities:</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<p>IDOMOD Event Broker Module</p>
</li>
<li class="listitem">
<p>LOG2IDO Utility</p>
</li>
<li class="listitem">
<p>FILE2SOCK Utility</p>
</li>
<li class="listitem">
<p>IDO2DB Daemon</p>
</li>
</ol></div>
<p>Each component is described in more detail on the following pages.</p>
</div>
<div class="section" title="12.2.2. IDOMOD">
<div class="titlepage"><div><div><h3 class="title">
<a name="idomod"></a>12.2.2. IDOMOD</h3></div></div></div>
<p>The IDO utilities includes an Icinga event broker module (IDOMOD.O) that exports data from the Icinga daemon.</p>
<p>Assuming that Icinga has been compiled with the event broker enabled (this is the default), you can configure Icinga
to load the IDOMOD module during runtime. Once the module has been loaded by the Icinga daemon, it can access all of the data and
logic present in the running Icinga process.</p>
<div class="figure">
<a name="idm140381621985872"></a><p class="title"><b>Figure 12.5. Loaded IDOMOD Event broker Module</b></p>
<div class="figure-contents">
<div class="mediaobject"><img src="../images/fig5.png" alt="Loaded IDOMOD Event broker Module"></div>
</div>
</div>
<br class="figure-break">
<p>The IDOMOD module has been designed to export configuration data, as well as information about various runtime events that occur
in the monitoring process, from the Icinga daemon. The module can send this data to a standard file, a Unix domain socket, or a
TCP socket.</p>
<div class="figure">
<a name="idm140381621982288"></a><p class="title"><b>Figure 12.6. IDOMOD Capabilities</b></p>
<div class="figure-contents">
<div class="mediaobject"><img src="../images/fig6.png" alt="IDOMOD Capabilities"></div>
</div>
</div>
<br class="figure-break">
<p>The IDOMOD module writes data in a format that the IDO2DB daemon (described later) can understand.</p>
<p>If the IDOMOD module is writing its output to a file, you can configure it to periodically rotate and/or process the output file
using a predefined Icinga command. This can be useful if you want to transfer the output file to another physical machine (using
SSH, etc. ) and send its contents to the IDO2DB daemon using the FILE2SOCK utility (described later).</p>
<p>If the IDOMOD module is writing its output to a TCP or Unix domain socket, it has some resistance to connection dropouts. The
module will attempt to cache its output until it can (re)connect to the socket for writing. This is helpful if the process that creates
and listens on the socket needs to be restarted, etc.</p>
</div>
<div class="section" title="12.2.3. LOG2IDO">
<div class="titlepage"><div><div><h3 class="title">
<a name="log2ido"></a>12.2.3. LOG2IDO</h3></div></div></div>
<p>The LOG2IDO utility has been designed to allow you to import historical Icinga, Nagios and NetSaint log files into a
database via the IDO2DB daemon (<a class="link" href="db_components.html#ido2db" title="12.2.5. IDO2DB">described later</a>). The utility works by sending historical log
file data to a standard file, a Unix domain socket, or a TCP socket in a format the IDO2DB daemon understands. The IDO2DB daemon can
then be used to process that output and store the historical logfile information in a database.</p>
<div class="figure">
<a name="idm140381621975136"></a><p class="title"><b>Figure 12.7. LOG2IDO Utility</b></p>
<div class="figure-contents">
<div class="mediaobject"><img src="../images/fig7.png" alt="LOG2IDO Utility"></div>
</div>
</div>
<br class="figure-break">
</div>
<div class="section" title="12.2.4. FILE2SOCK">
<div class="titlepage"><div><div><h3 class="title">
<a name="file2sock"></a>12.2.4. FILE2SOCK</h3></div></div></div>
<p>The FILE2SOCK utility is quite simple. It reads input from a standard file (or STDIN) and writes all of that data to either a Unix
domain socket or TCP socket. The data that is read is not processed in any way before it is sent to the socket.</p>
<div class="figure">
<a name="idm140381621970784"></a><p class="title"><b>Figure 12.8. FILE2SOCK Utility</b></p>
<div class="figure-contents">
<div class="mediaobject"><img src="../images/fig8.png" alt="FILE2SOCK Utility"></div>
</div>
</div>
<br class="figure-break">
<p>This utility is useful if you are directing the output of the IDOMOD event broker module and/or LOG2IDO utility to a standard
file. Once these components finish writing their output to a file, you can use the FILE2SOCK utility to send the contents of the file to
the IDO2DB daemon's TCP or Unix domain socket.</p>
</div>
<div class="section" title="12.2.5. IDO2DB">
<div class="titlepage"><div><div><h3 class="title">
<a name="ido2db"></a>12.2.5. IDO2DB</h3></div></div></div>
<p>The IDO2DB utility is designed to take the data output from the IDOMOD and LOG2IDO components and store it in a MySQL, Oracle, or PostgreSQL database.</p>
<p>When it starts, the IDO2DB daemon creates either a TCP or Unix domain socket and waits for clients to connect. IDO2DB can run
either as a standalone, multi-process daemon or under INETD (if using a TCP socket).</p>
<div class="figure">
<a name="idm140381621965056"></a><p class="title"><b>Figure 12.9. IDO2DB Daemon</b></p>
<div class="figure-contents">
<div class="mediaobject"><img src="../images/fig9.png" alt="IDO2DB Daemon"></div>
</div>
</div>
<br class="figure-break">
<p>Multiple clients can connect to the IDO2DB daemon's socket and transmit data simultaneously. A separate IDO2DB process is spawned
to handle each new client that connects. Data is read from each client and stored in a user-specified database for later retrieval and
processing.</p>
<div class="figure">
<a name="idm140381621962016"></a><p class="title"><b>Figure 12.10. IDO2DB with multiple Clients</b></p>
<div class="figure-contents">
<div class="mediaobject"><img src="../images/fig10.png" alt="IDO2DB with multiple Clients"></div>
</div>
</div>
<br class="figure-break">
<p>The IDO2DB daemon currently supports MySQL, Oracle, and PostgreSQL databases.</p>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="db_intro.html">Prev</a> </td>
<td width="20%" align="center"><a accesskey="u" href="ch12.html">Up</a></td>
<td width="40%" align="right"> <a accesskey="n" href="configido.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">12.1. Introduction </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
<td width="40%" align="right" valign="top"> 12.3. Configuration of IDOUtils</td>
</tr>
</table>
</div>
<P class="copyright">© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com</P>
</body>
</html>
|