mirror of https://github.com/Icinga/icinga2.git
parent
8629071392
commit
b442bd8372
|
@ -15,6 +15,9 @@ The Livestatus component that is distributed as part of Icinga 2 is a
|
|||
re-implementation of the Livestatus protocol which is compatible with MK
|
||||
Livestatus.
|
||||
|
||||
Details on the available tables and attributes with Icinga 2 can be found
|
||||
in the [Livestatus Schema](#schema-livestatus) section.
|
||||
|
||||
You can enable Livestatus using icinga2-enable-feature:
|
||||
|
||||
# icinga2-enable-feature livestatus
|
||||
|
|
|
@ -1,16 +1,179 @@
|
|||
|
||||
### <a id="schemas"></id> Schemas
|
||||
## <a id="schemas"></a> Schemas
|
||||
|
||||
#### DB IDO
|
||||
### <a id="schema-db-ido"></a> DB IDO
|
||||
|
||||
New tables: endpoints, endpointstatus
|
||||
name, identity, node, is_connected
|
||||
There is a detailed documentation for the Icinga IDOUtils 1.x
|
||||
database schema available on [http://docs.icinga.org/latest/en/db_model.html]
|
||||
|
||||
New columns: endpoint_object_id, check_source_object_id
|
||||
#### <a id="schema-db-ido-extensions"></id> DB IDO Schema Extensions
|
||||
|
||||
#### Livestatus
|
||||
Icinga 2 specific extensions are shown below:
|
||||
|
||||
New table: endpoints
|
||||
name, identity, node, is_connected
|
||||
New tables: `endpoints`, `endpointstatus`
|
||||
|
||||
New columns: check_source, endpoint
|
||||
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)
|
||||
|
||||
|
||||
|
||||
### <a id="schema-livestatus"></a> Livestatus
|
||||
|
||||
|
||||
#### <a id="schema-livestatus-tables"></a> 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](#objecttype-compatlogger) and shows log attributes
|
||||
statehist | hosts, services | parses [compatlog](#objecttype-compatlogger) and aggregates state change attributes
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> The `commands` table is populated with `CheckCommand`, `EventCommand` and `NotificationCommand` objects.
|
||||
|
||||
|
||||
#### <a id="schema-livestatus-table-attributes"></a> Livestatus Table Attributes
|
||||
|
||||
A detailed list which table attributes are supported can be found here: [https://wiki.icinga.org/display/icinga2/Livestatus#Livestatus-Attributes]
|
||||
|
||||
|
||||
#### <a id="schema-livestatus-get-queries"></a> 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
|
||||
|
||||
#### <a id="schema-livestatus-command-queries"></a> Livestatus COMMAND Queries
|
||||
|
||||
$ echo -e 'COMMAND <externalcommandstring>' | netcat 127.0.0.1 6558
|
||||
|
||||
|
||||
#### <a id="schema-livestatus-filters"></a> 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
|
||||
|
||||
|
||||
#### <a id="schema-livestatus-stats"></a> 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
|
||||
|
||||
#### <a id="schema-livestatus-output"></a> 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.
|
||||
|
||||
#### <a id="schema-livestatus-error-codes"></a> Livestatus Error Codes
|
||||
|
||||
Code | Description
|
||||
----------|--------------
|
||||
200 | OK
|
||||
404 | Table does not exist
|
||||
452 | Exception on query
|
||||
|
||||
#### <a id="schema-livestatus-extensions"></a> 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
|
||||
|
|
Loading…
Reference in New Issue