The humio-fleet Repository
The humio-fleet repository is a system repository that stores metadata from log shippers, used by the Fleet Management UI.
LogScale Collector Metrics
The LogScale Collector sends metrics to Fleet Management for enrolled instances of LogScale Collector. The LogScale Collector reports the following metrics, which could be used to create dashboards to monitor your fleet:
Process CPU Usage: The CPU usage (%) of the LogScale Collector process.
Process Memory Usage: The memory usage of the LogScale Collector process.
Host Disk Usage: The full percentage of the disk partition that the process is using as the data directory. The metrics are automatically ingested into the humio-fleet system repository.
Prerequisites
The following prerequisites must be met to use this feature:
Running LogScale Collector newer or equal to 1.5.1.
Running LogScale newer or equal to 1.100.
The LogScale Collector has been enrolled using the enrollment command.
LogScale Collector Metrics
The LogScale Collector sends the following structured JSON events to the humio-fleet repository. The events contain a discriminator field called kind which can be used to determine what kind of metric is being reported.
The kind
field is being converted to a LogScale tag,
as such the field name is converted to #kind, but
the key in the JSON event is called kind. This is
relevant when querying the data in humio-fleet, since it must be
filtered like: #kind=system.
The LogScale Collector also sends an event that doesn't contain the
#kind tag. Those events are deprecated, but are
currently being used to generate the Fleet
Overview
page. Use the following descriptions to
understand the JSON events that are being stored in the
humio-fleet repository.
Kind system
The following is an example of a system
event:
{
"kind": "system",
"id": "gmIhP974udWeeaMzRKPOrxa557OfGTMp",
"ipAddress": "198.51.100.1",
"timestamp": 1690840800000,
"version": "1.5.0",
"hostname": "logscale-collector-example",
"system": "Ubuntu 20.04.6 LTS (Focal Fossa) (amd64)",
"startTime": 1690840800000,
"bootTime": 1690840800000,
"mode": "full",
"machineId": "c53aa5a4-2828-475f-836a-97c1a933b0b5"
}
Field | Type | Required | Description |
---|---|---|---|
kind | constant system | yes | The kind field determines the type of event. |
id | string | yes | The globally unique ID assigned to the enrolled LogScale Collector. Used to correlate the metrics events. |
ipAddress | string | yes | The source IP address of the LogScale Collector as seen by Fleet Management. |
timestamp | number | yes | The timestamp of the event in epoch milliseconds. |
version | string | yes | The version of the LogScale Collector. |
hostname | string | yes | The system hostname of the LogScale Collector. |
system | string | yes | A descriptive string of the operating system that is running the LogScale Collector. |
startTime | number | yes | The start time of the LogScale Collector process in epoch milliseconds. |
bootTime | number | yes | The operating system boot time in epoch milliseconds. |
mode | string | yes |
The current mode of Fleet Management. The value is
full when using remote configuration.
|
machineId | string | yes | The machine ID generated by the LogScale Collector locally when it was first installed. |
Kind collectorCpuUsage
The following is an example of a collectorCpuUsage
event:
{
"kind": "collectorCpuUsage",
"id": "gmIhP974udWeeaMzRKPOrxa557OfGTMp",
"bucketStart": 1690840800000,
"bucketEnd": 1690840860000,
"avg": 4.12,
"cores": 8
}
Field | Type | Required | Description |
---|---|---|---|
kind | constant collectorCpuUsage | yes | The kind field determines the type of event. |
id | string | yes | The globally unique ID assigned to the enrolled LogScale Collector. Used to correlate the metrics events. |
bucketStart | number | yes |
The bucket start timestamp in epoch milliseconds. The value of
the event covers the interval
[bucketStart;bucketEnd] .
|
bucketEnd | number | yes |
The bucket end timestamp in epoch milliseconds. The value of
the event covers the interval
[bucketStart;bucketEnd] .
|
avg | number | yes | The CPU usage of the LogScale Collector process averaged over the bucket duration. A value of 100 % corresponds to one vCPU utilized completely. |
cores | number | yes |
The number of CPU cores in the system. Dividing
avg by cores results in a value
between 0 % and 100 %.
|
Kind collectorMemoryUsage
The following is an example of a
collectorMemoryUsage
event:
{
"kind": "collectorMemoryUsage",
"id": "gmIhP974udWeeaMzRKPOrxa557OfGTMp",
"bucketStart": 1690840800000,
"bucketEnd": 1690840860000,
"max": 34848768
}
Field | Type | Required | Description |
---|---|---|---|
kind | constant collectorMemoryUsage | yes | The kind field determines the type of event. |
id | string | yes | The globally unique ID assigned to the enrolled LogScale Collector. Used to correlate the metrics events. |
bucketStart | number | yes |
The bucket start timestamp in epoch milliseconds. The value of
the event covers the interval
[bucketStart;bucketEnd] .
|
bucketEnd | number | yes |
The bucket end timestamp in epoch milliseconds. The value of
the event covers the interval
[bucketStart;bucketEnd] .
|
max | number | yes | The memory usage of the LogScale Collector process in bytes. The value is the maximum value over the bucket duration. |
Kind hostDiskUsage
The following is an example of a hostDiskUsage
event:
{
"kind": "hostDiskUsage",
"id": "gmIhP974udWeeaMzRKPOrxa557OfGTMp",
"bucketStart": 1690840800000,
"bucketEnd": 1690840860000,
"path": "/var/lib/logscale-collector",
"max": 8.62
}
Field | Type | Required | Description |
---|---|---|---|
kind | constant hostDiskUsage | yes | The kind field determines the type of event. |
id | string | yes | The globally unique ID assigned to the enrolled LogScale Collector. Used to correlate the metrics events. |
bucketStart | number | yes |
The bucket start timestamp in epoch milliseconds. The value of
the event covers the interval
[bucketStart;bucketEnd] .
|
bucketEnd | number | yes |
The bucket end timestamp in epoch milliseconds. The value of
the event covers the interval
[bucketStart;bucketEnd] .
|
max | number | yes |
The disk usage in percent of the partition containing the
path path.
|
path | string | yes | The path that is being monitored. Currently specifies the data directory of the LogScale Collector. |
LogScale Collector Metadata
Each event has some metadata attached to it on ingestion; all metadata fields start with @ to make them easy to identify. All events will contain the following metadata fields by default.
Metadata Field | Description |
---|---|
@collect.host | Name of the ingesting host |
@collect.id | Unique ID of the collector |
@collect.timezone | Timezone |
@collect.timestamp | Timestamp |
@collect.source_name | Name of the source. |
@collect.source_type | (e.g. cmd, file, journald, syslog, syslog_tls, unifiedlog, wineventlog) |
@collect.error | Error occurred while collecting data, e.g. wineventlog: could not parse names for event data. |
The following additional metadata fields are source specific.
Source | Metadata Field | Description |
---|---|---|
journald
| @collect.unit | Name of the unit, e.g. ntp.service |
file
| @collect.file | File name from where the event is collected. |
wineventlog
| @collect.channel | Channel of the collected event. |
syslog
| @collect.remote | Remote IP address and port. |
@collect.socket | Local socket e.g. :514/UDP | |
command
| @collect.cmd | The command which is executed. |
@collect.pid | The PID of the executed command | |
@collect.stream | The output stream of the executed command, stdout or stderr. |