12.5. IDOUtils Database Model
Prev | Chapter 12. IDOUtils | Next

## 12.5. IDOUtils Database Model

This documentation is based on the NDOUtils database model documentation by Ethan Galstad and altered to fit the changes necessary in IDOUtils.

Introduction

This documentation is still in flux, and there are undoubtably errors present, so take everything you find here with a grain of salt. If you have suggestions, changes, etc. for the documentation, please let us know.

| Important
Although we took care to be accurate there may be alterations in the current code which aren't reflected here so if in doubt please take a look at the actual code.

| Note
The data types and field lenghts mentioned throughout the following documentation show the definitions for MySQL. Oracle and PostgreSQL use other data types and field lengths.

Table Names

The IDOUtils addon allows users to specify a custom prefix to each table name in the database. By default, this prefix is set to "icinga_" in ido2db.cfg. The tables documented here are listed without any prefix.

| Note

Due to limitations in Oracle the length of table names cannot exceed 30 characters so

- The name of one table has been shortened: serviceescalation_contactgroups -> serviceescalationcontactgroups

- The table prefix is ignored

Keys

Every table has a primary key (designated as "PK"). Most tables have a unique key consisting of one ("UK") or more columns ("UKn" whereas n shows the position in the key). Some tables have a non-unique key ("NK") which may be composed of several columns as well ("NKn").

There are a lot of tables containing different information so the description is divided into five parts:

- Central Tables

- Debugging Tables

- Historical Tables

- Current Status Tables

- Configuration Tables

### 12.5.1. Central Tables

There are two "core" or "central" tables, described below, that are referenced by nearly every table in the database. Read below for more information.

Table List

- instances

- objects

Relationship Diagram

Figure 12.14. Relationship of Central Tables

Instance Table

Description: This table is needed to ensure that multiple instances of Icinga can store their configuration and status information in the same database. Each instance represents a different Icinga installation/process. A new instance will automatically be created when the user specifies a new instance name (when running one of the IDOUtils components) that does not already exist in the database.

Structure:

Field | Type | Notes | Key
instance_id | SERIAL | Unique number identifying a distinct instance of Icinga | PK
instance_name | VARCHAR(64) | Instance name, as passed to and used by IDOUtils components |
instance_description | VARCHAR(128) | Optional text describing the instance in more detail |

Objects Table

Description: This table is used to store all current (and past) objects that are (and have been) defined in your Icinga configuration files. Why are the names of the objects stored in this table and not elsewhere? Well, when you delete an object definition from your Icinga configuration, that object will no longer appear in the object tables of the database. Since you're still going to want to be able to run reports for old hosts, service, etc., we store the name of the object here so you're not completely baffled by the reports you get. :-)

Structure:

Field | Type | Notes | Values | Key
object_id | SERIAL | A unique number identifying the object |  | PK
instance_id | BIGINT unsigned | A number indicating the instance of Icinga to which the object belongs |  |
objecttype_id | BIGINT unsigned | A number indicating what type of object this is | 1 = Host; 2 = Service; 3 = Host group; 4 = Service group; 5 = Host escalation; 6 = Service escalation; 7 = Host dependency; 8 = Service dependency; 9 = Timeperiod; 10 = Contact; 11 = Contact group; 12 = Command; 13 = Extended host info (deprecated); 14 = Extended service info (deprecated) | NK1
name1 | VARCHAR(128) | The first name associated with the object definition, as used in your Icinga configuration files |  | NK2
name2 | VARCHAR(128) | The second name (if any) associated with the object definition, as used in your Icinga configuration files. This field is only used for service definitions which have a host name (name1 field) and service description (name2 field) |  | NK3
is_active | SMALLINT | A number indicating whether or not the object is currently defined in your Icinga configuration files. If an object definition is removed from your Icinga configuration files, it will remain in this table, but will be marked as inactive | 0 = Inactive; 1 = Active |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

### 12.5.2. Debugging Tables

There is currently only one table in the database that is used to hold information that might be useful for debugging purposes. Read below for more information.

Table List

- conninfo

Relationship Diagram

Figure 12.15. Relationship of Debugging Tables

Conninfo Table

Description: This table is used to store debugging information regarding the IDO2DB daemon and the user agents (e.g. LOG2DB, IDOMOD NEB module, etc.) that connect to it. This information is probably only interesting if you are attempting to debug connection problems.

Structure:

Field | Type | Notes | Values | Key
conninfo_id | SERIAL | Unique number identifying the connection info record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga for which data is being transmitted/processed |  |
agent_name | VARCHAR(32) | Text string identifying the user agent that is sending data to the IDO2DB daemon | Typically "IDOMOD" or "LOG2IDO" |
agent_version | VARCHAR(8) | Text string identifying the version of the user agent that is sending data |  |
disposition | VARCHAR(16) | Text string identifying the disposition or type of data that is being sent to the IDO2DB daemon | "REALTIME" if being sent directly from a running Icinga process or "ARCHIVED" if being sent from a flat file |
connect_source | VARCHAR(16) | Text string identifying the method that the user agent is using to connect to the IDO2DB daemon | "TCPSOCKET" or "UNIXSOCKET" |
connect_type | VARCHAR(16) | Text string identifying whether this connect was a new connection, or if it was a reconnect due to an earlier communications failure between the user agent and the IDO2DB daemon | "INITIAL" or "RECONNECT" |
connect_time | TIMESTAMP | The initial time the user agent connected to the daemon |  |
disconnect_time | TIMESTAMP | The time (if any) the user agent disconnect from the daemon |  |
last_checkin_time | TIMESTAMP | The time that the user agent last checked in with the daemon to indicate that it was still alive and sending data |  |
data_start_time | TIMESTAMP | The timestamp of the first data that the user agent sent to the daemon |  |
data_end_time | TIMESTAMP | The timestamp of the last (or latest) data that the user agent sent to the daemon |  |
bytes_processed | BIGINT unsigned | The number of bytes of data that have been sent by the user agent and processed by the daemon |  |
lines_processed | BIGINT unsigned | The number of lines of data that have been sent by the user agent and processed by the daemon |  |
entries_processed | BIGINT unsigned | The number of data entries that have been sent by the user agent and processed by the daemon |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

### 12.5.3. Historical Tables

Historical Data Tables

There are several tables in the database which are used to hold "historical" information about Icinga and the hosts/services it is monitoring or was monitoring at some point in the past. Keep in mind that historical items may not necessarily be "old" - they could have occurred 5 seconds ago, so the information used within these tables could/should be used when reporting current status information. Links to hosts/services which no longer exist in the Icinga configuration are maintained due to references for these previous objects existing in the objects table - this is by design.

Table List

- acknowledgements

- commenthistory

- contactnotifications

- dbversion

- downtimehistory

- eventhandlers

- externalcommands

- flappinghistory

- hostchecks

- logentries

- notifications

- processevents

- servicechecks

- statehistory

- systemcommands

- timedevents

- slahistory

Relationship Diagram

Notes: For clarity, the instances table (to which all these tables are related) is not shown. There are 17 historical tables, so please excuse the mess. :-)

Figure 12.16. Relationship of Historical Tables

Acknowledgements Table

Table Description: This table is used to store host and service acknowledgements for historical purposes.

Structure:

Field | Type | Notes | Values | Key
acknowledgement_id | SERIAL | Unique number identifying the acknowledgement record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
entry_time | TIMESTAMP | Date and time the acknowledgement was entered |  |
entry_time_usec | INT | Microsecond portion of acknowledgement entry time |  |
acknowledgement_type | SMALLINT | Indicates whether this is a host or service acknowledgement | 0 = Host ack; 1 = Service ack |
object_id | BIGINT unsigned | The object id of the host or service this acknowledgement applies to |  |
state | SMALLINT | Integer indicating the state the host or service was in when the acknowledgement was made | Host acks: 0 = UP; 1 = DOWN; 2 = UNREACHABLE; Service acks: 0 = OK; 1 = WARNING; 2 = CRTICAL; 3 = UNKNOWN |
author_name | VARCHAR(64) | Text field containing the name of the person who made the acknowledgement |  |
comment_data | VARCHAR(255) | Text field containing notes on the acknowledgement |  |
is_sticky | SMALLINT | Indicates whether or not the acknowledgement is considered "sticky" | 0 = Not sticky; 1 = Sticky |
persistent_comment | SMALLINT | Indicates whether or not the comment associated with the acknowledgement is persistent | 0 = Not persistent; 1 = Persistent |
notify_contacts | SMALLINT | Indicates whether or not contacts are to be notified of the acknowledgement | 0 = Don't notify; 1 = Notify |
end_time | TIMESTAMP | Date and time the acknowledgement was deleted |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

Commenthistory Table

Table Description: This table is used to store historical host and service comments. Current comments will also appear in this table, but it is recommended to use the comments table to retrieve a list of current host and service comments.

Structure:

