Commit graph

56 commits

Author SHA1 Message Date
Hannu Nyman
703cd24868
Merge pull request #2209 from jinchizhong/luci-app-statistics-add-curl
luci-app-statistics: add support for cUrl
2018-10-13 22:02:42 +03:00
Chizhong Jin
2d1830422b pp-statistics: add support for cUrl
Add collectd-mod-curl plugin support. Which can do some complex track,
such as grab stock, but by now, only response time are supported.

Signed-off-by: Chizhong Jin <pjincz@gmail.com>
2018-10-14 02:34:49 +08:00
yangfl
ae8b68cfe8 treewide: Fix typos in UI strings
Signed-off-by: David Yang <mmyangfl@gmail.com>
2018-10-12 22:18:51 +08:00
yangfl
401382a459 treewide: Fix typos in comments
Signed-off-by: David Yang <mmyangfl@gmail.com>
2018-10-10 15:00:07 +08:00
Jo-Philipp Wich
c0d9c4f3ce treewide: filter shell arguments through shellquote() where applicable
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-05 09:37:43 +02:00
guidosarducci
fa1f4c42a6 luci-app-statistics: only graph data supported by APC UPS
Some graph definitions rely on data not supported across all APC UPSes.
Due to recent upstream changes in collectd, the daemon no longer creates
a NaN-filled .rrd file corresponding to any missing UPS data. Depending
on the connected UPS, this may result in some "broken" graphs on the Luci
Statistics page since rrdtool cannot find the expected .rrd file.

Include the add_supported() function to determine the UPS data available
at runtime and update any definitions of graphs to include only supported
data. For example, the whole chart stack of AC input and output voltages
will normally be "broken" if the UPS only measures AC input voltage. With
these changes, the output voltage graph definition is stripped out,
allowing the chart to render.

Make consistent use of data types and instances in graph definitions. All
definitions now use the same format with the 'instances' key. Unnecessary
'types' and 'sources' keys are removed.

Fix the definition of 'line frequency' graph, based on upstream collectd
apcups plugin code: type is 'frequency' but instance should be 'input'.

This also includes some code and whitespace cleanup.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2018-03-03 13:54:55 -08:00
bobmseagithub
2145b7b33b luci-app-statistics: Voltage graphs - AC and DC
The Voltage graph combines Battery, Input Voltage and Output Voltage.
The Y-Axis scale masks changes in Input/Output voltages over time.
This patch splits the graphs into 2 graphs.
This makes it possible to see variations in AC Input/Output voltages.

Signed-off-by: Bob Meizlik <bobmseagithub@squakmt.com>
2017-07-23 20:44:44 -07:00
guidosarducci
808f261793 luci-app-statistics: add support for apcups plugin
OpenWRT/LEDE support for APC UPSes is only partial: although the collectd
apcups plugin is included, related lua/luci code is missing. These changes
add the lua side and have been used for ~2 years, both on OpenWRT and LEDE.

Reworked from patches submitted by James Klaas to the luci development list
in 2015.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2017-07-04 16:07:14 -07:00
Jo-Philipp Wich
cace1d80ed luci-app-statistics: support specifying line width in graph definitions
This allows a graph definition to explicitely request LINE1, LINE2 or
LINE3 for a data source.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-10 20:37:29 +02:00
Jo-Philipp Wich
b1d307d3f5 luci-app-statistics: support graph menu entries without corresponding labels
Properly render menu items for plugin instances that do not have a
corresponding label defined.

This allows for registering new graph pages solely by dropping files
into /usr/lib/lua/luci/statistics/rrdtool/definitions/

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-10 20:32:47 +02:00
Hannu Nyman
d04f667383 luci-app-statistics: check that uci config sections exist
A missing or faulty luci_statistics config file may prevent
LuCI access completely already at the login phase as
the statistics config is parsed already then.

The error is like:
  .../statistics/datatree.lua:16: attempt to index upvalue 'sections' (a nil value)

User may be completely locked out of LuCI until he figures out
the need to have a proper luci_statistics config file.

Prevent the error by checking for the existence of
the uci config sections before trying to use values from them.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-10 19:15:52 +03:00
Hannu Nyman
0a6ce20423 luci-app-statistics: processes: fix graph visibility
Fix graph visibility on processes page based on plugin
instance. The overview instance is empty, while monitored
processes have their own instances.

Original version of the patch created by @koblack and
discussed in #1021

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-09 09:46:50 +03:00
Hannu Nyman
b737831e56 luci-app-statistics: processes plugin: add labels, correct data
Enhance processes statistics page:
* add proper labels to graphs
* correct RSS memory stats title, add VSZ stats

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-04-30 19:05:19 +03:00
fantom-x
5bf636732e Support for collectd-mod-contextswitch
Signed-off-by: Marc Benoit marcb6218@gmail.com
2017-04-29 12:38:23 -04:00
Hannu Nyman
298f838d39 luci-app-statistics: remove non-functional links from graphs
The statistics graphs on the pages with multiple data sources
have contained links to the data sources, but those links
have not worked. Remove the links as they are unnecessary.

