prometheus: added prefix to all metrics
Costa Tsaousis (ktsaou) committed
Jul 10, 2017 at 14:50 UTC
b1efdd471f2eb2e4a00c6dc978f15528ba45de33
3 files changed
+28
-18
src/backend_prometheus.c
+22
-15
@@ -124,18 +124,22 @@ void rrd_stats_api_v1_charts_allmetrics_prometheus(RRDHOST *host, BUFFER *wb, ui
124
}
125
126
if (unlikely(help))
127
- buffer_sprintf(wb, "# COMMENT HELP %s_%s netdata chart \"%s\", context \"%s\", family \"%s\", dimension \"%s\", value * " COLLECTED_NUMBER_FORMAT " / " COLLECTED_NUMBER_FORMAT " %s %s (%s)\n",
128
- context, dimension, (names && st->name) ? st->name : st->id, st->context,
129
- st->family, (names && rd->name) ? rd->name : rd->id, rd->multiplier,
130
- rd->divisor, h, st->units, t
127
+ buffer_sprintf(wb, "# COMMENT HELP %s_%s_%s netdata chart \"%s\", context \"%s\", family \"%s\", dimension \"%s\", value * " COLLECTED_NUMBER_FORMAT " / " COLLECTED_NUMBER_FORMAT " %s %s (%s)\n",
128
+ backend_prefix, context, dimension,
129
+ (names && st->name) ? st->name : st->id, st->context,
130
+ st->family,
131
+ (names && rd->name) ? rd->name : rd->id,
132
+ rd->multiplier, rd->divisor,
133
+ h, st->units, t
134
);
135
136
if (unlikely(types))
134
- buffer_sprintf(wb, "# COMMENT TYPE %s_%s %s\n", context, dimension, t);
137
+ buffer_sprintf(wb, "# COMMENT TYPE %s_%s_%s %s\n", backend_prefix, context, dimension, t);
138
136
- buffer_sprintf(wb, "%s_%s{chart=\"%s\",family=\"%s\"%s} " COLLECTED_NUMBER_FORMAT " %llu\n",
137
- context, dimension, chart, family, labels, rd->last_collected_value,
138
- timeval_msec(&rd->last_collected_time)
139
+ buffer_sprintf(wb, "%s_%s_%s{chart=\"%s\",family=\"%s\"%s} " COLLECTED_NUMBER_FORMAT " %llu\n",
140
+ backend_prefix, context, dimension,
141
+ chart, family, labels,
142
+ rd->last_collected_value, timeval_msec(&rd->last_collected_time)
143
);
144
}
145
else {
@@ -147,18 +151,21 @@ void rrd_stats_api_v1_charts_allmetrics_prometheus(RRDHOST *host, BUFFER *wb, ui
151
prometheus_label_copy(dimension, (names && rd->name) ? rd->name : rd->id, PROMETHEUS_ELEMENT_MAX);
152
153
if (unlikely(help))
150
- buffer_sprintf(wb, "# COMMENT HELP %s netdata chart \"%s\", context \"%s\", family \"%s\", dimension \"%s\", value gives %s (gauge)\n",
151
- context, (names && st->name) ? st->name : st->id, st->context,
152
- st->family, (names && rd->name) ? rd->name : rd->id,
154
+ buffer_sprintf(wb, "# COMMENT HELP %s_%s netdata chart \"%s\", context \"%s\", family \"%s\", dimension \"%s\", value gives %s (gauge)\n",
155
+ backend_prefix, context,
156
+ (names && st->name) ? st->name : st->id, st->context,
157
+ st->family,
158
+ (names && rd->name) ? rd->name : rd->id,
159
st->units
160
);
161
162
if (unlikely(types))
157
- buffer_sprintf(wb, "# COMMENT TYPE %s gauge\n", context);
163
+ buffer_sprintf(wb, "# COMMENT TYPE %s_%s gauge\n", backend_prefix, context);
164
159
- buffer_sprintf(wb, "%s{chart=\"%s\",family=\"%s\",dimension=\"%s\"%s} " CALCULATED_NUMBER_FORMAT " %llu\n",
160
- context, chart, family, dimension, labels, value,
161
- timeval_msec(&rd->last_collected_time)
165
+ buffer_sprintf(wb, "%s_%s{chart=\"%s\",family=\"%s\",dimension=\"%s\"%s} " CALCULATED_NUMBER_FORMAT " %llu\n",
166
+ backend_prefix, context,
167
+ chart, family, dimension, labels,
168
+ value, timeval_msec(&rd->last_collected_time)
169
);
170
}
171
}
src/backends.c
+4
-3
@@ -22,6 +22,7 @@
22
// 5. repeats the above forever.
23
//
24
25
+const char *backend_prefix = "netdata";
26
int backend_send_names = 1;
27
int backend_update_every = 10;
28
uint32_t backend_options = BACKEND_SOURCE_DATA_AVERAGE;
@@ -511,7 +512,7 @@ void *backends_main(void *ptr) {
512
const char *source = config_get(CONFIG_SECTION_BACKEND, "data source", "average");
513
const char *type = config_get(CONFIG_SECTION_BACKEND, "type", "graphite");
514
const char *destination = config_get(CONFIG_SECTION_BACKEND, "destination", "localhost");
514
- const char *prefix = config_get(CONFIG_SECTION_BACKEND, "prefix", "netdata");
515
+ backend_prefix = config_get(CONFIG_SECTION_BACKEND, "prefix", "netdata");
516
const char *hostname = config_get(CONFIG_SECTION_BACKEND, "hostname", localhost->hostname);
517
backend_update_every = (int)config_get_number(CONFIG_SECTION_BACKEND, "update every", backend_update_every);
518
int buffer_on_failures = (int)config_get_number(CONFIG_SECTION_BACKEND, "buffer on failures", 10);
@@ -641,7 +642,7 @@ void *backends_main(void *ptr) {
642
// ------------------------------------------------------------------------
643
// prepare the backend main loop
644
644
- info("BACKEND: configured ('%s' on '%s' sending '%s' data, every %d seconds, as host '%s', with prefix '%s')", type, destination, source, backend_update_every, hostname, prefix);
645
+ info("BACKEND: configured ('%s' on '%s' sending '%s' data, every %d seconds, as host '%s', with prefix '%s')", type, destination, source, backend_update_every, hostname, backend_prefix);
646
647
usec_t step_ut = backend_update_every * USEC_PER_SEC;
648
time_t after = now_realtime_sec();
@@ -692,7 +693,7 @@ void *backends_main(void *ptr) {
693
RRDDIM *rd;
694
rrddim_foreach_read(rd, st) {
695
if (likely(rd->last_collected_time.tv_sec >= after)) {
695
- chart_buffered_metrics += backend_request_formatter(b, prefix, host, __hostname, st, rd, after, before, backend_options);
696
+ chart_buffered_metrics += backend_request_formatter(b, backend_prefix, host, __hostname, st, rd, after, before, backend_options);
697
count_dims++;
698
}
699
else {
src/backends.h
+2
@@ -10,6 +10,8 @@
10
extern int backend_send_names;
11
extern int backend_update_every;
12
extern uint32_t backend_options;
13
+extern const char *backend_prefix;
14
+
15
extern void *backends_main(void *ptr);
16
17
extern uint32_t backend_parse_data_source(const char *source, uint32_t mode);