icinga2/doc/6.12-schemas.md

6.8 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)
hosts check_service_object_id bigint NULL FK: objects table (service associated with column)

Additional command custom variables populated from 'vars' dictionary. Additional global custom variables populated from 'Vars' constant (object_id is NULL).

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

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
hosts check_service
downtimes triggers
downtimes trigger_time
commands custom_variable_names
commands custom_variable_values
commands custom_variables
status custom_variable_names
status custom_variable_values
status custom_variables

Command custom variables reflect the local 'vars' dictionary. Status custom variables reflect the global 'Vars' constant.