This commit fixes #1006

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-13 19:10:51 +02:00
Hannu Nyman
eaafb4508c luci-app-statistics: add advice about data directory permissions
Add advice about the permissions needed for the data directory:

  Pages are rendered as user 'nobody', so the *.rrd files,
  data directory and all its parent directories need to be
  world readable.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-01-23 19:31:40 +02:00
Daniel Dickinson
388c84fa06 app-statistics: df: Don't separate disk usage types
The df plugin wasn't displaying useful lables for the space
used vs free vs reserved due to title override.  This patch
fixes that issues by removing the per-instance setting.

Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
2016-12-07 03:45:21 -05:00
Hannu Nyman
1c27f6b462 luci-app-statistics: add support for thermal stats
Add support for temperature data from collect-mod-thermal

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-11-19 16:10:57 +02:00
Hannu Nyman
d4bbf44fbb luci-app-statistics: adjust cpufreq graph for single/dual-core CPUs
The original data model definition assumed data from a quad-core CPU,
which caused errors with single- and dual-core processors.
Adjust the data model to work with also them.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-11-10 20:34:08 +02:00
Hannu Nyman
4343b2f13d luci-app-statistics: tweak 'cpufreq' number formatting
Adjust number formatting to display >1GHz values better.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-11-08 22:54:44 +02:00
Hannu Nyman
df3c8728b9 luci-app-statistics: add support for CPU frequency scaling stats
Add support for 'cpufreq' plugin in collectd, which monitors
the CPU cores' frequencies. Some platforms enable dynamic
frequency scaling according to CPU load.

'cpufreq' plugin can currently be built for x86 and mvebu.
(and it should likely be enabled also for ipq806x)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-11-08 22:24:56 +02:00
Jo-Philipp Wich
95358ab99d Merge pull request #776 from cshore/pull-request-statistics-nut
luci-app-statistics: nut: Add additional stats some UPSes report
2016-10-24 11:30:50 +02:00
Daniel Dickinson
c9cd869168 luci-app-statistics: nut: Add additional stats some UPSes report
Different UPSes report differents stats; here we add graphing
of some additional statistics supports by some models.

Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
2016-08-13 20:38:56 -04:00
Artur Stepniewski
a21bcb5113 Fix missing title in df graphs
It used data source instance name instead of plugin instance name.

Signed-off-by: Artur Stepniewski <artur.stepniewski+openwrt@gmail.com>
2016-08-11 01:07:16 +02:00
Hannu Nyman
b213573682 luci-app-statistics: option for max/avg data when not rrasingle
Introduce option that enables the user to select max values
instead of averages for graphs if the user has disabled RRAsingle.

The option defaults to average values, which have been the default
in Luci statistics.

Remove 'optional' from RRASingle, as it is a key option for statistics.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-05-12 10:26:59 +03:00
Kevin Darbyshire-Bryant
f960a52868 Graph the max value rather than avg if rrdsingle disabled
With rrdsingle the average values are used for graphing. As the
timescale increases (say over a day or month) the average values
progressively reduce.  Using the maximum value over the longer periods
is arguably no less deceptive but it does produce more informative
graphs.

V2 - Invert the default path logic related to rra.single

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-05-11 13:41:54 +01:00
Daniel Dickinson
6d2163eb62 luci-app-statistics: Fix disk usage graphing
Disk usage graphing was broken.  This fixes it.

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
2016-03-25 04:04:58 -04:00
Hannu Nyman
8f8957f90f luci-app-statistics: Remove usually empty std.dev. graph from ping page
Remove the usually empty standard deviation graph from the ping page.

The graph is empty for most users as collectd measures standard deviation
of individual pings inside the general interval of statistics collection.
Default setting for both ping interval and general collection interval
is 30s in Luci statistics, meaning just 1 ping per interval, which
leads to empty graph.

(To provide relveant data, the ping interval should be 1/4-1/5 of the
general collection interval. Even then the graph does not look very
informative due to different scaling than the latency graph.)

Note that this commit does not change collectd itself, which continues
to collect and calculate also the std.dev. data, which can be fetched
with 'rrdtool' if needed.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-02-02 14:34:10 +02:00
Daniel Dickinson
c481f3f343 validation: Add option ipv4only option to host and hostport datatypes
Some applications only support ipv4 so add ipv4only option
to host and hostport datatypes so that for thos applications
that when an IP address is specified only and ipv4 ip address
gets accepted.
2015-12-15 20:41:01 -05:00
Hannu Nyman
53d767de5e luci-app-statistics: Adjust ping graphs to show target hosts separately
Ping statistics plugin allows the user to define multiple ping targets.
The graphs have so far shown multiple hosts in a stacked way.
Adjust graphs to show the target hosts separately (overlay=true).

