[ZBXNEXT-4588] New Graph Widget Created: 2018 Jun 06  Updated: 2024 Apr 10  Resolved: 2019 Jan 20

Status: Closed
Project: ZABBIX FEATURE REQUESTS
Component/s: None
Affects Version/s: None
Fix Version/s: 4.0.0beta1, 4.0.0beta2, 4.0.0rc1, 4.0 (plan)

Type: New Feature Request Priority: Major
Reporter: Rostislav Palivoda Assignee: Miks Kronkalns
Resolution: Fixed Votes: 11
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Attachments: PNG File number_rounding.png     PNG File (152).png     Text File (152).txt     PNG File 4588_sbox.PNG     PNG File Screenshot_6.png     PNG File Selection_040.png     PNG File Selection_041.png     PNG File big-error-width.png     PNG File comboboxes-after.png     PNG File comboboxes-before.png     GIF File content_width_error.gif     PNG File crispEdges.png     PNG File data-points-hover.png     PNG File date_on_graph.png     PNG File date_space.png     PNG File disabled_item.png     PNG File displaying20of50.png     PNG File edge_undefined.png     PNG File empty-hintbox.png     GIF File ff_tooltip.gif     PNG File fill.png     PNG File fill_ordering_not_responding.png     PNG File graph_granulation_1.png     PNG File graph_granulation_2.png     GIF File graph_jumps.gif     PNG File grey-clock-icon.png     PNG File hc-theme-overrides.png     PNG File headroom.png     PNG File hint-with-no-value.png     PNG File hintbox-size.png     PNG File hintbox_debug.png     GIF File hover.gif     GIF File hover.gif     GIF File hover2.gif     PNG File incorrect-footnote-in-tooltip.png     PNG File incorrect-left-axis-value.png     GIF File line_ff.gif     PNG File max-left-axis-value.png     PNG File min-left-axis-value.png     PNG File minmax.png     PNG File misalign.png     PNG File missing-v-axes.png     PNG File missing_value.png     PNG File no_space_for_date.png     PNG File noaxes_nodata.png     PNG File nodata.png     PNG File numbers_too_close.png     PNG File one_value_with_footer.png     PNG File outside_graph.png     PNG File points_0.9.png     PNG File problem_5_min.png     PNG File problem_line.png     GIF File problem_red_line.gif     PNG File revers-fill.png     PNG File sBox-hiding.png     PNG File sad_graphs.png     GIF File sbox_selection.gif     GIF File second_graph_color.gif     PNG File short_legend.png     PNG File strange-endings-of-the-graph-curve-1.png     PNG File strange-endings-of-the-graph-curve-2.png     PNG File strange-endings-of-the-graph-curve.png     PNG File suffixed-agent-ping.png     PNG File time-override-icon.png     PNG File time-period-tab.png     GIF File tooltip_scroll.gif     PNG File transparency_loss.png     GIF File trapp_last_6_hours.gif     PNG File trapper_values.png     PNG File treat_as_0_y_axis.png     PNG File treataszerostaircase.png     PNG File trends.png     PNG File two_points.png     PNG File value_null.png     PNG File widget-header-icons.png     PNG File with_crispEdges.png     PNG File without_crispEdges.png     PNG File y-axis-missung-values.png     PNG File y-axis_and_line.png     PNG File y-axis_right.png     PNG File y-labels-111.png     PNG File y_axis.png     PNG File zero_on_y.png     GIF File zoom.gif    
Issue Links:
Causes
causes ZBXNEXT-4772 New graph widget zoom requires full p... Open
causes ZBXNEXT-4769 New Graph Widget usability improvements Open
causes ZBXNEXT-4770 New graph widget is not resized with ... Open
causes ZBXNEXT-4872 Rework SVG graph widget timeline Open
causes ZBXNEXT-4775 No permissions to data on graph widge... Open
causes ZBXNEXT-4874 Long unit names must be shortened on ... Reopened
causes ZBXNEXT-4873 Graph data set must be changed to 'po... Closed
causes ZBX-15202 SVG graph widget refresh must be paus... Closed
Duplicate
is duplicated by ZBX-14844 Misleading message while creating the... Closed
Sub-task
depends on ZBXNEXT-1151 Show values on mouse-over in graphs Open
depends on ZBXNEXT-4626 Layout for widget configuration Closed
depends on ZBXNEXT-245 Provide Left and Right Axis Fixed Val... Open
part of ZBXNEXT-271 In graphs, make 'stacked' type for in... Open
part of ZBXNEXT-562 Get PNG graph image via API Open
part of ZBXNEXT-117 Add comments to graphs Open
part of ZBXNEXT-599 Logarithmic scale for Y-axis in graphs Open
part of ZBXNEXT-943 Positive and negative y-axis graphing... Open
Sub-Tasks:
Key
Summary
Type
Status
Assignee
ZBXNEXT-4591 Drop support of macros $1-$9 in item ... Change Request (Sub-task) Closed Zabbix Development Team  
ZBXNEXT-4653 New Graph Widget Configuration Change Request (Sub-task) Closed Miks Kronkalns  
ZBXNEXT-4739 Standard template and host items shou... Specification change (Sub-task) Closed Vladislavs Sokurenko  
ZBXNEXT-4740 Documentation for New Graph Widget Specification change (Sub-task) Closed Martins Valkovskis  
Team: Team B
Sprint: Sprint 35, Sprint 36, Sprint 37, Sprint 38, Sprint 39, Sprint 40, Sprint 41, Sprint 42, Sprint 43, Sprint 44, Sprint 45, Sprint 46, Nov 2018, Sprint 47, Dec 2018, Sprint 48, Jan 2019
Story Points: 14.5

 Description   