Field | Type | Notes | Values | Key
commenthistory_id | SERIAL | Unique number identifying the comment record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
entry_time | TIMESTAMP | Date and time the comment was entered |  |
entry_time_usec | INT | Microsecond portion of comment entry time |  |
comment_type | SMALLINT | Indicates whether this is a host or service comment | 1 = Host comment; 2 = Service comment |
entry_type | SMALLINT | Indicates how this comment came to be entered | 1 = User; 2 = Scheduled downtime; 3 = Flapping; 4 = Acknowledgement |
object_id | BIGINT unsigned | The object id of the host or service this acknowledgement applies to |  |
comment_time | TIMESTAMP | Date and time associated with the comment |  | UK2
Internal_comment_id | BIGINT unsigned | The comment ID internal to the Icinga daemon, which may no longer be valid or present |  | UK3
author_name | VARCHAR(64) | Text field containing the name of the person who made the comment |  |
comment_data | VARCHAR(255) | Text field containing the comment |  |
is_persistent | SMALLINT | Indicates whether or not the comment is persistent | 0 = Not persistent; 1 = Persistent |
comment_source | SMALLINT | Indicates the source of the comment | 0 = Internal (Icinga); 1 = External (user) |
expires | SMALLINT | Indicates whether or not the comment expires | 0 = Doesn't expire; 1 = Expires |
expiration_time | TIMESTAMP | Date and time at which the comment expires |  |
deletion_time | TIMESTAMP | Date and time (if any) when the comment was deleted |  |
deletion_time_usec | INT | Microsecond time (if any) when the comment was deleted |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

Contactnotifications Table

Description: This table is used to store a historical record of host and service notifications that have been sent out to individual contacts.

Structure:

Field | Type | Notes | Values | Key
contactnotification_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
notification_id | BIGINT unsigned | The id of the notification this record is associated with |  |
contact_object_id | BIGINT unsigned | The object id of the contact this notification was send to |  | UK2
start_time | TIMESTAMP | The date/time the notification to this contact was started |  | UK3
start_time_usec | INT | The microsecond portion of the time the notification started |  | UK4
end_time | TIMESTAMP | The date/time the notification to this contact ended |  |
end_time_usec | INT | The microsecond portion of the time the notification ended |  |

Dbversion Table

Description: This table is used to store version information about the DB.

Structure:

Field | Type | Notes | Values | Key
dbversion_id | SERIAL | Unique number identifying the record |  | PK
name | VARCHAR(10) | Name of the database |  | UK
version | VARCHAR(10) | Version number of the database |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
notification_id | notifications.notification_id
contact_object_id | objects.object_id

Contactnotificationmethods Table

Description: This table is used to store a historical record of commands (methods) that were used to contact individuals about host and service problems and recoveries.

Structure:

Field | Type | Notes | Values | Key
contactnotificationmethod_id | INT | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
contactnotification_id | INT | The id of the contact notification this record is associated with |  | UK2
start_time | TIMESTAMP | The date/time the notification command started |  | UK3
start_time_usec | INT | The microsecond portion of the time the notification command started |  | UK4
end_time | TIMESTAMP | The date/time the notification command ended |  |
end_time_usec | INT | The microsecond portion of the time the notification command ended |  |
command_object_id | INT | The id of the command that was used for the notification command |  |
command_args | VARCHAR | The arguments that were passed to the notification command |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
contactnotification_id | contactnotifications.contactnotification_id
command_object_id | objects.object_id

Downtimehistory Table

Description: This table is used to store a historical record of scheduled host and service downtime

Structure:

Field | Type | Notes | Values | Key
downtimehistory_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
downtime_type | SMALLINT | A number identifying what type of scheduled downtime this is | 1 = Service downtime; 2 = Host downtime |
object_id | BIGINT unsigned | The object id of the host or service this scheduled downtime is associated with |  | UK2
entry_time | TIMESTAMP | The date/time the scheduled downtime was entered/submitted |  | UK3
author_name | VARCHAR(64) | The name of the person who scheduled this downtime |  |
comment_data | VARCHAR(255) | A comment, as entered by the author, associated with the scheduled downtime |  |
internal_downtime_id | BIGINT unsigned | A number (internal to the Icinga daemon) associated with the scheduled downtime |  | UK4
triggered_by_id | BIGINT unsigned | The id of another scheduled downtime entry that scheduled downtime is optionally triggered by. Non-triggered downtimes will have a value of 0 in this field |  |
is_fixed | SMALLINT | A number indicating whether or not this scheduled downtime is fixed (i.e. its start and end times are exactly what they are listed below as) or if it is flexible | 0 = Flexible (Not fixed); 1 = Fixed |
duration | SMALLINT | The number of seconds that the scheduled downtime should last. This is only used by Icinga is the downtime is flexible. If the downtime is fixed, this value should reflect the difference between the start and end times |  |
scheduled_start_time | TIMESTAMP | The date/time the scheduled downtime is supposed to start. If this is a flexible (non-fixed) downtime, this refers to the earliest possible time that the downtime can start |  |
scheduled_end_time | TIMESTAMP | The date/time the scheduled downtime is supposed to end. If this is a flexible (non-fixed) downtime, this refers to the last possible time that the downtime can start |  |
was_started | SMALLINT | Number indicated whether or not the scheduled downtime was started. Some flexible downtimes may never actually start if the host/service they are associated with never enter a problem state | 0 = Was not started; 1 = Was started |
actual_start_time | TIMESTAMP | The date/time the scheduled downtime was actually started (if applicable) |  |
actual_start_time_usec | INT | Microsecond portion of the actual start time |  |
actual_end_time | TIMESTAMP | The date/time the scheduled downtime actually ended |  |
actual_end_time_usec | INT | Microsecond portion of the actual end time |  |
was_cancelled | SMALLINT | Number indicating whether or not the scheduled downtime was cancelled before it ended normally | 0 = Not cancelled; 1 = Cancelled early |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id
triggered_by_id | [downtimehistory.]downtimehistory_id

Eventhandlers Table

Description: This table is used to store a historical record of host and service event handlers that have been run. NOTE: This table is usually trimmed periodically by the IDO2DB daemon, as it would otherwise grow to an enormous size.

Structure:

Field | Type | Notes | Values | Key
eventhandler_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
eventhandler_type | SMALLINT | A number indicating what type of event handler this is | 0 = Host event handler; 1 = Service event handler; 2 = Global host event handler; 3 = Global service event handler |
object_id | BIGINT unsigned | The object id of the host or service associated with this event handler |  | UK2
state | SMALLINT | Number indicating the state of host or service when the event handler was run. | For host event handlers: 0 = UP; 1 = DOWN; 2 = UNREACHABLE; For service event handlers:; 0 = OK; 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN |
state_type | SMALLINT | Number indicating the state type of the host or service when the event handler was run | 0 = SOFT state; 1 = HARD state |
start_time | TIMESTAMP | The date/time the event handler started |  | UK3
start_time_usec | INT | The microsecond portion of the time the event handler started |  | UK4
end_time | TIMESTAMP | The date/time the event handler ended |  |
end_time_usec | INT | The microsecond portion of the time the event handler ended |  |
command_object_id | BIGINT unsigned | The id of the command that was run |  |
command_args | VARCHAR(255) | Arguments to the event handler command that was run |  |
command_line | VARCHAR(1024) | Fully expanded command line of the event handler that was run |  |
timeout | SMALLINT | Timeout value in seconds for the event handler |  |
early_timeout | SMALLINT | Number indicating whether or not the event handler command timed out | 0 = Did NOT time out. 1 = Timed out |
execution_time | DOUBLE | Time in seconds that the event handler command was running |  |
return_code | SMALLINT | The return code value from the event handler command |  |
output | VARCHAR(255) | The first line of text output (if any) from the event handler command |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id
command_object_id | objects.object_id

Externalcommands Table

Description: This table is used to store a historical record of external commands that have been processed by the Icinga daemon.

Structure:

Field | Type | Notes | Values | Key
externalcommand_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
entry_time | TIMESTAMP | The date/time the external command was processed |  |
command_type | SMALLINT | A number indicating what type of external command this is. Each external command has its own type or "id" | See Icinga source code |
command_name | VARCHAR(128) | The name of the command that was processed |  |
command_args | VARCHAR(255) | Optional arguments that were specified with the command. |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

Flappinghistory Table

Table Description: This table is used to store a historical record of host and service flapping events.

Structure:

Field | Type | Notes | Values | Key
flappinghistory_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
event_time | TIMESTAMP | The date/time of the flapping event |  |
event_time_usec | INT | The microsecond portion of the time of the flapping event |  |
event_type | SMALLINT | The type of flapping event indicated by this record | 1000 = Flapping started; 1001 = Flapping stopped |
reason | SMALLINT | Number indicating the reason (if any) that the host or service stopped flapping. This is only valid if this records is a flapping stopped event (see event_type field) | 1 = Flapping stopped normally 2 = Flapping was disabled |
flapping_type | SMALLINT | Number indicating whether this flapping event relates to a host or service | 0 = Host 1 = Service |
object_id | BIGINT unsigned | The id of the host or service associated with the flapping event |  |
percent_state_change | DOUBLE | The percent state change of the host or service at the time of the event |  |
low_threshold | DOUBLE | The low flapping percent state change threshold (as configured in Icinga) of the host or service |  |
high_threshold | DOUBLE | The high flapping percent state change threshold (as configured in Icinga) of the host or service |  |
comment_time | TIMESTAMP | The date/time of the comment associated with the flapping event |  |
internal_comment_id | BIGINT unsigned | The number (internal to the Icinga daemon) of the comment associated with the flapping event. |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

