File: db_components.html

package info (click to toggle)
icinga 1.14.2%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 49,264 kB
  • sloc: ansic: 108,564; sql: 9,656; sh: 4,945; perl: 3,439; makefile: 1,213; php: 581; xml: 104
file content (212 lines) | stat: -rw-r--r-- 9,429 bytes parent folder | download
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>