The core functionality is to create a new type of widget that will be flexible enough for the most use cases required for ad-hoc graphing.

The new widget must support:

  1. Server-side SVG based graph generation
  2. Ability to select set of items for graphing using one or more conditions:
    1. Host and item name
    2. Both host and item name will support character '*' for pattern matching
  3. Ability to overwrite graphing options for a set of items selected using one or more conditions:
    1. Host and item name
    2. Both host and item name will support character '*' for pattern matching
  4. Each data set will support the following options
    1. Draw type: Lines, Points, Staircase
      1. Additional optional attributes for different draw types:
        1. Filled (0-10, 5 (30%) is default): fill it, available for Lines
        2. Radius (3 is default): available for Points.
    2. Color: selection of color
    3. Width (0-10, 1 is default): line width
    4. Transparency (0-10, 5 (50%) is default): transparency level.
    5. Y axis: Left (default), Right
    6. Time shift: none (default) or using format like -1h, 1h, -1d, -1m, etc.
    7. Time period: none (default) or override using Time from and Time to.
    8. Options to support missing data. Gaps will be calculated as lack of data exceeding three times average distance between time stamps (the algorithm may be adjusted later on).
      1. None: leave gap empty
      2. Connected: connect two border values
      3. Treat as 0: display as 0 values
  5. The widget will support the following options:
    1. Legend can be displayed in two modes:
      1. None: no legend is displayed
      2. Short (default): short legend is displayed under graph
    2. Ability to select set of problems for displaying as highlighted area using one or more conditions:
      1. None: no problems displayed
      2. Selected metrics (default), by host, by severity, by trigger tags (including choice of AND/OR), by problem name.
    3. Optional attributes for left and right Y axis, per axis:
      1. Min and max values: calculated (default), fixed value
      2. Display axis: show (default), hide
    4. Optional attributes for X axis:
      1. Display axis: show (default), hide
    5. A tooltip will be display additional information on mouse over:
      1. Displayed data point: all values for current X coordinate
      2. Problem area: details of all for the point on area
    6. Selection of history data:
      1. Auto (default): automatically as implemented currently
      2. History: all data is taken from history
      3. Trends: all data is taken from trends
    7. Options to display left and right Y axis units, per axis
      1. Auto: values will be displayed using units of the first item
      2. Static: overwrite units with given string

Support of macros $1-$9 in item names must be removed in order to make pattern matching work.

The widget configuration form must be optimized for making one-click modifications without forcing users to use hierarchical controls, if possible. That is why, for example, Lines and Staircase made as separate drawing types.



 Comments   
Comment by Marc Schoechlin [ 2018 Jun 19 ]

My input:

  • Y axis: if display graph data scale is selected left and right, it would be a good thing to add a visual identifier which points to the related scale (to prevent that the user has to guess by analyzing the min/max/avg values in the legend)
  • Y axis: it should be possible to use different graph types if left and right is selected
  • Y axis min/max value: also should be possible to use a base value (often 0, if you use negative/positive values)
  • it should be possible to add a description to a graph which explain details (alternatively show item description with hover effect)
  • add a possibility to show the legend on demand
Comment by Dimitri Bellini [ 2018 Aug 29 ]

Dear Team,

I have now tested the new Beta1 of Zabbix 4.0, very good work for the "New Graph Widget" and "Maintenance Tag based" features.

On the new Graphs i have appreciated the versatility of the configuration parameters, very good work but why not extend that "graphs" to "latest data Graphs" and "Screens"?

Also if is possible, i think is a very good idea to provide a Zabbix API to get the rendered graphs and use on custom reporting tools.

What do you think about?

Thanks very much

 

PS: If is possible, please add a Gauge Graph option

Comment by Tatapoum [ 2018 Aug 29 ]

Yes, why limit these powerful graphs capabilities to a dashboard widget ? I would be really nice to have this everywhere where defining a graph is possible.

Comment by Ingus Vilnis [ 2018 Aug 29 ]

Extreme performance hit observed on MySQL DB side with widget having "Show problems" selected. 