Clarify the plugin definition with some additional line spacing.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-10-25 10:19:26 +02:00
Hannu Nyman
dccf485922 luci-app-statistics: improve scaling of the associated stations graph
Improve scaling of the associated stations graph on the wireless page.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-10-25 10:11:35 +02:00
Jo-Philipp Wich
5e9da8240f Globally convert headline anchors into name attributes.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-06 13:30:33 +02:00
Jo-Philipp Wich
78c61d6de0 luci-app-statistics: reorder interface, netlink and openvpn datasources
This aligns the order and grouping of RX and TX network datasources.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-05 19:11:51 +02:00
Jo-Philipp Wich
c8c4a343c2 luci-app-statistics: add support for sorting RRD data sources
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-05 19:11:13 +02:00
Jo-Philipp Wich
3289e13495 luci-app-statistics: add initial support for collectd-mod-openvpn
This changeset covers compression and traffic stats, not every combination has
been tested yet.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-05 18:55:28 +02:00
Jo-Philipp Wich
cff2b99b4f luci-app-statistics: add initial support for collect-mod-sensors
Due to a lack of a test environment this support only covers thermal graphs
so far. Please send the output of "rrdtool info /tmp/rrd/*/sensors-*/*.rrd"
if your system happens to support voltage, power or fanspeed sensors.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-05 15:13:44 +02:00
Jo-Philipp Wich
c10a7380bf luci-app-statistics: improve diagram generation, add missing title
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-03 15:30:59 +02:00
Jo-Philipp Wich
96b031bbad luci-app-statistics: rework graph label handling
Remove leftover unused translation code and properly escape colons in line
labels.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-03 15:29:28 +02:00
Jo-Philipp Wich
59d2f60a42 luci-app-statistics: only render index view for more than one instance
If a plugin produces only one instance, e.g. netlink with just one interface
configured, then the controller will register no detail views which would
normally show all graphs but the index pacage of a given plugin will still
display the collapsed view without any possibility to reach the full listing.

Fix the problem by only rendering a linked index view when more than one
instance is present.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-03 11:40:12 +02:00
Hannu Nyman
da5b25187b luci-app-statistics: reorganise menu items
Reorganise the menu items of the Luci statistics module:

* Re-label "Collectd" to "Setup" and place it after the "Graphs" items.
  - "Graphs" is used much more frequently so it should be first.
  - Change "Collectd" menu item to "Setup" to clarify things.

* Re-label "System plugins" to "General plugins" to change sorting.
  "Network / Output / System" changes to "General / Network / Output"
  that is more logical order for the items.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-09-27 16:41:53 +03:00
David Woodhouse
41ec4c68ad luci/statistics: Fix nut UPS graphs
At some point since I last checked, the nut plugin for collectd changed the
names of the timeleft and percent datasets. Update the luci module to match
so that those graphs are generated correctly again.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2015-09-22 21:15:50 +01:00
Hannu Nyman
f0083abed1 statistics: fix typo
sed -i "s/collected date/collected data/"

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-09-02 15:40:56 +03:00
Hannu Nyman
5ce647746e statistics: clarify CPU/processor graph by removing "idle" from it
Clarify the CPU time consumption graph by removing the "idle" data from it.
Especially with light traffic, removing "idle" enables the graph
to scale better and to properly show the CPU load variations.

If "idle" data needs to be seen, it might be added as a second graph below.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-28 22:58:16 +03:00
Hannu Nyman
0141494935 statistics: clarify stats introduction
* Clarify the short explanation on the statistics section's front page.
* Mention the possibility of additional collectd plugins to get more stats.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-28 22:48:03 +03:00
Hannu Nyman
d820ed4882 statistics: entropy plugin - fix placement of entropy.lua
Move the file entropy.lua to the correct directory.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-28 12:51:43 +03:00
Hannu Nyman
7df0df48c0 statistics: Add support for entropy stats
Add statistics on the available entropy.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-27 10:19:38 +03:00
Christian Schoenebeck
084d435060 Merge pull request #448 from hnyman/cpulabel
statistics: cpu graph - add label definitions, add softirq and interrupt stats
2015-08-24 09:49:54 +02:00
Hannu Nyman
9a06498dbd statistics: memory plugin - improve graph by better scaling of y-axis
Utilise alt_autoscale_max to make the memory chart y-axis to scale better
for devices with e.g. 128 MB RAM.

Also fix the axis min value to 0.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-23 21:12:56 +03:00
Hannu Nyman
86ff4bd3a4 statistics: support rrdtool's alt_autoscale and alt_autoscale_max options
Implement support for alternative scaling of the y-axis.
By default, rrdtool will autoscale to 1,2,5,10,20,50,100,200,... etc.,
which is not always suitable (e.g. memory charts for device with 128 MB).

Rrdtool 1.0.50 already supports alternative autoscaling that creates
a tighter y-axis. Implement graph-level options in Luci statistics to
support those boolean options as "alt_autoscale" and "alt_autoscale_max".

info at http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-23 21:02:14 +03:00
Hannu Nyman
962cd2c4c1 statistics: cpu graph - add label definitions, add softirq and interrupt stats
CPU plugin in the Luci statistics was missing the label definitions,
so the field labels are like "cpu_system" instead of "System".
Add proper label definitions to CPU (like the other plugins already have).

The statistics graph was also missing softirq and interrupt stats, although colors
for them were defined. Softirq consumes massive amount of CPU especially with
any qos in use, so it is important for the user to see also that data. Add both
softirq and interrupt stats to the graph.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-23 17:14:22 +03:00