Hostchecks Table

Description: This table is used to store a historical record of "raw" and "processed" host checks. What's the difference between raw and processed host checks? Raw checks are the raw results from a host check command that gets executed. Icinga must do some processing on the raw host check results before it can determine the real state of the host. Host checks (plugins) cannot directly determine whether a host is DOWN or UNREACHABLE - only Icinga can do that. In fact, host checks return the same status codes as service checks (OK, WARNING, UNKNOWN, or CRITICAL). Icinga processes the raw host check result to determine the true state of the host (UP, DOWN, or UNREACHABLE). These "processed" checks contain the the true state of the host. NOTE: This table is usually trimmed periodically by the IDO2DB daemon, as it would otherwise grow to an enormous size.

Structure:

Field | Type | Notes | Values | Key
hostcheck_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
host_object_id | BIGINT unsigned | The id of the host this check applies to |  | UK2
check_type | SMALLINT | Number indicating whether this is an active or passive check | 0 = Active check 1 = Passive check |
is_raw_check | SMALLINT | Number indicating whether this is a "raw" or "processed" host check | 0 = Processed check; 1 = Raw check |
current_check_attempt | SMALLINT | Current check attempt of the host |  |
max_check_attempts | SMALLINT | Max check attempts (as defined in Icinga) for the host |  |
state | SMALLINT | Current state of the host | For raw checks: 0 = UP 1 = DOWN/UNREACHABLE; For processed checks: 0 = UP 1 = DOWN 2 = UNREACHABLE |
state_type | SMALLINT | Number indicating whether the host is in a soft or hard state | 0 = SOFT state 1 = HARD state |
start_time | TIMESTAMP | The date/time the host check was started |  | UK3
start_time_usec | INT | Microsecond portion of the time the host check was started |  | UK4
end_time | TIMESTAMP | The date/time the host check was completed |  |
end_time_usec | INT | Microsecond portion of the time the host check was completed |  |
command_object_id | BIGINT unsigned | The id of the command that was used to perform the host check |  |
command_args | VARCHAR(255) | The arguments that were passed to the host check command |  |
command_line | VARCHAR(1024) | The fully expanded command line that was used to check the host |  |
timeout | SMALLINT | Number of seconds before the host check command would time out |  |
early_timeout | SMALLINT | Number indicating whether or not the host check timed out early | 0 = Did NOT timeout 1 = Timed out |
execution_time | DOUBLE | Number of seconds it took to execute the host check |  |

latency

DOUBLE

Number of seconds the host check was "late" in being executed. Scheduled host checks can have a latency, but on-demand checks will have a latency of 0. Latency is the difference between the time the check was scheduled to be executed and the time it was actually executed. For passive checks it is the different between the timestamp on the passive host check result (submitted through the external command file) and the time the passive check result was processed by Icinga

return_code | SMALLINT | The return code from the host check command |  |
output | VARCHAR(255) | Status text output from the host check command (first line) |  |
long_output | TEXT | Status text output from the host check command (consecutive lines) |  |
perfdata | TEXT | Optional performance data returned from the host check command. |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
host_object_id | objects.object_id
command_object_id | objects.object_id

Logentries Table

Description: This table is used to store a historical record of entries from the Icinga log.

Structure:

Field | Type | Notes | Values | Key
logentry_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
logentry_time | TIMESTAMP | The date/time associated with the log entry. This is NOT necessarily the same as the date/time that Icinga wrote the log entry to the log file (see below) |  |
entry_time | TIMESTAMP | The date/time that Icinga wrote this log entry to the log file |  |
entry_time_usec | INT | The microsecond portion of the time that Icinga wrote this log entry |  |
logentry_type | INT | A number indicating what general type of log entry this is | See Icinga source code |
logentry_data | VARCHAR(255) | The log entry that was written out to the log file |  |
realtime_data | SMALLINT | A number used internally by the IDO2DB daemon |  |
inferred_data_extracted | SMALLINT | A number used internally by the IDO2DB daemon. |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

Notifications Table

Description: This table is used to store a historical record of host and service notifications that have been sent out. For each notification, one or more contacts receive notification messages. These contact notifications are stored in the contactnotifications table.

Structure:

Field | Type | Notes | Values | Key
notification_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
notification_type | SMALLINT | Number indicating whether this is a host or service notification | 0 = Host notification 1 = Service notification |
notification_reason | SMALLINT | Number indicating the type of or reason for the notification | 0 = Normal notification; 1 = Problem acknowledgement; 2 = Flapping started; 3 = Flapping stopped; 4 = Flapping was disabled; 5 = Downtime started; 6 = Downtime ended; 7 = Downtime was cancelled; 99 = Custom notification |
object_id | BIGINT unsigned | The id of the host or service this notification applies to |  | UK2
start_time | TIMESTAMP | The date/time the notification was started |  | UK3
start_time_usec | INT | Microsecond portion of the time the notification was started |  | UK4
end_time | TIMESTAMP | The date/time the notification ended |  |
end_time_usec | INT | Microsecond portion of the time the notification ended |  |
state | SMALLINT | Number indicating the state of the host or service when the notification was sent out. | For Host Notifications: 0 = UP; 1 = DOWN; 2 = CRITICAL; For Service Notifications: 0 = OK; 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN |
output | VARCHAR(255) | The current plugin (text) output of the host or service when the notification was sent out (first line) |  |
long_output | TEXT | The current plugin (text) output of the host or service when the notification was sent out (consecutive lines) |  |
escalated | SMALLINT | Number indicating whether or not this notification was escalated or not | 0 = NOT escalated; 1 = Escalated |
contacts_notified | SMALLINT | Number of contacts that were notified about the host or service as part of this notification. |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

Processevents Table

Description: This table is used to store a historical record of Icinga process events (program starts, restarts, shutdowns, etc.).

Structure:

Field | Type | Notes | Values | Key
processevent_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
event_type | SMALLINT | Number indicating the type of process event that occurred. | 100 = Process start; 101 = Process daemonized; 102 = Process restart; 103 = Process shutdown; 104 = Prelaunch; 105 = Event loop start; 106 = Event loop end |
event_time | TIMESTAMP | The date/time that the event occurred |  |
event_time_usec | INT | The microsecond portion of the time the event occurred |  |
process_id | INT | The current process ID (PID) of the Icinga daemon |  |
program_name | VARCHAR(16) | "Icinga" |  |
program_version | VARCHAR(20) | Version of Icinga that is running (e.g. "1.0") |  |
program_date | VARCHAR(10) | Release date of Icinga |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

Servicechecks Table

Description: This table is used to store a historical record of service checks that have been performed. NOTE: This table is usually trimmed periodically by the IDO2DB daemon, as it would otherwise grow to an enormous size.

Structure:

Field | Type | Notes | Values | Key
servicecheck_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
service_object_id | BIGINT unsigned | The id of the service this record refers to |  | UK2
check_type | SMALLINT | Number indicating whether this was an active or a passive service check | 0 = Active check; 1 = Passive check |
current_check_attempt | SMALLINT | Number indicating the current check attempt for the service |  |
max_check_attempts | SMALLINT | Number indicating the max number of check attempts for the service |  |
state | SMALLINT | Number indicating the current state of the service | 0 = OK 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN |
state_type | SMALLINT | Number indicating the current state type of the service | 0 = SOFT state; 1 = HARD state |
start_time | TIMESTAMP | The date/time the service check was started |  | UK3
start_time_usec | INT | Microsecond portion of the time the service check was started |  | UK4
end_time | TIMESTAMP | The date/time the service check ended |  |
end_time_usec | INT | Microsecond portion of the time the service check ended |  |
command_object_id | BIGINT unsigned | The id of the command that was run to perform the service check |  |
command_args | VARCHAR(255) | The arguments passed to the command that was run to perform the service check |  |
command_line | VARCHAR(1024) | The fully expanded command line that was executed to perform the service check |  |
timeout | SMALLINT | Number of seconds before the service check command was scheduled to timeout |  |
early_timeout | SMALLINT | Number indicating whether or not the service check timed out | 0 = Did NOT timeout 1 = Timed out |
execution_time | DOUBLE | Number of seconds it took to execute the service check command |  |

latency

DOUBLE

Number of seconds the service check was "late" in being executed. For active checks this is the difference between the scheduled service check time and the time the check actually occurred. For passive checks this is the difference between the timestamp on the passive check result (submitted through the external command file) and the time the passive check result was picked up by the Icinga daemon for processing

return_code | SMALLINT | The return code from the service check command |  |
output | VARCHAR(255) | The status output that was returned from the service check command (first line) |  |
long_output | TEXT | The status output that was returned from the service check command (consecutive lines) |  |
perfdata | TEXT | Optional performance data that was returned from the service check command |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
service_object_id | objects.object_id
command_object_id | objects.object_id

Statehistory Table

Description: This table is used to store a historical record of host and service state changes.

Structure:

