icinga2/doc/6.12-schemas.md

6.2 KiB

Schemas

DB IDO

There is a detailed documentation for the Icinga IDOUtils 1.x database schema available on [http://docs.icinga.org/latest/en/db_model.html]

DB IDO Schema Extensions

Icinga 2 specific extensions are shown below:

New tables: endpoints, endpointstatus

Table Column Type Default Description
endpoints endpoint_object_id bigint NULL FK: objects table
endpoints identity TEXT NULL endpoint name
endpoints node TEXT NULL local node name
Table Column Type Default Description
endpointstatus endpoint_object_id bigint NULL FK: objects table
endpointstatus identity TEXT NULL endpoint name
endpointstatus node TEXT NULL local node name
endpointstatus is_connected smallint 0 update on endpoint connect/disconnect

New columns:

Table Column Type Default Description
all status/history endpoint_object_id bigint NULL FK: objects table
servicestatus check_source TEXT NULL node name where check was executed
hoststatus check_source TEXT NULL node name where check was executed
statehistory check_source TEXT NULL node name where check was executed
logentries object_id bigint NULL FK: objects table (service associated with column)

Livestatus

Livestatus Tables

Table Join Description
hosts host config and status attributes, services counter
hostgroups hostgroup config, status attributes and host/service counters
services hosts service config and status attributes
servicegroups servicegroup config, status attributes and service counters
contacts contact config and status attributes
contactgroups contact config, members
commands command name and line
status programstatus, config and stats
comments services status attributes
downtimes services status attributes
timeperiods name and is inside flag
endpoints config and status attributes
log services, hosts, contacts, commands parses compatlog and shows log attributes
statehist hosts, services parses compatlog and aggregates state change attributes

Note

The commands table is populated with CheckCommand, EventCommand and NotificationCommand objects.

Livestatus Table Attributes

A detailed list which table attributes are supported can be found here: [https://wiki.icinga.org/display/icinga2/Livestatus#Livestatus-Attributes]

Livestatus GET Queries

$ echo -e 'GET services' | netcat 127.0.0.1 6558

$ cat servicegroups <<EOF
GET servicegroups

EOF

(cat servicegroups; sleep 1) | netcat 127.0.0.1 6558

Livestatus COMMAND Queries

$ echo -e 'COMMAND <externalcommandstring>' | netcat 127.0.0.1 6558

Livestatus Filters

and, or, negate

Operator | Negate | Description ----------|------------------------ = | != | Euqality ~ | !~ | Regex match =~ | !=~ | Euqality ignoring case ~~ | !~~ | Regex ignoring case

   |          | Less than

< | | Greater than

= | | Less than or equal <= | | Greater than or equal

Livestatus Stats

Schema: "Stats: aggregatefunction aggregateattribute"

Aggregate Function Description
sum
min
max
avg sum / count
std standard deviation
suminv sum (1 / value)
avginv suminv / count
count ordinary default for any stats query if not aggregate function defined

Example:

GET hosts
Filter: has_been_checked = 1
Filter: check_type = 0
Stats: sum execution_time
Stats: sum latency
Stats: sum percent_state_change
Stats: min execution_time
Stats: min latency
Stats: min percent_state_change
Stats: max execution_time
Stats: max latency
Stats: max percent_state_change
OutputFormat: json
ResponseHeader: fixed16

Livestatus Output

  • CSV

CSV Output uses two levels of array seperators: The members array separator is a comma (1st level) while extra info and host|service relation separator is a pipe (2nd level).

Seperators can be set using ASCII codes like:

Separators: 10 59 44 124
  • JSON

Default separators.

Livestatus Error Codes

Code Description
200 OK
404 Table does not exist
452 Exception on query

Livestatus Schema Extensions

Icinga 2 specific extensions are shown below:

New table: endpoints

Table Column
endpoints name
endpoints identity
endpoints node
endpoints is_connected

New columns:

Table Column
services check_source
downtimes triggers
downtimes trigger_time