master
c 303 lines 14.3 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #include "netdata-conf-backwards-compatibility.h"
4 #include "database/engine/rrdengineapi.h"
5
6 void netdata_conf_backwards_compatibility(void) {
7 FUNCTION_RUN_ONCE();
8
9 // move [global] options to the [web] section
10
11 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "http port listen backlog",
12 CONFIG_SECTION_WEB, "listen backlog");
13
14 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "bind socket to IP",
15 CONFIG_SECTION_WEB, "bind to");
16
17 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "bind to",
18 CONFIG_SECTION_WEB, "bind to");
19
20 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "port",
21 CONFIG_SECTION_WEB, "default port");
22
23 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "default port",
24 CONFIG_SECTION_WEB, "default port");
25
26 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "disconnect idle web clients after seconds",
27 CONFIG_SECTION_WEB, "disconnect idle clients after seconds");
28
29 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "respect web browser do not track policy",
30 CONFIG_SECTION_WEB, "respect do not track policy");
31
32 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "web x-frame-options header",
33 CONFIG_SECTION_WEB, "x-frame-options response header");
34
35 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "enable web responses gzip compression",
36 CONFIG_SECTION_WEB, "enable gzip compression");
37
38 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "web compression strategy",
39 CONFIG_SECTION_WEB, "gzip compression strategy");
40
41 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "web compression level",
42 CONFIG_SECTION_WEB, "gzip compression level");
43
44 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "config directory",
45 CONFIG_SECTION_DIRECTORIES, "config");
46
47 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "stock config directory",
48 CONFIG_SECTION_DIRECTORIES, "stock config");
49
50 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "stock data directory",
51 CONFIG_SECTION_DIRECTORIES, "stock data");
52
53 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "log directory",
54 CONFIG_SECTION_DIRECTORIES, "log");
55
56 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "web files directory",
57 CONFIG_SECTION_DIRECTORIES, "web");
58
59 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "cache directory",
60 CONFIG_SECTION_DIRECTORIES, "cache");
61
62 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "lib directory",
63 CONFIG_SECTION_DIRECTORIES, "lib");
64
65 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "home directory",
66 CONFIG_SECTION_DIRECTORIES, "home");
67
68 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "lock directory",
69 CONFIG_SECTION_DIRECTORIES, "lock");
70
71 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "plugins directory",
72 CONFIG_SECTION_DIRECTORIES, "plugins");
73
74 inicfg_move(&netdata_config, CONFIG_SECTION_HEALTH, "health configuration directory",
75 CONFIG_SECTION_DIRECTORIES, "health config");
76
77 inicfg_move(&netdata_config, CONFIG_SECTION_HEALTH, "stock health configuration directory",
78 CONFIG_SECTION_DIRECTORIES, "stock health config");
79
80 inicfg_move(&netdata_config, CONFIG_SECTION_REGISTRY, "registry db directory",
81 CONFIG_SECTION_DIRECTORIES, "registry");
82
83 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "debug log",
84 CONFIG_SECTION_LOGS, "debug");
85
86 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "error log",
87 CONFIG_SECTION_LOGS, "error");
88
89 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "access log",
90 CONFIG_SECTION_LOGS, "access");
91
92 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "facility log",
93 CONFIG_SECTION_LOGS, "facility");
94
95 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "errors flood protection period",
96 CONFIG_SECTION_LOGS, "errors flood protection period");
97
98 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "errors to trigger flood protection",
99 CONFIG_SECTION_LOGS, "errors to trigger flood protection");
100
101 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "debug flags",
102 CONFIG_SECTION_LOGS, "debug flags");
103
104 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "TZ environment variable",
105 CONFIG_SECTION_ENV_VARS, "TZ");
106
107 inicfg_move(&netdata_config, CONFIG_SECTION_PLUGINS, "PATH environment variable",
108 CONFIG_SECTION_ENV_VARS, "PATH");
109
110 inicfg_move(&netdata_config, CONFIG_SECTION_PLUGINS, "PYTHONPATH environment variable",
111 CONFIG_SECTION_ENV_VARS, "PYTHONPATH");
112
113 inicfg_move(&netdata_config, CONFIG_SECTION_STATSD, "enabled",
114 CONFIG_SECTION_PLUGINS, "statsd");
115
116 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "memory mode",
117 CONFIG_SECTION_DB, "db");
118
119 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "mode",
120 CONFIG_SECTION_DB, "db");
121
122 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "history",
123 CONFIG_SECTION_DB, "retention");
124
125 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "update every",
126 CONFIG_SECTION_DB, "update every");
127
128 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "page cache size",
129 CONFIG_SECTION_DB, "dbengine page cache size");
130
131 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "dbengine page cache size MB",
132 CONFIG_SECTION_DB, "dbengine page cache size");
133
134 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "dbengine extent cache size MB",
135 CONFIG_SECTION_DB, "dbengine extent cache size");
136
137 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "page cache size",
138 CONFIG_SECTION_DB, "dbengine page cache size MB");
139
140 // inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "page cache uses malloc",
141 // CONFIG_SECTION_DB, "dbengine page cache with malloc");
142 //
143 // inicfg_move(&netdata_config, CONFIG_SECTION_DB, "page cache with malloc",
144 // CONFIG_SECTION_DB, "dbengine page cache with malloc");
145
146 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "memory deduplication (ksm)",
147 CONFIG_SECTION_DB, "memory deduplication (ksm)");
148
149 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "dbengine page fetch timeout",
150 CONFIG_SECTION_DB, "dbengine page fetch timeout secs");
151
152 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "dbengine page fetch retries",
153 CONFIG_SECTION_DB, "dbengine page fetch retries");
154
155 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "dbengine extent pages",
156 CONFIG_SECTION_DB, "dbengine pages per extent");
157
158 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "cleanup obsolete charts after seconds",
159 CONFIG_SECTION_DB, "cleanup obsolete charts after");
160
161 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "cleanup obsolete charts after secs",
162 CONFIG_SECTION_DB, "cleanup obsolete charts after");
163
164 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "gap when lost iterations above",
165 CONFIG_SECTION_DB, "gap when lost iterations above");
166
167 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "cleanup orphan hosts after seconds",
168 CONFIG_SECTION_DB, "cleanup orphan hosts after");
169
170 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "cleanup orphan hosts after secs",
171 CONFIG_SECTION_DB, "cleanup orphan hosts after");
172
173 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "cleanup ephemeral hosts after secs",
174 CONFIG_SECTION_DB, "cleanup ephemeral hosts after");
175
176 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "seconds to replicate",
177 CONFIG_SECTION_DB, "replication period");
178
179 inicfg_move(&netdata_config, CONFIG_SECTION_DB, "seconds per replication step",
180 CONFIG_SECTION_DB, "replication step");
181
182 inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "enable zero metrics",
183 CONFIG_SECTION_DB, "enable zero metrics");
184
185 inicfg_move(&netdata_config, CONFIG_SECTION_CLOUD, "query thread count",
186 CONFIG_SECTION_CLOUD, "query threads");
187
188 // ----------------------------------------------------------------------------------------------------------------
189 // global statistics -> telemetry -> pulse
190
191 inicfg_move(&netdata_config, CONFIG_SECTION_PLUGINS, "netdata monitoring",
192 CONFIG_SECTION_PLUGINS, "netdata pulse");
193
194 inicfg_move(&netdata_config, CONFIG_SECTION_PLUGINS, "netdata telemetry",
195 CONFIG_SECTION_PLUGINS, "netdata pulse");
196
197 inicfg_move(&netdata_config, CONFIG_SECTION_PLUGINS, "netdata monitoring extended",
198 CONFIG_SECTION_PULSE, "extended");
199
200 inicfg_move(&netdata_config, "telemetry", "extended telemetry",
201 CONFIG_SECTION_PULSE, "extended");
202
203 inicfg_move(&netdata_config, "global statistics", "update every",
204 CONFIG_SECTION_PULSE, "update every");
205
206 inicfg_move(&netdata_config, "telemetry", "update every",
207 CONFIG_SECTION_PULSE, "update every");
208
209
210 // ----------------------------------------------------------------------------------------------------------------
211
212 bool found_old_config = false;
213
214 if(inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "dbengine disk space",
215 CONFIG_SECTION_DB, "dbengine tier 0 retention size") != -1)
216 found_old_config = true;
217
218 if(inicfg_move(&netdata_config, CONFIG_SECTION_GLOBAL, "dbengine multihost disk space",
219 CONFIG_SECTION_DB, "dbengine tier 0 retention size") != -1)
220 found_old_config = true;
221
222 if(inicfg_move(&netdata_config, CONFIG_SECTION_DB, "dbengine disk space MB",
223 CONFIG_SECTION_DB, "dbengine tier 0 retention size") != -1)
224 found_old_config = true;
225
226 for(size_t tier = 0; tier < RRD_STORAGE_TIERS ;tier++) {
227 char old_config[128], new_config[128];
228
229 snprintfz(old_config, sizeof(old_config), "dbengine tier %zu retention days", tier);
230 snprintfz(new_config, sizeof(new_config), "dbengine tier %zu retention time", tier);
231 inicfg_move(&netdata_config, CONFIG_SECTION_DB, old_config,
232 CONFIG_SECTION_DB, new_config);
233
234 if(tier == 0)
235 snprintfz(old_config, sizeof(old_config), "dbengine multihost disk space MB");
236 else
237 snprintfz(old_config, sizeof(old_config), "dbengine tier %zu multihost disk space MB", tier);
238 snprintfz(new_config, sizeof(new_config), "dbengine tier %zu retention size", tier);
239 if(inicfg_move(&netdata_config, CONFIG_SECTION_DB, old_config,
240 CONFIG_SECTION_DB, new_config) != -1 && tier == 0)
241 found_old_config = true;
242
243 snprintfz(old_config, sizeof(old_config), "dbengine tier %zu disk space MB", tier);
244 snprintfz(new_config, sizeof(new_config), "dbengine tier %zu retention size", tier);
245 if(inicfg_move(&netdata_config, CONFIG_SECTION_DB, old_config,
246 CONFIG_SECTION_DB, new_config) != -1 && tier == 0)
247 found_old_config = true;
248 }
249
250 #ifdef ENABLE_DBENGINE
251 legacy_multihost_db_space = found_old_config;
252 #endif
253
254 // ----------------------------------------------------------------------------------------------------------------
255
256 inicfg_move(&netdata_config, CONFIG_SECTION_LOGS, "error",
257 CONFIG_SECTION_LOGS, "daemon");
258
259 inicfg_move(&netdata_config, CONFIG_SECTION_LOGS, "severity level",
260 CONFIG_SECTION_LOGS, "level");
261
262 inicfg_move(&netdata_config, CONFIG_SECTION_LOGS, "errors to trigger flood protection",
263 CONFIG_SECTION_LOGS, "logs to trigger flood protection");
264
265 inicfg_move(&netdata_config, CONFIG_SECTION_LOGS, "errors flood protection period",
266 CONFIG_SECTION_LOGS, "logs flood protection period");
267
268 inicfg_move(&netdata_config, CONFIG_SECTION_HEALTH, "is ephemeral",
269 CONFIG_SECTION_GLOBAL, "is ephemeral node");
270
271 inicfg_move(&netdata_config, CONFIG_SECTION_HEALTH, "has unstable connection",
272 CONFIG_SECTION_GLOBAL, "has unstable connection");
273
274 inicfg_move(&netdata_config, CONFIG_SECTION_HEALTH, "run at least every seconds",
275 CONFIG_SECTION_HEALTH, "run at least every");
276
277 inicfg_move(&netdata_config, CONFIG_SECTION_HEALTH, "postpone alarms during hibernation for seconds",
278 CONFIG_SECTION_HEALTH, "postpone alarms during hibernation for");
279
280 inicfg_move(&netdata_config, CONFIG_SECTION_HEALTH, "health log history",
281 CONFIG_SECTION_HEALTH, "health log retention");
282
283 inicfg_move(&netdata_config, CONFIG_SECTION_REGISTRY, "registry expire idle persons days",
284 CONFIG_SECTION_REGISTRY, "registry expire idle persons");
285
286 inicfg_move(&netdata_config, CONFIG_SECTION_WEB, "disconnect idle clients after seconds",
287 CONFIG_SECTION_WEB, "disconnect idle clients after");
288
289 inicfg_move(&netdata_config, CONFIG_SECTION_WEB, "accept a streaming request every seconds",
290 CONFIG_SECTION_WEB, "accept a streaming request every");
291
292 inicfg_move(&netdata_config, CONFIG_SECTION_STATSD, "set charts as obsolete after secs",
293 CONFIG_SECTION_STATSD, "set charts as obsolete after");
294
295 inicfg_move(&netdata_config, CONFIG_SECTION_STATSD, "disconnect idle tcp clients after seconds",
296 CONFIG_SECTION_STATSD, "disconnect idle tcp clients after");
297
298 inicfg_move(&netdata_config, "plugin:idlejitter", "loop time in ms",
299 "plugin:idlejitter", "loop time");
300
301 inicfg_move(&netdata_config, "plugin:proc:/sys/class/infiniband", "refresh ports state every seconds",
302 "plugin:proc:/sys/class/infiniband", "refresh ports state every");
303 }