Field | Type | Notes | Values | Key
statehistory_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
state_time | TIMESTAMP | The date/time that the state change occurred |  |
state_time_usec | INT | The microsecond portion of the time the state change occurred |  |
object_id | BIGINT unsigned | The id of the host or service object this state change applies to |  |
state_change | SMALLINT | Number indicating whether or not a state change occurred for the host or service | 0 = No state change; 1 = State change |
state | SMALLINT | Number indicating the current state of the host or service | For Hosts: 0 = UP; 1 = DOWN; 2 = UNREACHABLE; For Services: 0 = OK; 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN |
state_type | SMALLINT | Number indicating whether the service is in a soft or hard state | 0 = SOFT state; 1 = HARD state |
current_check_attempt | SMALLINT | Number indicating the current check attempt for the host or service |  |
max_check_attempts | SMALLINT | Number indicating the max check attempts (as configured in Icinga) for the host or service |  |
last_state | SMALLINT | Number indicating the last state (whether hard or soft) of the host or service (if available) | For Hosts: -1 = unavailable; 0 = UP; 1 = DOWN; 2 = UNREACHABLE; For Services: -1 = unavailable; 0 = OK; 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN |
last_hard_state | SMALLINT | Number indicating the last hard state of the host or service (if available) | For Hosts: -1 = unavailable; 0 = UP; 1 = DOWN; 2 = UNREACHABLE; For Services: -1 unavailable; 0 = OK; 1 = WARNING; 2 = CRITICAL |
output | VARCHAR(255) | The current plugin/status output of the host or service (first line) |  |
long_output | TEXT | The current plugin/status output of the host or service (consecutive lines) |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

Systemcommands Table

Description: This table is used to store a historical record of system commands that are run by the Icinga daemon. Note that each event handler, notification, OCSP command, etc. requires that Icinga execute a system command. NOTE: This table is usually trimmed periodically by the IDO2DB daemon, as it would otherwise grow to an enormous size.

Structure:

Field | Type | Notes | Values | Key
systemcommand_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
start_time | TIMESTAMP | The date/time the command was executed |  | UK2
start_time_usec | INT | The microsecond portion of the time the command was executed |  | UK3
end_time | TIMESTAMP | The date/time the command finished executing |  |
end_time_usec | INT | The microsecond portion of the time the command finished executing |  |
command_line | VARCHAR(1024) | Fully expanded command line that was executed |  |
timeout | SMALLINT | Number of seconds before the command should timeout |  |
early_timeout | SMALLINT | Number indicating whether or not the command timed out early | 0 = Did NOT timeout; 1 = Timed out |
execution_time | DOUBLE | Number of seconds it took to execute the command |  |
return_code | SMALLINT | Return code of the command |  |
output | VARCHAR(255) | First line of text output (if available) that was returned from the command |  |
long_output | TEXT | Consecutive lines of text output (if available) that were returned from the command |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

Timedevents Table

Description: This table is used to store a historical record of timed events that the Icinga process handled. Timed events are internal to the Icinga daemon and used to initiate service checks, host checks, status file updates, etc. They are at the heart of what Icinga does and how it operates. NOTE: This table is usually trimmed periodically by the IDO2DB daemon, as it would otherwise grow to an enormous size.

Structure:

Field | Type | Notes | Values | Key
systemcommand_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
event_type | SMALLINT | Number indicating the type of event that was run | See Icinga source code | UK2
queued_time | TIMESTAMP | The date/time the event was added to the event queue |  |
queued_time_usec | INT | Microsecond portion of the time the event was added to the event queue |  |
event_time | TIMESTAMP | The date/time the event was handled |  |
event_time_usec | INT | Microsecond portion of the time the event was handled |  |
scheduled_time | TIMESTAMP | The date/time the event was scheduled to be handled/run |  | UK3
recurring_event | SMALLINT | Number indicating whether or not the event is a recurring one or a one-time event | 0 = One-time event; 1 = Recurring event |
object_id | BIGINT unsigned | The id of the host or service that the event applies to. Not all events apply to hosts or services - in these cases the value of this field will be 0. |  | UK4
deletion_time | TIMESTAMP | The date/time the event was deleted/removed from the event queue |  |
deletion_time_usec | INT | Microsecond portion of the time the event was removed from the event queue |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

SLA-History Table

Description: This table is used to keep track of host/service availability statistics in a separate history table. A configuration flag (enable_sla) is used to enable/disable SLA data collection; it defaults to 0 (disabled).

| Note
This table is introduced with Icinga 1.6.

Structure:

Field | Type | Notes | Values | Key
slahistory_id | SERIAL | unique ID for a SLA history entry |  | PK
instance_id | BIGINT unsigned | Icinga instance ID |  |
start_time | TIMESTAMP | Time interval for the history entry (default '0000-00-00 00:00:00') |  |
end_time | TIMESTAMP | Time interval for the history entry (default '0000-00-00 00:00:00') |  |
acknowledgement_time | TIMESTAMP | Time the state was acknowledged (default NULL) |  |
object_id | BIGINT unsigned | The host/service ID this history entry is related to (default 0) |  |
state | SMALLINT | Number indicating the state of host or service | For hosts: 0 = UP; 1 = DOWN; 2 = UNREACHABLE; For services:; 0 = OK; 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN |
state_type | SMALLINT | Number indicating the state type of the host or service | 0 = SOFT state; 1 = HARD state |
scheduled_downtime | TINYINT(1) | whether the whole time interval was in scheduled downtime (a history entry are split into several entries if only a fraction of the time interval was in scheduled downtime) |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

### 12.5.4. Current Status Tables

There are several tables in the database which are used to hold current status information on the Icinga process and all hosts and services that it is monitoring. Entries in these tables are cleared whenever the Icinga daemon (belonging to the same instance) (re)starts

Table List

- comments

- customvariablestatus

- hoststatus

- programstatus

- runtimevariables

- scheduleddowntime

- servicestatus

- contactstatus

- timedeventqueue

Relationship DiagramNotes: To reduce clutter, the links to the instances table (to which all these tables are related) is not shown.

Figure 12.17. Relationship of Current Status Tables

Comments Table

Description: This table is used to store current host and service comments. Historical comments can be found in the commenthistory table.

Structure:

Field | Type | Notes | Values | Key
comment_id | SERIAL | Unique number identifying the comment record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
entry_time | TIMESTAMP | Date and time the comment was entered |  |
entry_time_usec | INT | Microsecond portion of comment entry time |  |
comment_type | SMALLINT | Indicates whether this is a host or service comment | 1 = Host comment; 2 = Service comment |
entry_type | SMALLINT | Indicates how this comment came to be entered | 1 = User; 2 = Scheduled downtime; 3 = Flapping; 4 = Acknowledgement |
object_id | BIGINT unsigned | The object id of the host or service this acknowledgement applies to |  |
comment_time | TIMESTAMP | Date and time associated with the comment |  | UK2
internal_comment_id | INT | The comment ID internal to the Icinga daemon |  | UK3
author_name | VARCHAR(64) | Text field containing the name of the person who made the comment |  |
comment_data | VARCHAR(255) | Text field containing the comment |  |
is_persistent | SMALLINT | Indicates whether or not the comment is persistent | 0 = Not persistent; 1 = Persistent |
comment_source | SMALLINT | Indicates the source of the comment | 0 =internal (Icinga); 1 = External (user) |
expires | SMALLINT | Indicates whether or not the comment expires | 0 = Doesn't expire; 1 = Expires |
expiration_time | TIMESTAMP | Date and time at which the comment expires. |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

Customvariablestatus Table

Description: This table is used to store the current state/values of all custom host, service, and contact variables. Custom variables are only support in Icinga or Nagios 3.x and higher, so this table will be empty for Nagios 2.x.

Structure:

Field | Type | Notes | Values | Key
customvariablestatus_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
object_id | BIGINT unsigned | The object id of the host or service this acknowledgement applies to |  | UK1
status_update_time | TIMESTAMP | Date and time the status of the custom variable was last updated |  |
has_been_modified | SMALLINT | Indiciates whether the value of the custom variable has been modified (during runtime) from its original value in the config files | 0 = Has not been modified; 1 = Has been modified |
varname | VARCHAR(255) | Text field containing the name of the custom variable |  | UK2, NK
varvalue | VARCHAR(255) | Text field containing the value of the custom variable |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

Hoststatus Table

Description: This table is used to store the current status of hosts that are being monitored.

Structure:

