master
json 118 lines 3.58 KB
Raw
1 {
2 "jsonSchema": {
3 "$schema": "http://json-schema.org/draft-07/schema#",
4 "title": "Systemdunits collector configuration.",
5 "type": "object",
6 "properties": {
7 "update_every": {
8 "title": "Update every",
9 "description": "Data collection interval, measured in seconds.",
10 "type": "integer",
11 "minimum": 1,
12 "default": 10
13 },
14 "timeout": {
15 "title": "Timeout",
16 "description": "The timeout, in seconds, for connecting and querying systemd's D-Bus endpoint.",
17 "type": "number",
18 "minimum": 0.5,
19 "default": 2
20 },
21 "skip_transient": {
22 "title": "Skip transient units",
23 "description": "If set, skip data collection for systemd transient units.",
24 "type": "boolean",
25 "default": false
26 },
27 "include": {
28 "title": "Include",
29 "description": "Configuration for monitoring specific systemd units. Include systemd units whose names match any of the specified [patterns](https://golang.org/pkg/path/filepath/#Match).",
30 "type": [
31 "array",
32 "null"
33 ],
34 "uniqueItems": true,
35 "minItems": 1,
36 "items": {
37 "title": "Unit pattern",
38 "type": "string"
39 },
40 "default": [
41 "*.service"
42 ]
43 },
44 "collect_unit_files": {
45 "title": "Collect unit files",
46 "description": "If set, collect the state of installed unit files. **Enabling this may increase system overhead**, particularly if the pattern matches a large number of unit files.",
47 "type": "boolean",
48 "default": false
49 },
50 "collect_unit_files_every": {
51 "title": "Unit files polling interval",
52 "description": "Interval for querying systemd about unit files and their enablement state, measured in seconds. Data is cached for this interval to reduce system overhead.",
53 "type": "number",
54 "minimum": 1,
55 "default": 300
56 },
57 "include_unit_files": {
58 "title": "Include unit files",
59 "description": "Configuration for monitoring specific systemd unit files. Include systemd unit files whose names match any of the specified [patterns](https://golang.org/pkg/path/filepath/#Match).",
60 "type": [
61 "array",
62 "null"
63 ],
64 "uniqueItems": true,
65 "minItems": 1,
66 "items": {
67 "title": "Unit file name pattern",
68 "type": "string"
69 },
70 "default": [
71 "*.service"
72 ]
73 }
74 },
75 "required": [
76 "include"
77 ]
78 },
79 "uiSchema": {
80 "uiOptions": {
81 "fullPage": true
82 },
83 "ui:flavour": "tabs",
84 "ui:options": {
85 "tabs": [
86 {
87 "title": "Base",
88 "fields": [
89 "update_every",
90 "timeout",
91 "skip_transient",
92 "include"
93 ]
94 },
95 {
96 "title": "Unit Files",
97 "fields": [
98 "collect_unit_files",
99 "collect_unit_files_every",
100 "include_unit_files"
101 ]
102 }
103 ]
104 },
105 "timeout": {
106 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
107 },
108 "skip_transient": {
109 "ui:help": "A systemd transient unit is a temporary unit created on-the-fly, typically used for ad-hoc tasks or testing purposes. They are created using the `systemd-run` command, which allows you to specify unit properties directly on the command line."
110 },
111 "include": {
112 "ui:listFlavour": "list"
113 },
114 "include_unit_files": {
115 "ui:listFlavour": "list"
116 }
117 }
118 }