#define SYSINFO_RRD_PATH SYSINFO_PATH "sysinfo.rrd"
#define SYSINFO_IMAGES_PATH SYSINFO_PATH "images/"
-#define POWER_PATH "/home/kaapeli/rrdd/power/"
-#define POWER_RRD_PATH POWER_PATH "power.rrd"
-#define POWER_IMAGES_PATH POWER_PATH "images/"
-
#define SYSTEMP_RRD_PATH "/root/systemp/systemp.rrd"
#define NETWORK_RRD_PATH SYSINFO_PATH "network.rrd"
0
};
-const char *powertext[] = {
- "DEF:vesiv=" POWER_RRD_PATH ":vesivoima:AVERAGE",
- "DEF:ydinv=" POWER_RRD_PATH ":ydinvoima:AVERAGE",
- "DEF:lauhd=" POWER_RRD_PATH ":lauhdevoima:AVERAGE",
- "DEF:kauko=" POWER_RRD_PATH ":kaukolampo:AVERAGE",
- "DEF:teoll=" POWER_RRD_PATH ":teollisuus:AVERAGE",
- "DEF:muutu=" POWER_RRD_PATH ":muu:AVERAGE",
- "DEF:huipp=" POWER_RRD_PATH ":huippuvoima:AVERAGE",
- "DEF:tuont=" POWER_RRD_PATH ":tuonti:AVERAGE",
- "COMMENT:\\n",
- blank,
- "COMMENT: "
- "MIN MAX AVG Last\\n",
- blank,
- "AREA:ydinv#ffff00:Ydinvoima ",
- "GPRINT:ydinv:MIN:" numfmt,
- "GPRINT:ydinv:MAX:" numfmt,
- "GPRINT:ydinv:AVERAGE:" numfmt,
- "GPRINT:ydinv:LAST:" numfmt "\\n",
- "COMMENT: \\n",
- blank,
- "STACK:teoll#ff00ff:Teollisuus ",
- "GPRINT:teoll:MIN:" numfmt,
- "GPRINT:teoll:MAX:" numfmt,
- "GPRINT:teoll:AVERAGE:" numfmt,
- "GPRINT:teoll:LAST:" numfmt "\\n",
- "COMMENT: \\n",
- blank,
- "STACK:kauko#00ff00:Kaukolämpö ",
- "GPRINT:kauko:MIN:" numfmt,
- "GPRINT:kauko:MAX:" numfmt,
- "GPRINT:kauko:AVERAGE:" numfmt,
- "GPRINT:kauko:LAST:" numfmt "\\n",
- "COMMENT: \\n",
- blank,
- "STACK:muutu#808080:Muu ",
- "GPRINT:muutu:MIN:" numfmt,
- "GPRINT:muutu:MAX:" numfmt,
- "GPRINT:muutu:AVERAGE:" numfmt,
- "GPRINT:muutu:LAST:" numfmt "\\n",
- "COMMENT: \\n",
- blank,
- "STACK:lauhd#ff0000:Lauhdevoima ",
- "GPRINT:lauhd:MIN:" numfmt,
- "GPRINT:lauhd:MAX:" numfmt,
- "GPRINT:lauhd:AVERAGE:" numfmt,
- "GPRINT:lauhd:LAST:" numfmt "\\n",
- "COMMENT: \\n",
- blank,
- "STACK:vesiv#0000ff:Vesivoima ",
- "GPRINT:vesiv:MIN:" numfmt,
- "GPRINT:vesiv:MAX:" numfmt,
- "GPRINT:vesiv:AVERAGE:" numfmt,
- "GPRINT:vesiv:LAST:" numfmt "\\n",
- "COMMENT: \\n",
- blank,
- "STACK:tuont#000000:Tuonti ",
- "GPRINT:tuont:MIN:" numfmt,
- "GPRINT:tuont:MAX:" numfmt,
- "GPRINT:tuont:AVERAGE:" numfmt,
- "GPRINT:tuont:LAST:" numfmt "\\n",
- "COMMENT: \\n",
- blank,
- "STACK:huipp#ff0000:Huippuvoima ",
- "GPRINT:huipp:MIN:" numfmt,
- "GPRINT:huipp:MAX:" numfmt,
- "GPRINT:huipp:AVERAGE:" numfmt,
- "GPRINT:huipp:LAST:" numfmt "\\n",
- "COMMENT: \\n",
- 0
-};
-
-const char *freqtext[] = {
- "DEF:freq=" POWER_RRD_PATH ":taajuus:AVERAGE",
- "COMMENT:\\n",
- blank,
- "COMMENT: "
- "MIN MAX AVG Last\\n",
- blank,
- "LINE1:freq#0000ff:Taajuus ",
- "GPRINT:freq:MIN:" numfmt,
- "GPRINT:freq:MAX:" numfmt,
- "GPRINT:freq:AVERAGE:" numfmt,
- "GPRINT:freq:LAST:" numfmt "\\n",
- "COMMENT: \\n",
-};
-
-const char *deviationtext[] = {
- "DEF:devi=" POWER_RRD_PATH ":aikapoikkeama:AVERAGE",
- "COMMENT:\\n",
- blank,
- "COMMENT: "
- "MIN MAX AVG Last\\n",
- blank,
- "LINE1:devi#0000ff:Aikapoikkeama ",
- "GPRINT:devi:MIN:" numfmt,
- "GPRINT:devi:MAX:" numfmt,
- "GPRINT:devi:AVERAGE:" numfmt,
- "GPRINT:devi:LAST:" numfmt "\\n",
- "COMMENT: \\n",
-};
-
-const char *pricetext[] = {
- "DEF:hinta=" POWER_RRD_PATH ":hinta:AVERAGE",
- "COMMENT:\\n",
- blank,
- "COMMENT: "
- "MIN MAX AVG Last\\n",
- blank,
- "LINE1:hinta#0000ff:Hinta ",
- "GPRINT:hinta:MIN:" numfmt,
- "GPRINT:hinta:MAX:" numfmt,
- "GPRINT:hinta:AVERAGE:" numfmt,
- "GPRINT:hinta:LAST:" numfmt "\\n",
- "COMMENT: \\n",
-};
-
const char *cpuoptions[] = {
"--alt-autoscale-max",
"--lower-limit", "0",
0
};
-const char *freqoptions[] = {
- "--alt-autoscale",
- "--vertical-label", "Taajuus Hz",
- "--units-exponent", "-3",
- 0
-};
-
-const char *deviationoptions[] = {
- "--alt-autoscale",
- "--vertical-label", "Aikapoikkeama s",
- 0
-};
-
-const char *priceoptions[] = {
- "--alt-autoscale",
- "--vertical-label", "Hinta €/MWh",
- 0
-};
-
-const char *poweroptions[] = {
- "--alt-autoscale-max",
- "--lower-limit", "0",
- "--vertical-label",
- "Teho (MW)",
- "--units-exponent", "0",
- 0
-};
-
#define xstr(s) str(s)
#define str(s) #s
.text = (char **)&rrdname ## text, \
};
-#define CPUPATH (xstr(SYSINFO_IMAGES_PATH) "cpu" )
-#define MEMPATH (xstr(SYSINFO_IMAGES_PATH) "mem")
-#define SYSTEMPPATH (xstr(SYSINFO_IMAGES_PATH) "systemp")
-#define POWERPATH (xstr(POWER_IMAGES_PATH) "power")
-#define FREQPATH (xstr(POWER_IMAGES_PATH) "freq")
-#define DEVIATIONPATH (xstr(POWER_IMAGES_PATH) "deviation")
-
DEFINE_IMAGE(cpu, "/home/kaapeli/rrdd/sysinfo/images/cpu", 720, 480);
DEFINE_IMAGE(mem, "/home/kaapeli/rrdd/sysinfo/images/mem", 720, 480);
DEFINE_IMAGE(systemp, "/home/kaapeli/rrdd/sysinfo/images/systemp", 720, 480);
-DEFINE_IMAGE(power, "/home/kaapeli/rrdd/power/images/power", 480, 480);
-DEFINE_IMAGE(freq, "/home/kaapeli/rrdd/power/images/freq", 480, 240);
-DEFINE_IMAGE(deviation, "/home/kaapeli/rrdd/power/images/deviation", 480, 240);
-DEFINE_IMAGE(price, "/home/kaapeli/rrdd/power/images/price", 480, 240);
DEFINE_IMAGE(eth0, "/home/kaapeli/rrdd/sysinfo/images/eth0", 720, 200);
DEFINE_IMAGE(eth1, "/home/kaapeli/rrdd/sysinfo/images/eth1", 720, 200);
0
};
-static struct rrd_image *power_images[] = {
- &powerdaily,
- &powerweekly,
- &powermonthly,
- &poweryearly,
- &freqdaily,
- &freqweekly,
- &freqmonthly,
- &freqyearly,
- &deviationdaily,
- &deviationweekly,
- &deviationmonthly,
- &deviationyearly,
- &pricedaily,
- &priceweekly,
- &pricemonthly,
- &priceyearly,
- 0
-};
-
#define SOURCE_ENTRY(_name, _type, _heartbeat, _min, _max) \
{ \
.name = _name, \
{},
};
-struct rrd_data_source power_sources[] = {
- SOURCE_ENTRY("kulutus", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("tuotanto", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("vesivoima", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("ydinvoima", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("lauhdevoima", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("kaukolampo", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("teollisuus", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("muu", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("huippuvoima", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("tuonti", "GAUGE", 360, -3000, 3000)
- SOURCE_ENTRY("hinta", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("ylijaama", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("ylijaamakumul", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("taajuus", "GAUGE", 360, 0, 3000)
- SOURCE_ENTRY("aikapoikkeama", "GAUGE", 360, -30, 30)
- {},
-};
-
-struct rrd_archive power_archives[] = {
- ARCHIVE_ENTRY("AVERAGE", 0.5, 1, 480)
- ARCHIVE_ENTRY("AVERAGE", 0.5, 7, 480)
- ARCHIVE_ENTRY("AVERAGE", 0.5, 31, 480)
- ARCHIVE_ENTRY("AVERAGE", 0.5, 365, 480)
- ARCHIVE_ENTRY("MIN", 0.5, 1, 480)
- ARCHIVE_ENTRY("MIN", 0.5, 7, 480)
- ARCHIVE_ENTRY("MIN", 0.5, 31, 480)
- ARCHIVE_ENTRY("MIN", 0.5, 365, 480)
- ARCHIVE_ENTRY("MAX", 0.5, 1, 480)
- ARCHIVE_ENTRY("MAX", 0.5, 7, 480)
- ARCHIVE_ENTRY("MAX", 0.5, 31, 480)
- ARCHIVE_ENTRY("MAX", 0.5, 365, 480)
- {},
-};
-
static struct rrd_database cpumem_rrd = {
.filename = SYSINFO_RRD_PATH,
.interval = 120,
.name = "cpumem",
};
-char *power_parse_cmdline[] = {
- "./parse_power.sh",
- "",
- NULL,
-};
-
-static struct rrd_database power_rrd = {
- .name = "power",
- .filename = POWER_RRD_PATH,
- .interval = 180,
- .sources = power_sources,
- .archives = power_archives,
- .parse = script_parser,
- .parser_data = power_parse_cmdline,
- .images = power_images,
-};
-
static struct rrd_database systemp_rrd = {
.interval = 300,
.parse = NULL,
.images = network_images,
};
+#include "power_database.h"
+
static struct rrd_database *all_rrds[] = {
&cpumem_rrd,
&power_rrd,
--- /dev/null
+#define POWER_PATH "/home/kaapeli/rrdd/power/"
+#define POWER_RRD_PATH POWER_PATH "power.rrd"
+#define POWER_IMAGES_PATH POWER_PATH "images/"
+
+const char *powertext[] = {
+ "DEF:vesiv=" POWER_RRD_PATH ":vesivoima:AVERAGE",
+ "DEF:ydinv=" POWER_RRD_PATH ":ydinvoima:AVERAGE",
+ "DEF:lauhd=" POWER_RRD_PATH ":lauhdevoima:AVERAGE",
+ "DEF:kauko=" POWER_RRD_PATH ":kaukolampo:AVERAGE",
+ "DEF:teoll=" POWER_RRD_PATH ":teollisuus:AVERAGE",
+ "DEF:muutu=" POWER_RRD_PATH ":muu:AVERAGE",
+ "DEF:huipp=" POWER_RRD_PATH ":huippuvoima:AVERAGE",
+ "DEF:tuont=" POWER_RRD_PATH ":tuonti:AVERAGE",
+ "COMMENT:\\n",
+ blank,
+ "COMMENT: "
+ "MIN MAX AVG Last\\n",
+ blank,
+ "AREA:ydinv#ffff00:Ydinvoima ",
+ "GPRINT:ydinv:MIN:" numfmt,
+ "GPRINT:ydinv:MAX:" numfmt,
+ "GPRINT:ydinv:AVERAGE:" numfmt,
+ "GPRINT:ydinv:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+ blank,
+ "STACK:teoll#ff00ff:Teollisuus ",
+ "GPRINT:teoll:MIN:" numfmt,
+ "GPRINT:teoll:MAX:" numfmt,
+ "GPRINT:teoll:AVERAGE:" numfmt,
+ "GPRINT:teoll:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+ blank,
+ "STACK:kauko#00ff00:Kaukolämpö ",
+ "GPRINT:kauko:MIN:" numfmt,
+ "GPRINT:kauko:MAX:" numfmt,
+ "GPRINT:kauko:AVERAGE:" numfmt,
+ "GPRINT:kauko:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+ blank,
+ "STACK:muutu#808080:Muu ",
+ "GPRINT:muutu:MIN:" numfmt,
+ "GPRINT:muutu:MAX:" numfmt,
+ "GPRINT:muutu:AVERAGE:" numfmt,
+ "GPRINT:muutu:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+ blank,
+ "STACK:lauhd#ff0000:Lauhdevoima ",
+ "GPRINT:lauhd:MIN:" numfmt,
+ "GPRINT:lauhd:MAX:" numfmt,
+ "GPRINT:lauhd:AVERAGE:" numfmt,
+ "GPRINT:lauhd:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+ blank,
+ "STACK:vesiv#0000ff:Vesivoima ",
+ "GPRINT:vesiv:MIN:" numfmt,
+ "GPRINT:vesiv:MAX:" numfmt,
+ "GPRINT:vesiv:AVERAGE:" numfmt,
+ "GPRINT:vesiv:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+ blank,
+ "STACK:tuont#000000:Tuonti ",
+ "GPRINT:tuont:MIN:" numfmt,
+ "GPRINT:tuont:MAX:" numfmt,
+ "GPRINT:tuont:AVERAGE:" numfmt,
+ "GPRINT:tuont:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+ blank,
+ "STACK:huipp#ff0000:Huippuvoima ",
+ "GPRINT:huipp:MIN:" numfmt,
+ "GPRINT:huipp:MAX:" numfmt,
+ "GPRINT:huipp:AVERAGE:" numfmt,
+ "GPRINT:huipp:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+ 0
+};
+
+const char *freqtext[] = {
+ "DEF:freq=" POWER_RRD_PATH ":taajuus:AVERAGE",
+ "COMMENT:\\n",
+ blank,
+ "COMMENT: "
+ "MIN MAX AVG Last\\n",
+ blank,
+ "LINE1:freq#0000ff:Taajuus ",
+ "GPRINT:freq:MIN:" numfmt,
+ "GPRINT:freq:MAX:" numfmt,
+ "GPRINT:freq:AVERAGE:" numfmt,
+ "GPRINT:freq:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+};
+
+const char *deviationtext[] = {
+ "DEF:devi=" POWER_RRD_PATH ":aikapoikkeama:AVERAGE",
+ "COMMENT:\\n",
+ blank,
+ "COMMENT: "
+ "MIN MAX AVG Last\\n",
+ blank,
+ "LINE1:devi#0000ff:Aikapoikkeama ",
+ "GPRINT:devi:MIN:" numfmt,
+ "GPRINT:devi:MAX:" numfmt,
+ "GPRINT:devi:AVERAGE:" numfmt,
+ "GPRINT:devi:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+};
+
+const char *pricetext[] = {
+ "DEF:hinta=" POWER_RRD_PATH ":hinta:AVERAGE",
+ "COMMENT:\\n",
+ blank,
+ "COMMENT: "
+ "MIN MAX AVG Last\\n",
+ blank,
+ "LINE1:hinta#0000ff:Hinta ",
+ "GPRINT:hinta:MIN:" numfmt,
+ "GPRINT:hinta:MAX:" numfmt,
+ "GPRINT:hinta:AVERAGE:" numfmt,
+ "GPRINT:hinta:LAST:" numfmt "\\n",
+ "COMMENT: \\n",
+};
+
+const char *freqoptions[] = {
+ "--alt-autoscale",
+ "--vertical-label", "Taajuus Hz",
+ "--units-exponent", "-3",
+ 0
+};
+
+const char *deviationoptions[] = {
+ "--alt-autoscale",
+ "--vertical-label", "Aikapoikkeama s",
+ 0
+};
+
+const char *priceoptions[] = {
+ "--alt-autoscale",
+ "--vertical-label", "Hinta €/MWh",
+ 0
+};
+
+const char *poweroptions[] = {
+ "--alt-autoscale-max",
+ "--lower-limit", "0",
+ "--vertical-label",
+ "Teho (MW)",
+ "--units-exponent", "0",
+ 0
+};
+
+DEFINE_IMAGE(power, "/home/kaapeli/rrdd/power/images/power", 480, 480);
+DEFINE_IMAGE(freq, "/home/kaapeli/rrdd/power/images/freq", 480, 240);
+DEFINE_IMAGE(deviation, "/home/kaapeli/rrdd/power/images/deviation", 480, 240);
+DEFINE_IMAGE(price, "/home/kaapeli/rrdd/power/images/price", 480, 240);
+
+static struct rrd_image *power_images[] = {
+ &powerdaily,
+ &powerweekly,
+ &powermonthly,
+ &poweryearly,
+ &freqdaily,
+ &freqweekly,
+ &freqmonthly,
+ &freqyearly,
+ &deviationdaily,
+ &deviationweekly,
+ &deviationmonthly,
+ &deviationyearly,
+ &pricedaily,
+ &priceweekly,
+ &pricemonthly,
+ &priceyearly,
+ 0
+};
+
+struct rrd_data_source power_sources[] = {
+ SOURCE_ENTRY("kulutus", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("tuotanto", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("vesivoima", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("ydinvoima", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("lauhdevoima", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("kaukolampo", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("teollisuus", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("muu", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("huippuvoima", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("tuonti", "GAUGE", 360, -3000, 3000)
+ SOURCE_ENTRY("hinta", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("ylijaama", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("ylijaamakumul", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("taajuus", "GAUGE", 360, 0, 3000)
+ SOURCE_ENTRY("aikapoikkeama", "GAUGE", 360, -30, 30)
+ {},
+};
+
+struct rrd_archive power_archives[] = {
+ ARCHIVE_ENTRY("AVERAGE", 0.5, 1, 480)
+ ARCHIVE_ENTRY("AVERAGE", 0.5, 7, 480)
+ ARCHIVE_ENTRY("AVERAGE", 0.5, 31, 480)
+ ARCHIVE_ENTRY("AVERAGE", 0.5, 365, 480)
+ ARCHIVE_ENTRY("MIN", 0.5, 1, 480)
+ ARCHIVE_ENTRY("MIN", 0.5, 7, 480)
+ ARCHIVE_ENTRY("MIN", 0.5, 31, 480)
+ ARCHIVE_ENTRY("MIN", 0.5, 365, 480)
+ ARCHIVE_ENTRY("MAX", 0.5, 1, 480)
+ ARCHIVE_ENTRY("MAX", 0.5, 7, 480)
+ ARCHIVE_ENTRY("MAX", 0.5, 31, 480)
+ ARCHIVE_ENTRY("MAX", 0.5, 365, 480)
+ {},
+};
+
+char *power_parse_cmdline[] = {
+ "./parse_power.sh",
+ "",
+ NULL,
+};
+
+static struct rrd_database power_rrd = {
+ .name = "power",
+ .filename = POWER_RRD_PATH,
+ .interval = 180,
+ .sources = power_sources,
+ .archives = power_archives,
+ .parse = script_parser,
+ .parser_data = power_parse_cmdline,
+ .images = power_images,
+};