1.7 KiB
host_session
One row per session of the host in the custom table host_session (schema 0.0.1). The hub adds the gateway as spoke_id.
The first run after a boot closes the previous session from the history of the host's uptime signal (CPU, RAM and disk at one minute, with coverage as the share of minutes with a CPU sample; an empty window is written as 0) and opens a row for the current session (start time equal to end time, everything else 0). Later runs in the same boot stop after one query and print nothing.
One script for every gateway. signals.yml lists the cpu, ram, disk and uptime signals of every host; the script asks the history of each <host>-uptime until one answers 200 (a gateway answers 403 for signals it does not own) and uses that host's four signals. A new host needs its four signals added to signals.yml and a new tag. Runs every minute; needs only requests in the image.
Output and failures
Every event is one JSON line with level, msg and its fields; the orchestrator logs them under i7orchestrator/scheduler/job.
- A refusal of the previous session by the database is logged once as an ERROR and the current session is still opened, so it is not repeated.
- Exit code 2: the run cannot succeed until the script or the schema changes (a missing or empty
signals.yml, a gateway whose uptime signal is not listed, the database refusing the current session). - Exit code 1: anything else, such as the sidecar or the database being unavailable; the next run tries again.
maxConsecutiveFailures: 5inschedule.yaml: the orchestrator stops the job after five failed runs in a row and shows why in the job report. A new tag starts it again.