# Time: 2018-08-29T14:26:35.319915+02:00
# User@Host: zbx_web[zbx_web] @ localhost [] Id: 13250
# Schema: zabbix Last_errno: 0 Killed: 0
# Query_time: 18.498415 Lock_time: 0.000138 Rows_sent: 1112946 Rows_examined: 10119294 Rows_affected: 0
# Bytes_sent: 14468420
SET timestamp=1535541995;
SELECT DISTINCT e.eventid,er1.r_eventid FROM events e LEFT JOIN event_recovery er1 ON er1.eventid = e.eventid WHERE e.value = 1 AND e.source = 0 AND e.object = 0 AND NOT e.eventid BETWEEN 2783580 AND 2783605 AND e.eventid NOT IN (2783578,2783607) GROUP BY e.eventid,er1.r_eventid HAVING EXISTS (SELECT NULL FROM events WHERE eventid = er1.r_eventid AND clock >= '1535538376') OR er1.r_eventid IS NULL;

6 items in graph having NO triggers. Percona MySQL 5.7.22.

And PHP Memory limit 512M obviously exhausted too. 

Debug stats from a graph which ironically does not show any items at all.

******************** Script profiler ********************
Total time: 24.857787
Total SQL time: 19.038748
SQL count: 27 (selects: 16 | executes: 11)
Peak memory usage: 276.007813M
Memory limit: 512M
Comment by peter erbst [ 2018 Aug 30 ]

hello, just some remarks i noticed immediately after installing 4.0.0beta1. as we are desperately looking for improved graphs, so i was just looking into them. attached screenshot shows 2 bugs - legend has 2 lines configured, but both graph legends are displayed in the same line. and on mouse over part of the tooltip text is "outside" browser.

Comment by Alexander Vladishev [ 2018 Aug 30 ]

dimitri.bellini, tatapoum, of course, we will add this functionality in other places, but it will be in future versions of the product. In 4.0, we will limit ourselves to developing only this widget.

Comment by Alexander Vladishev [ 2018 Sep 19 ]

Implemented in:

  • pre-4.0.0beta1 r84174, r84188
  • pre-4.0.0beta2 r84694, r84676
  • pre-4.0.0rc1 r85025
Comment by Dimitri Bellini [ 2018 Sep 25 ]

Hi DevTeam,
could you better details the documentation related to the field called "Item Pattern" on Data Set configuration? We could use regular expression to select the Items?
Thanks very much

Comment by Alexander Vladishev [ 2018 Sep 25 ]

dimitri.bellini, I moved your request to ZBXNEXT-4740. This information will be added necessarily. Thank you!

Comment by Miks Kronkalns [ 2018 Sep 25 ]

Fixed in:

  • 4.0.0rc2 r85150
Comment by Dimitri Bellini [ 2018 Sep 25 ]

@Alexander: Thanks!

Comment by Miks Kronkalns [ 2018 Oct 08 ]

(148) [D] properties problem_time_from and problem_time_till for API method event.get should be described in public documentation.

Miks.Kronkalns
4.0:

4.2:

RESOLVED

iivs API changes 3.4 to 4.0 are not described.

REOPENED

Miks.Kronkalns Thank you! Here is the link.

RESOLVED

iivs CLOSED

Comment by Giedrius Stasiulionis [ 2018 Nov 08 ]

Hi!

in "classic" graphs you have a little headroom for the lines. Same is applicable for Grafana. However in new graphs, if upper limit is left to be "calculated", there is no such headroom - top part just bumps into the maximum value you have collected (see screenshot attached). Would it not be nice to introduce such headroom also for new graphs?

 

Comment by Dmitrijs Lamberts [ 2018 Dec 05 ]

When hovering the graph actual data at that moment is visible on the screen.
How about adding also a timestamp there?
When a large period is observed and just checking actual values it is very hard to understand at what time it was collected.

Comment by Giedrius Stasiulionis [ 2018 Dec 05 ]

@Dmitrijs, I also asked for this in https://support.zabbix.com/browse/ZBXNEXT-4819

Comment by Dmitrijs Lamberts [ 2018 Dec 05 ]

Cool, didn't notice. +1 vote from me

Comment by Miks Kronkalns [ 2018 Dec 21 ]

Multiple issues fixed in:

  • 4.0.4rc1 r88075, r88079
  • 4.2.0alpha2 (trunk) r88072, r88080.
Comment by akihiro ito [ 2019 Apr 27 ]

The new graph widget does not appear to draw "workingTime".
I need a new graph widget to show "working time" like the previous graph.

Comment by Miks Kronkalns [ 2019 Apr 29 ]

Hello qryuu, thank you for your comment.

That behaviour is expected in current implementation of graph widget. Please use classic graph if showing working days is critical for your data visualisation.

Comment by dimir [ 2020 Feb 19 ]

Looks like new graph widget does not support float precision when specifying minimum Y axis values: ZBX-17329

Comment by Multazim Deshmukh [ 2020 May 08 ]

It would be good if trigger lines could be displayed in new svg graph widget.  looks like its already requested here: ZBXNEXT-4964

Generated at Fri Apr 26 11:19:33 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.