Field | Type | Notes | Values | Key
hoststatus_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
host_object_id | BIGINT unsigned | The object id of the host this status entry is associated with |  | U1
status_update_time | TIMESTAMP | Date and time the status data was updated |  |
output | VARCHAR(255) | Plugin output from the latest host check (first line) |  |
long_output | TEXT | Plugin output from the latest host check (consecutive lines) |  |
perfdata | TEXT | Performance data from the latest host check |  |
current_state | SMALLINT | Number indicating the current state of the host | 0 = UP; 1 = DOWN; 2 = UNREACHABLE |
has_been_checked | SMALLINT | Number indicating whether or not the host has been checked yet | 0 = Not checked; 1 = Checked |
should_be_scheduled | SMALLINT | Number indicating whether or not checks should be regularly scheduled for this host | 0 = Not scheduled; 1 = Scheduled |
current_check_attempt | SMALLINT | Number indicating the current check attempt of the host. This is only interesting during soft host states |  |
max_check_attempts | SMALLINT | Number indicating how many maximum check attempts will be made to determine the hard state of the host |  |
last_check | TIMESTAMP | Time the host was last checked |  |
next_check | TIMESTAMP | The host is scheduled to be checked next. Will be set to the epoch if the host is not scheduled for another check |  |
check_type | SMALLINT | Number indicating if the last host check was an active or passive check | 0 = Active; 1 = Passive |
last_state_change | TIMESTAMP | Time the host last had a hard or soft state change. Will be set to the epoch if the host has not changed state |  |
last_hard_state_change | TIMESTAMP | The host last had a hard state change. Will be setup to the epoch if the host has not changed state |  |
last_time_up | TIMESTAMP | Time the host was last in an UP state (if ever) |  |
last_time_down | TIMESTAMP | Time the host was last in a DOWN state (if ever) |  |
last_time_unreachable | TIMESTAMP | Time the host was last in an UNREACHABLE state (if ever) |  |
state_type | SMALLINT | Number indicating the type of state the host is in | 0 = SOFT state; 1 = HARD state |
last_notification | TIMESTAMP | Time a notification was last sent out for the host (if ever) |  |
next_notification | TIMESTAMP | Next possible time that a notification can be sent out for the host |  |
no_more_notifications | SMALLINT | Number indicating whether or not more notifications can be sent out about the current host problem | 0 = Send notifications; 1 = Do not send notifications |
notifications_enabled | SMALLINT | Number indicating whether or not notifications are enabled for this host | 0 = Notifications disabled; 1 = Notifications enabled |
problem_has_been_acknowledged | SMALLINT | Number indicating whether or not the current host problem has been acknowledged | 0 = Not acknowledged; 1 = Acknowledged |
acknowledgement_type | SMALLINT | Number indicating the type of acknowledgement associated with the host | 0 = None; 1 = Normal; 2 = Sticky |
current_notification_number | SMALLINT | Number indicating the current notification number for the current host problem. This number gets reset to 0 when the host recovers |  |
passive_checks_enabled | SMALLINT | Number indicating whether or not passive checks are enabled for this host | 0 = Disabled; 1 = Enabled |
active_checks_enabled | SMALLINT | Number indicating whether or not active checks are enabled for this host | 0 = Disabled; 1 = Enabled |
event_handler_enabled | SMALLINT | Number indicating whether or not the host's event handler is enabled | 0 = Disabled; 1 = Enabled |
flap_detection_enabled | SMALLINT | Number indicating whether or not flap detection is enabled for this host | 0 = Disabled; 1 = Enabled |
is_flapping | SMALLINT | Number indicating whether or not the host is currently flapping | 0 = Not flapping; 1 = Flapping |
percent_state_change | DOUBLE | Number indicating the current percent state change (a measure of stability/volatility) for the host |  |
latency | DOUBLE | Number of seconds that the host check was "late" in being executed. The different between the checks scheduled time and the time it was actually checked |  |
execution_time | DOUBLE | Number of seconds it took to perform the last check of the host |  |
scheduled_downtime_depth | SMALLINT | Number indicating how many periods of scheduled | 0 = Not in scheduled dowtime downtime are currently active for this host; >0 = In scheduled downtime |
failure_prediction_enabled | SMALLINT | Number indicating whether or not failure prediction (not yet implemented) is enabled for this host | 0 = Disabled; 1 = Enabled |
process_performance_data | SMALLINT | Number indicating whether or not performance data should be processed for this host | 0 = Disabled; 1 = Enabled |
obsess_over_host | SMALLINT | Number indicating whether or not this host should be obsessed over | 0 = Do not obsess; 1 = Obsess |
modified_host_attributes | INT | Number indicating which attributes of the host have been modified during runtime. Used by the retention data routines |  |
event_handler | VARCHAR | The current event handler command associated with the host |  |
check_command | VARCHAR | The current check command associated with the host |  |
check_interval | DOUBLE | Number of seconds between normal checks of the host |  |
retry_interval | DOUBLE | Number of seconds between retry checks of the host |  |
check_timeperiod_object_id | BIGINT unsigned | Unique number of the timeperiod object currently used for determining times the host can be checked |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
host_object_id | objects.object_id
timeperiod_object_id | objects.object_id

Programstatus Table

Description: This table stored status information on the currently (or previously) running Icinga process/daemon.

Structure:

Field | Type | Notes | Values | Key
programstatus_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | U1
status_update_time | TIMESTAMP | Date and time the status of the process was last updated |  |
program_start_time | TIMESTAMP | Date and time the Icinga process was started |  |
program_end_time | TIMESTAMP | Date and time the Icinga process as stopped (if currently not running) |  |
is_currently_running | SMALLINT | Indicates whether or not the Icinga process is currently running | 0 = Process is not running; 1 = Process is running |
process_id | BIGINT unsigned | The processed ID (PID) of the Icinga process |  |
daemon_mode | SMALLINT | Indicates whether Icinga is running as a foreground process or a daemon | 0 = Foreground process; 1 = Daemon |
last_command_check | TIMESTAMP | Date and time the Icinga process last checked external commands |  |
last_log_rotation | TIMESTAMP | Date and time the log file was last rotated (if at all) |  |
notifications_enabled | SMALLINT | Indicates whether or not notifications are enabled | 0 = Disabled; 1 = Enabled |
active_service_checks_enabled | SMALLINT | Indicates whether or not active service checks are enabled | 0 = Disabled; 1 = Enabled |
passive_service_checks_enabled | SMALLINT | Indicates whether or not passive service checks are enabled | 0 = Disabled; 1 = Enabled |
active_host_checks_enabled | SMALLINT | Indicates whether or not active host checks are enabled | 0 = Disabled; 1 = Enabled |
passive_host_checks_enabled | SMALLINT | Indicates whether or not passive host checks are enabled | 0 = Disabled; 1 = Enabled |
event_handlers_enabled | SMALLINT | Indicates whether or not event handlers are enabled | 0 = Disabled; 1 = Enabled |
flap_detection_enabled | SMALLINT | Indicates whether or not flap detection is enabled | 0 = Disabled; 1 = Enabled |
failure_prediction_enabled | SMALLINT | Indicates whether or not failure prediction is enabled | 0 = Disabled; 1 = Enabled |
process_performance_data | SMALLINT | Indicates whether or not performance data is enabled/being processed | 0 = Disabled; 1 = Enabled |
obsess_over_hosts | SMALLINT | Indicates whether or not hosts are being obsessed over | 0 = Disabled; 1 = Enabled |
obsess_over_services | SMALLINT | Indicates whether or not services are being obsessed over | 0 = Disabled; 1 = Enabled |
modified_host_attributes | INT | Indicates what (if any) host-related program status variables have been modified during runtime | See Icinga source code for values |
modified_service_attributes | INT | Indicates what (if any) service-related program status variables have been modified during runtime | See Icinga source code for values |
global_host_event_handler | VARCHAR(255) | Text field indicating the current global host event handler command that is being used. |  |
global_service_event_handlers | VARCHAR(255) | Text field indicating the current global service event handler command that is being used |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

Runtimevariables Table

Table Description: This table is used to store some runtime variables from the Icinga process that may be useful to you. The only variables currently stored in this table are some initial variables calculated at startup, but more variables may be stored here in future versions.

Structure:

Field | Type | Notes | Values | Key
runtimevariable_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
varname | VARCHAR(64) | Text field containing the name of the variable |  | UK2
varvalue | VARCHAR(255) | Text field containing the value of the variable |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

Scheduleddowntime Table

Description: This table is used to store current host and service downtime, which may either be current in effect or scheduled to begin at a future time. Historical scheduled downtime information can be found in the downtimehistory table.

Structure:

