lego-monitoring/docs/nixos-options.md
2025-05-13 14:15:56 +03:00

6.3 KiB
Raw Blame History

services.lego-monitoring.enable

Whether to enable lego-monitoring service.

Type: boolean

Default: false

Example: true

Declared by:

services.lego-monitoring.enabledCheckSets

List of enabled check sets. Each check set is a module which checks something and generates alerts based on check results.

Type: list of (one of “start”, “stop”, “cpu”, “ram”, “temp”, “vulnix”)

Default: [ ]

Declared by:

services.lego-monitoring.checks.cpu.criticalPercentage

CPU load percentage for a critical alert to be sent. Null means never generate a CPU critical alert.

Type: null or floating point number

Default: 90.0

Declared by:

services.lego-monitoring.checks.cpu.warningPercentage

CPU load percentage for a warning alert to be sent. Null means never generate a CPU warning alert.

Type: null or floating point number

Default: 80.0

Declared by:

services.lego-monitoring.checks.ram.criticalPercentage

RAM usage percentage for a critical alert to be sent. Null means never generate a RAM critical alert.

Type: null or floating point number

Default: 90.0

Declared by:

services.lego-monitoring.checks.ram.warningPercentage

RAM usage percentage for a warning alert to be sent. Null means never generate a RAM warning alert.

Type: null or floating point number

Default: 80.0

Declared by:

services.lego-monitoring.checks.temp.sensors

Temp sensor override definitions. Sensors not defined here, or missing options in definitions, will be read with default parameters.

To get list of sensors and their default configurations, run lego-monitoring --print-temp.

Type: attribute set of (submodule)

Default: { }

Example:

{
  amdgpu.readings.edge.label = "Integrated GPU";
  k10temp.readings = {
    Tctl = {
      label = "AMD CPU";
      criticalTemp = 95.0;
    };
    Tccd1.enabled = false;
    Tccd2.enabled = false;
  };
  nvme.readings = {
    "Sensor 1".enabled = false;
    "Sensor 2".enabled = false;
  };
}

Declared by:

services.lego-monitoring.checks.temp.sensors.<name>.enabled

Whether sensor is enabled.

Type: boolean

Default: true

Declared by:

services.lego-monitoring.checks.temp.sensors.<name>.name

Friendly name of the sensor.

Type: null or string

Default: null

Declared by:

services.lego-monitoring.checks.temp.sensors.<name>.readings

Overrides for specific readings of the sensor, by label.

Type: attribute set of (submodule)

Default: { }

Declared by:

services.lego-monitoring.checks.temp.sensors.<name>.readings.<name>.enabled

Whether this reading is enabled.

Type: boolean

Default: true

Declared by:

services.lego-monitoring.checks.temp.sensors.<name>.readings.<name>.criticalTemp

Critical temperature threshold.

Type: null or floating point number

Default: null

Declared by:

services.lego-monitoring.checks.temp.sensors.<name>.readings.<name>.label

Friendly label of the reading.

Type: null or string

Default: null

Declared by:

services.lego-monitoring.checks.temp.sensors.<name>.readings.<name>.warningTemp

Warning temperature threshold.

Type: null or floating point number

Default: null

Declared by:

services.lego-monitoring.checks.vulnix.whitelist

Whitelist rules for vulnix. Attr name is package with version, package name, or *.

Type: attribute set of (submodule)

Default: { }

Example:

{
  "ffmpeg-3.4.2" = {
    cve = [ "CVE-2018-6912" "CVE-2018-7557" ];
    until = "2018-05-01";
    issueUrl = "https://issues.example.com/29952";
  };
}

Declared by:

services.lego-monitoring.checks.vulnix.whitelist.<name>.cve

List of CVE identifiers to match. The whitelist rule is valid as long as the detected CVEs are a subset of the CVEs listed here. If additional CVEs are detected, this whitelist rule is not effective anymore. If null, all CVEs are matched.

Type: null or (list of string)

Default: null

Declared by:

services.lego-monitoring.checks.vulnix.whitelist.<name>.issueUrl

URL or list of URLs that point to any issue tracker. Informational only.

Type: null or string

Default: null

Declared by:

services.lego-monitoring.checks.vulnix.whitelist.<name>.until

Date in the form “YYYY-MM-DD” which confines this rules lifetime. Null means forever. On the specified date and later, this whitelist rule is not effective anymore.

Type: null or string

Default: null

Declared by:

services.lego-monitoring.logLevel

Level of logging. INFO generates a log message with every check.

Type: one of “CRITICAL”, “ERROR”, “WARNING”, “INFO”, “DEBUG”

Default: "INFO"

Declared by:

services.lego-monitoring.telegram.credsSecretPath

Path to a file containing Telegram api_id, api_hash, and bot token, separated by the , character.

Type: string

Declared by:

services.lego-monitoring.telegram.roomId

ID of chat where to send alerts.

Type: signed integer

Declared by: