summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-statistics/htdocs/luci-static/resources
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2020-12-22 17:50:50 +0200
committerHannu Nyman <hannu.nyman@iki.fi>2020-12-22 17:54:18 +0200
commitaf20ec8e0724e755bf6c476572ba31016ddd209a (patch)
treeeedd6287a841786b01d4bcf02b20caebb53a9ac3 /applications/luci-app-statistics/htdocs/luci-static/resources
parentd265b7bd6b3b25289081dbbf5e28ec4180531f83 (diff)
luci-app-statistics: Add initial support for chrony
Add initial support for chrony statistics. At this point introduce time offset and stratum stats. There is something strange with the host option. Anything else than 'localhost' or '127.0.0.1' causes an error at collectd start, even when /tmp/collectd/conf is directly edited Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Diffstat (limited to 'applications/luci-app-statistics/htdocs/luci-static/resources')
-rw-r--r--applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/chrony.js61
-rw-r--r--applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/chrony.js34
2 files changed, 95 insertions, 0 deletions
diff --git a/applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/chrony.js b/applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/chrony.js
new file mode 100644
index 0000000000..4730adfbd8
--- /dev/null
+++ b/applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/chrony.js
@@ -0,0 +1,61 @@
+/* Licensed to the public under the Apache License 2.0. */
+
+'use strict';
+'require baseclass';
+'require uci';
+
+return baseclass.extend({
+ title: _('Chrony'),
+
+ rrdargs: function(graph, host, plugin, plugin_instance, dtype) {
+ var offset = {
+ title: "%H: Chrony - time offset",
+ vlabel: "Time offset (ms)",
+ number_format: "%9.3lf ms",
+ data: {
+ types: [ "time_offset" ],
+ options: {
+ time_offset_chrony: {
+ noarea: true,
+ overlay: true,
+ color: "ff0000",
+ title: "%di",
+ transform_rpn: "1000,*"
+ },
+ time_offset: {
+ noarea: true,
+ overlay: true,
+ title: "%di",
+ transform_rpn: "1000,*"
+ }
+ }
+ }
+ };
+
+ var stratum = {
+ title: "%H: Chrony - clock stratum",
+ vlabel: "Clock stratum",
+ number_format: "%3.1lf%S",
+ data: {
+ types: [ "clock_stratum" ],
+ options: {
+ clock_stratum_chrony: {
+ noarea: true,
+ overlay: true,
+ color: "ff0000",
+ title: "%di"
+ },
+ clock_stratum: {
+ noarea: true,
+ overlay: true,
+ title: "%di"
+ }
+ }
+ }
+ };
+
+ return [ offset, stratum ];
+
+ }
+});
+
diff --git a/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/chrony.js b/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/chrony.js
new file mode 100644
index 0000000000..7dc98f3389
--- /dev/null
+++ b/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/chrony.js
@@ -0,0 +1,34 @@
+'use strict';
+'require baseclass';
+'require form';
+
+return baseclass.extend({
+ title: _('Chrony Plugin Configuration'),
+ description: _('The chrony plugin will monitor chrony NTP server statistics'),
+
+ addFormOptions: function(s) {
+ var o;
+
+ o = s.option(form.Flag, 'enable', _('Enable this plugin'));
+
+ o = s.option(form.Value, 'Host', _('Host running chrony'),
+ _('Possibly bug in collectd. Only 127.0.0.1 and localhost work'));
+ o.default = '127.0.0.1';
+ o.datatype = 'or(hostname,ipaddr("nomask"))';
+ o.depends('enable', '1');
+
+ o = s.option(form.Value, 'Port', _('Port for chronyd'));
+ o.default = '323';
+ o.datatype = 'port';
+ o.depends('enable', '1');
+
+ o = s.option(form.Value, 'Timeout', _('Timeout for polling chrony'), _('Seconds'));
+ o.default = '2';
+ o.datatype = 'range(0, 255)';
+ o.depends('enable', '1');
+ },
+
+ configSummary: function(section) {
+ return _('Chrony monitoring enabled');
+ }
+});