Field | Type | Notes | Values | Key
scheduleddowntime_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
downtime_type | SMALLINT | Indicates whether this is a host or service downtime entry | 1 = Service downtime; 2 = Host downtime |
object_id | BIGINT unsigned | The object id of the host or service this downtime applies to |  | UK2
entry_time | TIMESTAMP | Date and time this downtime was entered |  | UK3
author_name | VARCHAR(64) | Text field containing the name of the person who created this scheduled downtime |  |
comment_data | VARCHAR(255) | Text field containing information about this scheduled downtime (as entered by the user) |  |
internal_downtime_id | BIGINT unsigned | The ID number (internal to the Icinga daemon) associated with this scheduled downtime entry |  | UK4
triggered_by_id | BIGINT unsigned | The internal Icinga ID number (if any) of another scheduled downtime entry that this downtime is "triggered" (started) by. If this field is nonzero, this is a triggered downtime entry, otherwise it is not |  |
is_fixed | SMALLINT | Indicates whether this is a "fixed" scheduled downtime entry (that should start and end at the start and end times indicated) or a "flexible" entry that can start at a variable time | 0 = Flexible (not fixed) 1 = Fixed |
duration | SMALLINT | Indicates the number of seconds that the scheduled downtime should last. This is usually only needed if this is "flexible" downtime, which can start at a variable time, but lasts for the specified duration |  |
scheduled_start_time | TIMESTAMP | Date and time that the downtime is scheduled to start if it is "fixed" dowtime. If this is a "flexible" downtime entry, this is the first possible time the downtime can start |  |
scheduled_end_time | TIMESTAMP | Date and time the downtime is scheduled to end if it is "fixed" downtime. If this is a "flexible" downtime entry, this is the last possible time the downtime can start |  |
was_started | SMALLINT | Indicates whether or not the downtime was started (is currently #FIXME) | 0 = Not started (inactive) 1 = Started (active) |
actual_start_time | TIMESTAMP | Date and time the scheduled downtime was actually started |  |
actual_start_time_usec | INT | Microsecond portion of time the scheduled downtime was actually started |  |

Relationships:

Field | Foreign Key |
instance_id | instances.instance_id |
object_id | objects.object_id |

Servicestatus Table

Description: This table is used to store current status information for all services that are being monitored.

Structure:

Field | Type | Notes | Values | Key
servicestatus_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
service_object_id | BIGINT unsigned | The id of the service this record is associated with |  | U1
status_update_time | TIMESTAMP | The date/time the status record was updated |  |
output | VARCHAR(255) | The text output from the most current service check (first line) |  |
long_output | TEXT | The text output from the most current service check (consecutive lines) |  |
perfdata | TEXT | Optional performance data from the most current service check |  |
current_state | SMALLINT | Number indicating the current state of the service | 0 = OK; 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN |
has_been_checked | SMALLINT | Number indicating whether or not the service has been checked yet | 0 = Has NOT been checked; 1 = Has been checked |
should_be_scheduled | SMALLINT | Number indicating whether or not the service should be scheduled for periodic checks on a regular basis | 0 = Not scheduled; 1 = Scheduled |
current_check_attempt | SMALLINT | The current check attempt for the service |  |
max_check_attempts | SMALLINT | The max check attempts (as configured in Icinga) for the service |  |
last_check | TIMESTAMP | The date/time the service was last checked. Set to the epoch if the service has not been checked yet |  |
next_check | TIMESTAMP | The date/time the service is scheduled to be checked next |  |
check_type | SMALLINT | Number indicating whether or not the last service check was active or passive | 0 = Active; 1 = Passive |
last_state_change | TIMESTAMP | The date/time the service last changed state (if at all). This gets updated for both HARD and SOFT state changes |  |
last_hard_state_change | TIMESTAMP | The date/time the service last changed HARD states (if at all) |  |
last_hard_state | SMALLINT | 0 = OK 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN |  |
last_time_ok | TIMESTAMP | The date/time the service was last in an OK state (if at all) |  |
last_time_warning | TIMESTAMP | The date/time the service was last in a WARNING state (if at all) |  |
last_time_unknown | TIMESTAMP | The date/time the service was last in an UNKNOWN state (if at all) |  |
last_time_critical | TIMESTAMP | The date/time the service was last in a CRITICAL state (if at all). |  |
state_type | SMALLINT | Number indicating whether the service is in a hard or soft state | 0 = SOFT state; 1 = HARD |
state last_notification | TIMESTAMP | The date/time that a notification was last sent out for the current service problem (if applicable) |  |
next_notification | TIMESTAMP | The earliest date/time that the next notification can be sent out for the current service problem (if applicable) |  |
no_more_notifications | SMALLINT | Number indicating whether or not future notifications can be sent out for the current service problem | 0 = Do not send more notifications; 1 = Keep sending notifications |
notifications_enabled | SMALLINT | Number indicating whether notifications are enabled for the service | 0 = Disabled; 1 = Enabled |
problem_has_been_acknowledged | SMALLINT | Number indicating whether or not the current status problem has been acknowledged | 0 = Not acknowledged; 1 = Acknowledged |
acknowledgement_type | SMALLINT | Number indicating the type of acknowledgement (if any) | 0 = No acknowledgement; 1 = Normal acknowledgement; 2 = Sticky acknowledgement |
current_notification_number | SMALLINT | Number indicating how many notifications have been sent out about the current service problem (if applicable) |  |
passive_checks_enabled | SMALLINT | Number indicating whether or not passive checks are enabled for the service | 0 = Disabled; 1 = Enabled |
active_checks_enabled | SMALLINT | Number indicating whether or not active checks are enabled for the service | 0 = Disabled; 1 = Enabled |
event_handler_enabled | SMALLINT | Number indicating whether or not the service event handler is enabled | 0 = Disabled; 1 = Enabled |
flap_detection_enabled | SMALLINT | Number indicating whether or not flap detection is enabled for the service | 0 = Disabled; 1 = Enabled |
is_flapping | SMALLINT | Number indicating whether ot not the service is currently flapping | 0 = Not flapping; 1 = Flapping |
percent_state_change | DOUBLE | Number indicating the current percent state change (a measure of volatility) for the service |  |

latency

DOUBLE

Number indicating how "late" the last service check was in being run. For active checks, this is the difference between the time the service was scheduled to be the checked and the time it was actually checked. For passive checks, this is the difference between the timestamp on the passive check (submitted via an external command) and the time Icinga processed the check result. execution_time DOUBLE Number of seconds it took to run the last service check

execution_time | DOUBLE | Number of seconds it took to execute the service check |  |
scheduled_downtime_depth | SMALLINT | Number indicating how many periods of scheduled downtime are currently in effect for the service. A value of 0 indicates the service is not in a period of downtime |  |
failure_prediction_enabled | SMALLINT | Number indicating whether or not failure prediction is enabled for the service. This feature has not yet been implemented | 0 = Disabled; 1 = Enabled |
process_performance_data | SMALLINT | Number indicating whether or not performance data should be processed for the service | 0 = Do NOT process perfdata; 1 = Process perfdata |
obsess_over_service | SMALLINT | Number indicating whether or not Icinga should obsess of check results of the service | 0 = Do NOT obsess; 1 = Obsess |
modified_service_attributes | INT | Number indicating what service attributes have been modified during runtime | See Icinga source code |
event_handler | VARCHAR(255) | The current event handler command that is associated with the service |  |
check_command | VARCHAR(255) | The current check command that is used to check the status of the service |  |
normal_check_interval | DOUBLE | The current normal check interval for the service (in seconds) |  |
retry_check_interval | DOUBLE | The current retry check interval for the service (in seconds) |  |
check_timeperiod_object_id | BIGINT unsigned | The currently timeperiod that is used to determine when the service can be checked. |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
service_object_id | objects.object_id
check_timeperiod_object_id | objects.object_id

Contactstatus Table

Description: This table is used to store current status information for all contacts that are being used.

Structure:

Field | Type | Notes | Values | Key
contactstatus_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
contact_object_id | BIGINT unsigned | The id of the service this record is associated with |  | U1
status_update_time | TIMESTAMP | The date/time the status record was updated |  |
hostnotifications_enabled | SMALLINT | Number indicating whether or not host notifications are enabled for this contact | 0 = Notifications disabled; 1 = Notifications enabled |
servicenotifications_enabled | SMALLINT | Number indicating whether or not service notifications are enabled for this contact | 0 = Notifications disabled; 1 = Notifications enabled |
last_hostnotification | TIMESTAMP | Time the last host notification was sent |  |
last_servicenotification | TIMESTAMP | Time the last service notification was sent |  |
modified_attributes | INT | Default = 0 |  |
modified_host_attributes | INT | Default = 0 |  |
modified_service_attributes | INT | Default = 0 |  |

Relationships:

Field | Foreign Key
instance_id | instances.instance_id

Timedeventqueue Table

Description: This table is used to store all timed events that are in the Icinga event queue, scheduled to be executed at a future time. Historical timed events can be found in the timedevents table.

Structure:

Field | Type | Notes | Values | Key
timedeventqueue_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
event_type | SMALLINT | Value indicating the type of event |  | UK2
queued_time | TIMESTAMP | Date and time the event was originally placed into the timed event queue |  |
queued_time_usec | INT | Microsecond portion of time the event was queued |  |
scheduled_time | TIMESTAMP | Date and time the event is scheduled to be executed |  | UK3
recurring_event | SMALLINT | Indicates whether or not this is a recurring event | 0 = Not recurring; 1 = Recurring |
object_id | BIGINT unsigned | The object id of the host, service, contact, etc. that this scheduled event applies to (if applicable). If the event is not associated with any particular object, this field will have a value of zero (0) |  | UK4

Relationships:

Field | Foreign Key
instance_id | instances.instance_id
object_id | objects.object_id

### 12.5.5. Configuration Tables

| Note
The tables that contain configuration data have not yet been fully documented.

There are many tables in the database that are used to store Icinga configuration. Note that the data in these tables represents a read-only output view of the configuration that Icinga was using during its last (or current) run. Configuration information from these tables is NOT read by the Icinga daemon in any way, and thus cannot be used to configure Icinga.

Table List

- commands

- configfiles

- configfilevariables

- contact_addresses

- contact_notificationcommands

- contactgroup_members

- contactgroups

- contactnotificationmethods

- contacts

- customvariables

- host_contactgroups

- host_contactgroups

- host_parenthosts

- hostdependencies

- hostescalation_contactgroups

- hostescalation_contacts

- hostescalations

- hostgroup_members

- hostgroups

- hosts

- service_contactgroups

- service_contacts

- servicedependencies

- serviceescalation_contactgroups

- serviceescalation_contacts

- serviceescalations

- servicegroup_members

- servicegroups

- services

- timeperiod_timeranges

- timeperiods

Figure 12.18. Relationship of Configuration Tables

Commands Table

Description: .

Structure:

Field | Type | Notes | Values | Key
command_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK3
object_id | BIGINT unsigned |  |  | UK2
command_line | VARCHAR(1024) |  |  |

Configfiles Table

Description: .

Structure:

Field | Type | Notes | Values | Key
configfile_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
configfile_type | SMALLINT |  |  | UK2
configfile_path | VARCHAR(255) |  |  | UK3

Configfilevariables Table

Description: .

Structure:

Field | Type | Notes | Values | Key
configfilevariable_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
configfile_id | BIGINT unsigned |  |  |
varname | VARCHAR(64) |  |  |
varvalue | VARCHAR(1024) |  |  |

Contact_addresses Table

Description: .

Structure:

Field | Type | Notes | Values | Key
contact_address_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
contact_id | BIGINT unsigned |  |  | UK1
address_number | SMALLINT |  |  | UK2
address | VARCHAR(255) |  |  |

Contact_notificationcommands Table

Description: .

Structure:

Field | Type | Notes | Values | Key
contact_notficationcommand_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
contact_id | BIGINT unsigned |  |  | UK1
notification_type | SMALLINT |  |  | UK2
command_object_id | BIGINT unsigned |  |  | UK3
command_args | VARCHAR(255) |  |  | UK4

Contactgroup_members Table

Description: .

Structure:

Field | Type | Notes | Values | Key
contactgroup_member_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
contactgroup_id | BIGINT unsigned |  |  | UK1
contact_object_id | BIGINT unsigned |  |  | UK2

Contactgroups Table

Description: .

Structure:

Field | Type | Notes | Values | Key
contactgroup_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
contactgroup_object_id | BIGINT unsigned |  |  | UK3
alias | VARCHAR(255) |  |  |

Contactnotificationmethods Table

Description: .

Structure:

Field | Type | Notes | Values | Key
contactnotificationmethod_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
contactnotification_id | BIGINT unsigned |  |  | UK2
start_time | TIMESTAMP |  |  | UK3
start_time_usec | INT |  |  | UK4
end_time | TIMESTAMP |  |  |
end_time_usec | INT |  |  |
command_object_id | BIGINT unsigned |  |  |
command_args | VARCHAR(255) |  |  |

Contacts Table

Description: .

Structure:

Field | Type | Notes | Values | Key
contact_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
contact_object_id | BIGINT unsigned |  |  | UK3
alias | VARCHAR(64) | String describing the contact |  |
email_address | VARCHAR(255) | String containing the e-mail address of the contact |  |
pager_address | VARCHAR(64) | String containing the pager address of the contact |  |
host_timeperiod_object_id | BIGINT unsigned |  |  |
service_timeperiod_object_id | BIGINT unsigned |  |  |
host_notifications_enabled | SMALLINT | Indicates whether or not the contact will receive host notifications | 0 = Disabled; 1 = Enabled |
service_notifications_enabled | SMALLINT | Indicates whether or not the contact will receive service notifications | 0 = Disabled; 1 = Enabled |
can_submit_commands | SMALLINT | Indicates whether or not the contact can submit external commands via the web interface | 0 = Disabled; 1 = Enabled |
notify_service_recovery | SMALLINT | Indicates whether or not the contact will receive notifications if a service enters the state "RECOVERY" | 0 = Disabled; 1 = Enabled |
notify_service_warning | SMALLINT | Indicates whether or not the contact will receive notifications if a service enters the state "WARNING" | 0 = Disabled; 1 = Enabled |
notify_service_unknown | SMALLINT | Indicates whether or not the contact will receive notifications if a service enters the state "UNKNOWN" | 0 = Disabled; 1 = Enabled |
notify_service_critical | SMALLINT | Indicates whether or not the contact will receive notifications if a service enters the state "CRITICAL" | 0 = Disabled; 1 = Enabled |
notify_service_flapping | SMALLINT | Indicates whether or not the contact will receive notifications if a service enters the state "FLAPPING" | 0 = Disabled; 1 = Enabled |
notify_service_downtime | SMALLINT | Indicates whether or not the contact will receive notifications if a service enters the state "DOWNTIME" | 0 = Disabled; 1 = Enabled |
notify_host_recovery | SMALLINT | Indicates whether or not the contact will receive notifications if a host enters the state "RECOVERY" | 0 = Disabled; 1 = Enabled |
notify_host_down | SMALLINT | Indicates whether or not the contact will receive notifications if a host enters the state "DOWN" | 0 = Disabled; 1 = Enabled |
notify_host_unreachable | SMALLINT | Indicates whether or not the contact will receive notifications if a host enters the state "UNREACHABLE" | 0 = Disabled; 1 = Enabled |
notify_host_flapping | SMALLINT | Indicates whether or not the contact will receive notifications if a host enters the state "FLAPPING" | 0 = Disabled; 1 = Enabled |
notify_host_downtime | SMALLINT | Indicates whether or not the contact will receive notifications if a host enters the state "DOWNTIME" | 0 = Disabled; 1 = Enabled |

customvariables Table

Description: .

Structure:

Field | Type | Notes | Values | Key
customvariable_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
object_id | BIGINT unsigned |  |  | UK1
config_type | SMALLINT |  |  | UK2
has_been_modified | SMALLINT |  |  |
varname | VARCHAR(255) | String containing the name of the custom variable |  | UK3,NK
varvalue | VARCHAR(255) | String containing the value of the custom variable |  |

Host_contactgroups Table

Description: .

Structure:

Field | Type | Notes | Values | Key
host_contactgroup_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
host_id | BIGINT unsigned |  |  | UK1
contactgroup_object_id | BIGINT unsigned |  |  | UK2

Host_contacts Table

Description: .

Structure:

Field | Type | Notes | Values | Key
host_contact_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
host_id | BIGINT unsigned |  |  | UK1
contact_object_id | BIGINT unsigned |  |  | UK2

Hostescalation_contactgroups Table

Description: .

Structure:

Field | Type | Notes | Values | Key
hostescalation_contactgroup_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
hostescalation_id | BIGINT unsigned |  |  | UK1
contactgroup_object_id | BIGINT unsigned |  |  | UK2

Hostescalation_contacts Table

Description: .

Structure:

Field | Type | Notes | Values | Key
hostescalation_contact_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
hostescalation_id | BIGINT unsigned |  |  | UK1
contact_object_id | BIGINT unsigned |  |  | UK2

Host_parenthosts Table

Description: .

Structure:

Field | Type | Notes | Values | Key
host_parenthost_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
host_id | BIGINT unsigned |  |  | UK1
parent_host_object_id | BIGINT unsigned |  |  | UK2

Hostdependencies Table

Description: .

Structure:

Field | Type | Notes | Values | Key
hostdependency_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
host_object_id | BIGINT unsigned |  |  | UK3
dependent_host_object_id | BIGINT unsigned |  |  | UK4
dependency_type | SMALLINT | Indicates the type of the dependency | 1 = Notification dependency, 2 = Execution dependency | UK5
inherits_parent | SMALLINT | Indicates whether or not the host will inherit dependencies from parent hosts | 0 = do not inherit dependencies, 1 = inherit dependencies | UK6
timeperiod_object_id | BIGINT unsigned |  |  |
fail_on_up | SMALLINT | Indicates whether or not the host will be checked if the master host is UP | 0 = check host, 1 = do not check host | UK7
fail_on_down | SMALLINT | Indicates whether or not the host will be checked if the master host is DOWN | 0 = check host, 1 = do not check host | UK8
fail_on_unreachable | SMALLINT | Indicates whether or not the host will be checked if the master host is UNREACHABLE | 0 = check host, 1 = do not check host | UK9

Hostescalations Table

Description: .

Structure:

Field | Type | Notes | Values | Key
hostescalation_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
host_object_id | BIGINT unsigned |  |  | UK3
timeperiod_object_id | BIGINT unsigned |  |  | UK4
first_notification | SMALLINT |  |  | UK5
last_notification | SMALLINT |  |  | UK6
notification_interval | DOUBLE |  |  |
escalate_on_recovery | SMALLINT |  |  |
escalate_on_down | SMALLINT |  |  |
escalate_on_unreachable | SMALLINT |  |  |

Hostgroup_members Table

Description: .

Structure:

Field | Type | Notes | Values | Key
hostgroup_member_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
hostgroup_id | BIGINT unsigned |  |  | UK1
host_object_id | BIGINT unsigned |  |  | UK2

Hostgroups Table

Description: .

Structure:

Field | Type | Notes | Values | Key
hostgroup_id | SERIAL |  |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  |
hostgroup_object_id | BIGINT unsigned |  |  | UK2
alias | VARCHAR(255) | String describing the hostgroup |  |

Hosts Table

Description: .

Structure:

Field | Type | Notes | Values | Key
host_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
host_object_id | BIGINT unsigned |  |  | UK3
alias | VARCHAR(64) | String describing the host |  |
display_name | VARCHAR(255) |  |  |
address | VARCHAR(128) | IP-address |  |
address6 | VARCHAR(128) | IPv6-address |  |
check_command_object_id | BIGINT unsigned |  |  |
check_command_args | VARCHAR(255) |  |  |
eventhandler_command_object_id | BIGINT unsigned |  |  |
eventhandler_command_args | VARCHAR(255) |  |  |
notification_timeperiod_object_id | BIGINT unsigned |  |  |
check_timeperiod_object_id | BIGINT unsigned |  |  |
failure_prediction_options | VARCHAR(64) |  |  |
check_interval | DOUBLE |  |  |
retry_interval | DOUBLE |  |  |
max_check_attempts | SMALLINT |  |  |
first_notification_delay | DOUBLE |  |  |
notification_interval | DOUBLE |  |  |
notify_on_down | SMALLINT |  |  |
notify_on_unreachable | SMALLINT |  |  |
notify_on_recovery | SMALLINT |  |  |
notify_on_flapping | SMALLINT |  |  |
notify_on_downtime | SMALLINT |  |  |
stalk_on_up | SMALLINT |  |  |
stalk_on_down | SMALLINT |  |  |
stalk_on_unreachable | SMALLINT |  |  |
flap_detection_enabled | SMALLINT |  |  |
flap_detection_on_up | SMALLINT |  |  |
flap_detection_on_down | SMALLINT |  |  |
flap_detection_on_unreachable | SMALLINT |  |  |
low_flap_threshold | DOUBLE |  |  |
high_flap_threshold | DOUBLE |  |  |
process_performance_data | SMALLINT |  |  |
freshness_checks_enabled | SMALLINT |  |  |
freshness_threshold | SMALLINT |  |  |
passive_checks_enabled | SMALLINT |  |  |
eventhandler_enabled | SMALLINT |  |  |
active_checks_enabled | SMALLINT |  |  |
retain_status_information | SMALLINT |  |  |
retain_nonstatus_information | SMALLINT |  |  |
notifications_enabled | SMALLINT |  |  |
obsess_over_host | SMALLINT |  |  |
failure_prediction_enabled | SMALLINT |  |  |
notes | VARCHAR(255) |  |  |
notes_url | VARCHAR(255) |  |  |
action_url | VARCHAR(255) |  |  |
icon_image | VARCHAR(255) |  |  |
icon_image_alt | VARCHAR(255) |  |  |
vrml_image | VARCHAR(255) |  |  |
statusmap_image | VARCHAR(255) |  |  |
have_2d_coords | SMALLINT |  |  |
x_2d | SMALLINT |  |  |
y_2d | SMALLINT |  |  |
have_3d_coords | SMALLINT |  |  |
x_3d | DOUBLE |  |  |
y_3d | DOUBLE |  |  |
z_3d | DOUBLE |  |  |

Service_contactgroups Table

Description: .

Structure:

Field | Type | Notes | Values | Key
service_contactgroup_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
service_id | BIGINT unsigned |  |  | UK2
contactgroup_object_id | BIGINT unsigned |  |  | UK3

Service_contacts Table

Description: .

Structure:

Field | Type | Notes | Values | Key
service_contact_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
service_id | BIGINT unsigned |  |  | UK2
contact_object_id | BIGINT unsigned |  |  | UK3

Servicedependencies Table

Description: .

Structure:

Field | Type | Notes | Values | Key
servicedependency_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
service_object_id | BIGINT unsigned |  |  | UK3
dependent_service_object_id | BIGINT unsigned |  |  | UK4
dependency_type | SMALLINT |  |  | UK5
inherits_parent | SMALLINT |  |  | UK6
timeperiod_object_id | BIGINT unsigned |  |  |
fail_on_ok | SMALLINT |  |  | UK7
fail_on_warning | SMALLINT |  |  | UK8
fail_on_unknown | SMALLINT |  |  | UK9
fail_on_critical | SMALLINT |  |  | UK10

Serviceescalation_contactgroups Table

Description: .

Structure:

Field | Type | Notes | Values | Key
serviceescalation_contactgroup_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
serviceescalation_id | BIGINT unsigned |  |  | UK1
contactgroup_object_id | BIGINT unsigned |  |  | UK2

Serviceescalation_contacts Table

Description: .

Structure:

Field | Type | Notes | Values | Key
serviceescalation_contact_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
serviceescalation_id | BIGINT unsigned |  |  | UK1
contact_object_id | BIGINT unsigned |  |  | UK2

Serviceescalations Table

Description: .

Structure:

Field | Type | Notes | Values | Key
serviceescalation_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
service_object_id | BIGINT unsigned |  |  | UK3
timeperiod_object_id | BIGINT unsigned |  |  | UK4
first_notification | SMALLINT |  |  | UK5
last_notification | SMALLINT |  |  | UK6
notification_interval | DOUBLE |  |  |
escalate_on_recovery | SMALLINT |  |  |
escalate_on_warning | SMALLINT |  |  |
escalate_on_unknown | SMALLINT |  |  |
escalate_on_critical | SMALLINT |  |  |

Servicegroup_members Table

Description: .

Structure:

Field | Type | Notes | Values | Key
servicegroup_member_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
servicegroup_id | BIGINT unsigned |  |  | UK1
service_object_id | BIGINT unsigned |  |  | UK2

Servicegroups Table

Description: .

Structure:

Field | Type | Notes | Values | Key
servicegroup_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
servicegroup_object_id | BIGINT unsigned |  |  | UK3
alias | VARCHAR(255) | String describing the servicegroup |  |

Services Table

Description: .

Structure:

Field | Type | Notes | Values | Key
service_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
host_object_id | BIGINT unsigned |  |  |
service_object_id | BIGINT unsigned |  |  | UK3
display_name | VARCHAR(255) |  |  |
check_command_object_id | BIGINT unsigned |  |  |
check_command_args | VARCHAR(255) |  |  |
eventhandler_command_object_id | BIGINT unsigned |  |  |
eventhandler_command_args | VARCHAR(255) |  |  |
notification_timeperiod_object_id | BIGINT unsigned |  |  |
check_timeperiod_object_id | BIGINT unsigned |  |  |
failure_prediction_options | VARCHAR(64) |  |  |
check_interval | DOUBLE |  |  |
retry_interval | DOUBLE |  |  |
max_check_attempts | SMALLINT |  |  |
first_notification_delay | DOUBLE |  |  |
notification_interval | DOUBLE |  |  |
notify_on_warning | SMALLINT |  |  |
notify_on_unknown | SMALLINT |  |  |
notify_on_critical | SMALLINT |  |  |
notify_on_recovery | SMALLINT |  |  |
notify_on_flapping | SMALLINT |  |  |
notify_on_downtime | SMALLINT |  |  |
stalk_on_ok | SMALLINT |  |  |
stalk_on_warning | SMALLINT |  |  |
stalk_on_unknown | SMALLINT |  |  |
stalk_on_critical | SMALLINT |  |  |
is_volatile | SMALLINT |  |  |
flap_detection_enabled | SMALLINT |  |  |
flap_detection_on_ok | SMALLINT |  |  |
flap_detection_on_warning | SMALLINT |  |  |
flap_detection_on_unknown | SMALLINT |  |  |
flap_detection_on_critical | SMALLINT |  |  |
low_flap_threshold | DOUBLE |  |  |
high_flap_threshold | DOUBLE |  |  |
process_performance_data | SMALLINT |  |  |
freshness_checks_enabled | SMALLINT |  |  |
freshness_threshold | SMALLINT |  |  |
passive_checks_enabled | SMALLINT |  |  |
eventhandler_enabled | SMALLINT |  |  |
active_checks_enabled | SMALLINT |  |  |
retain_status_information | SMALLINT |  |  |
retain_nonstatus_information | SMALLINT |  |  |
notifications_enabled | SMALLINT |  |  |
obsess_over_service | SMALLINT |  |  |
failure_prediction_enabled | SMALLINT |  |  |
notes | VARCHAR(255) |  |  |
notes_url | VARCHAR(255) |  |  |
action_url | VARCHAR(255) |  |  |
icon_image | VARCHAR(255) |  |  |
icon_image_alt | VARCHAR(255) |  |  |

Timeperiod_timeranges Table

Description: .

Structure:

Field | Type | Notes | Values | Key
timeperiod_timerange_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  |
timeperiod_id | BIGINT unsigned |  |  | UK1
day | SMALLINT |  |  | UK2
start_sec | INT |  |  | UK3
end_sec | INT |  |  | UK4

Timeperiods Table

Description: .

Structure:

Field | Type | Notes | Values | Key
timeperiod_id | SERIAL | Unique number identifying the record |  | PK
instance_id | BIGINT unsigned | Unique number identifying the distinct instance of Icinga which this entry is associated with |  | UK1
config_type | SMALLINT |  |  | UK2
timeperiod_object_id | BIGINT unsigned |  |  | UK3
alias | VARCHAR(255) | String describing the timeperiod |  |

Prev | Up | Next
12.4. Example Configurations | Home | 12.6. Database changes/alterations

© 2009-2013 Icinga Development Team, http://www.icinga.org