Developer documentation¶
Web UI backend/frontend communication¶
Communication between web server and browser is based on Juggler communication.
Server state¶
Server state is used for providing continuously updated list of log entries to clients, based on applied filters.
State structure is defined by JSON schema
hat-syslog://juggler.yaml#/$defs/state
(see Juggler JSON Schemas).
Request/response¶
Juggler request/response communication is used for changing filter parameters.
Request data structures are defined by JSON schema
hat-syslog://juggler.yaml#/$defs/request
(see
Juggler JSON Schemas).
In case of successful request execution, response data is null
.
Juggler JSON Schemas¶
$schema: "https://json-schema.org/draft/2020-12/schema"
$id: "hat-syslog://juggler.yaml"
definitions:
state:
type: object
required:
- filter
- entries
- first_id
- last_id
properties:
filter:
"$ref": "hat-syslog://juggler.yaml#/$defs/filter"
entries:
type: array
items:
"$ref": "hat-syslog://juggler.yaml#/$defs/entry"
first_id:
type:
- 'null'
- integer
last_id:
type:
- 'null'
- integer
request:
filter:
"$ref": "hat-syslog://juggler.yaml#/$defs/filter"
filter:
type: object
required:
- max_results
- last_id
- entry_timestamp_from
- entry_timestamp_to
- facility
- severity
- hostname
- app_name
- procid
- msgid
- msg
properties:
max_results:
type:
- 'null'
- integer
last_id:
type:
- 'null'
- integer
entry_timestamp_from:
type:
- 'null'
- number
entry_timestamp_to:
type:
- 'null'
- number
facility:
oneOf:
- type: 'null'
- "$ref": "hat-syslog://juggler.yaml#/$defs/facility"
severity:
oneOf:
- type: 'null'
- "$ref": "hat-syslog://juggler.yaml#/$defs/severity"
hostname:
type:
- 'null'
- string
app_name:
type:
- 'null'
- string
procid:
type:
- 'null'
- string
msgid:
type:
- 'null'
- string
msg:
type:
- 'null'
- string
entry:
type: object
required:
- id
- timestamp
- msg
properties:
id:
type: integer
timestamp:
type: number
msg:
"$ref": "hat-syslog://juggler.yaml#/$defs/msg"
msg:
type: object
required:
- facility
- severity
- version
- timestamp
- hostname
- app_name
- procid
- msgid
- data
- msg
properties:
facility:
oneOf:
- type: 'null'
- "$ref": "hat-syslog://juggler.yaml#/$defs/facility"
severity:
oneOf:
- type: 'null'
- "$ref": "hat-syslog://juggler.yaml#/$defs/severity"
version:
type: integer
timestamp:
type:
- 'null'
- number
hostname:
type:
- 'null'
- string
app_name:
type:
- 'null'
- string
procid:
type:
- 'null'
- string
msgid:
type:
- 'null'
- string
data:
type:
- 'null'
- string
msg:
type:
- 'null'
- string
facility:
enum:
- KERNEL
- USER
- MAIL
- SYSTEM
- AUTHORIZATION1
- INTERNAL
- PRINTER
- NETWORK
- UUCP
- CLOCK1
- AUTHORIZATION2
- FTP
- NTP
- AUDIT
- ALERT
- CLOCK2
- LOCAL0
- LOCAL1
- LOCAL2
- LOCAL3
- LOCAL4
- LOCAL5
- LOCAL6
- LOCAL7
severity:
enum:
- EMERGENCY
- ALERT
- CRITICAL
- ERROR
- WARNING
- NOTICE
- INFORMATIONAL
- DEBUG
...