[ZBXNEXT-4792] Make {ITEM.LASTVALUE1} useful again in Monitoring–>Problems as a live view (fix for LTS Zabbix 4.0) Created: 2018 Oct 05  Updated: 2024 Apr 10  Resolved: 2019 Jan 11

Status: Closed
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 4.0.0
Fix Version/s: 4.0.3rc3, 4.2.0alpha2, 4.2 (plan)

Type: New Feature Request Priority: Major
Reporter: Marco Hofmann Assignee: Vasily Goncharenko (Inactive)
Resolution: Fixed Votes: 45
Labels: problems
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian 9 amd64
Zabbix 4.0


Attachments: JPEG File A5D6FF76-D02D-4637-ABD1-6E7C97CE99C2.jpeg     PDF File ACC - Alternative to ITEM.LASTVALUE in Problem names - ZBXNEXT-4792 - v1.0.pdf     PNG File Screenshot 2018-10-05 at 11.02.28.png     PNG File Selection_143.png     PNG File Selection_147.png     PNG File Selection_148.png     PNG File Selection_149.png     PNG File Selection_150.png     PNG File Selection_151.png     PNG File Selection_152.png     PDF File ZBXNEXT-4792 - UI changes - 23 Nov 2018.pdf     PNG File refresh.png     PNG File screenshot-1.png     PNG File user_macro.png     PNG File web_item.png    
Issue Links:
Causes
causes ZBXNEXT-4942 Final fix for {ITEM.LASTVALUE1} in Mo... Closed
causes ZBX-15412 Name column overlaps the Application ... Closed
causes ZBX-15532 Undefined offset: 488443 [jsrpc.php:2... Closed
causes ZBX-15351 PHP error in "Problems by severity" i... Closed
causes ZBX-15423 Workaround from ZBXNEXT-4792 isn't do... Closed
caused by ZBXNEXT-4446 Change the severity of a problem (Z4) Closed
caused by ZBXNEXT-4108 Ability to search problems by trigger... Closed
Duplicate
duplicates ZBX-15228 Dashboard widgets no longer show curr... Closed
is duplicated by ZBX-15043 {ITEM.LASTVALUE} since 4.0, it will n... Closed
Team: Team D
Team: Team D
Sprint: Sprint 46, Nov 2018, Sprint 47, Dec 2018
Story Points: 3

 Description   

On Zabbix Summit 18 it was explained that the view in Monitoring->Problems is no longer live generated, but at the first generation of an event, rendering ITEM.LASTVALUE1 useless as a live view. 

We used this in the past to have a live view of HDD values, memeory values, CPU load etc. 

Please bring this back it’s a crucial feature for us and especially usefull for Dasboad and Kiosk mode if you slide show your monitoring in the office on a TV. 



 Comments   
Comment by Johan Romijn [ 2018 Oct 05 ]

Yes, please bring back the {ITEM.LASTVALUE} for the dashboard and problem view!
The problem "Free disk space is 11.89 GB (less than 10% and 20GB) on volume C:" on my dashboard is pretty useless now if the {ITEM.LASTVALUE} no longer is the last value..

Comment by darkblaze69 [ 2018 Oct 05 ]

It's a blocker, please fix this. We cannot upgrade to 4 because heavily use this, and AFAIK there's no alternative in 4 to show at glance in the dashboard current values after a problem triggered.

Comment by Ingus Vilnis [ 2018 Oct 08 ]

FYI This is caused by ZBXNEXT-4108

And fully agreed that the current behavior breaks the logic of templates developed prior 4.0. 

Typically this was used on screens when evaluating how bad really the triggered problem was.

Comment by tony [ 2018 Nov 06 ]

I also agree to make [ITEM.LASTVALUE} functional again that the displayed value in trigger name getting refreshed on Problems view.

We are using this very often in Trigger names to get detailed informations on triggers and since Zabbix 4 we never see the latest information!

Comment by Jimi Koukou [ 2018 Nov 07 ]

I agree that it was a very helpful feature, as we also monitor our infrastructure on a screen through Zabbix Dashboard and want to see live values, and created many templates using it..

Comment by Jamie Scott [ 2018 Nov 07 ]

We've also got Zabbix servers stuck on 3.4. Holding off upgrading because of using this macro heavily.

Comment by Tamahome [ 2018 Nov 08 ]

What is the replacement "{ITEM.LASTVALUE} " ? How now to see the current state of the trigger?
In the current situation, we are already looking at changing the monitoring system ..

Comment by Vitaly Zhuravlev [ 2018 Nov 20 ]

There will be a solution for this issue available in one of the upcoming 4.0.x releases. Please stay tuned.

Comment by Vitaly Zhuravlev [ 2018 Nov 23 ]

This functionality will be implemented in the upcoming Zabbix 4.0.x release when ready. Please have a look at the attached acceptance criteria (AC) document to see how it is going to be implemented and give us your feedback.

Comment by tony [ 2018 Nov 23 ]

Imho it would be great if this functionality comes like described in the AC. I have nothing to add to the described behaviour in the AC.

 

edit

Shame on me, didn't read the PDF properly. After reading Marco's comment I noted that a new column with the latest values should be added beside to the Problem (trigger name).

Will work in most cases but not in all (see Petr's comment).

Ofc I would prefer the 3.4 solution that the {ITEM.LASTVALUE} macro gets resolved in trigger name.

Comment by Glebs Ivanovskis [ 2018 Nov 23 ]

ACC - Alternative to ITEM.LASTVALUE in Problem names - ZBXNEXT-4792 - v1.0.pdf is a way to another regression. Imagine someone has a trigger expression:

{host:vfs.file.contents[huge.txt].diff()}=1

Problem view will explode with a wall of text.

IMHO Zabbix can do a better job and instead of showing last values of all unique items in trigger expression it can have a look at trigger name and pick those {ITEM.LASTVALUE*} users actually want to see.

Comment by Vitaly Zhuravlev [ 2018 Nov 23 ]

It will not explode since value length will be limited

Comment by Glebs Ivanovskis [ 2018 Nov 23 ]

Still, users will see values they had no intention to see.

Comment by dimir [ 2018 Nov 23 ]

I agree with Gleb here. Shouldn't be a complex task to add a filter of ignored trigger functions and run through and in result the view will be nice and clean.

Comment by Tamahome [ 2018 Nov 23 ]

Your proposal is suitable for simple situations. But what if not everything is so simple?
Suppose this situation: "Problem {ITEM.LASTVALUE7} is {ITEM.LASTVALUE1} at {ITEM.LASTVALUE2} state {ITEM.LASTVALUE4}"
We are only interested 7,1,3 and 4... other values doesn't interest us, they are needed only for the trigger.

Disclosing {ITEM.LASTVALUE1} only during the start of a problem is useful for: Problems->History,Recent problems.
Disclosing {ITEM.LASTVALUE1} in "real time" is needed for: Problems->Problems,and "Host issues".

 

Comment by Marco Hofmann [ 2018 Nov 23 ]

I read the PDF twice, in my understanding the new column "Last Value" will only contain values, if the MACRO {ITEM.LASTVALUEX} is used in Trigger Name.

So it's just like it was. In Trigger names, where you didn't have live information today, you won't have Live information tomorrow.

The Draft states, that there still hat to be {ITEM.LASTVALUEX} to trigger the column.

(Or it might just be my interpretation of the PDF)

If the PDF means what I just wrote, then I'm good with it.

EDIT: I second what Tamahome says!
The archived values are good in History and Recent. The Live view is only need for active Trigger Events.

EDIT2: I totally agree with gregy that the additional column will break the context of the Trigger Name. Thats clearly a good point that should be considered in the proposal.

Comment by Glebs Ivanovskis [ 2018 Nov 23 ]

Dear starko, pay attention to part 2.1. It isn't very specific, but judging by 2.1.2:

If there is more then one item in trigger expression

suggestion is to show all items from trigger expression, regardless of which {ITEM.LASTVALUE*} macros are used in trigger name (if at all).

Comment by Petr Gregor [ 2018 Nov 23 ]

Here is an example of a trigger name we use:

{ITEM.LASTVALUE1} instances with job delays, up to {ITEM.LASTVALUE2}

You cannot convert it just to

instances with jobdelays  45, 5h 31m

without loosing meaning. People that are not 100% familiar with how zabbix works wouldn't understand that.

 

We have upgraded to 4 and the only place where the new behaviour is is a problem is the dashboard live problem view. It still works as before for actions (notifications). Could we have a switch in the widget that would just revert it (only the widget) to the previous behaviour (ignore the new stored event name and go to the original trigger and resolve the macros again instead).

Comment by Rostislav Palivoda [ 2018 Nov 23 ]

Proposal on UI changes - ZBXNEXT-4792 - UI changes - 23 Nov 2018.pdf

Comment by Vitaly Zhuravlev [ 2018 Nov 23 ]

Thank you all for feedback,

It may be a good idea to pick values for Last value column using ITEM.LASTVALUE* found in trigger name instead of trigger expression even though it means zabbix user still would need to keep ITEM.LASTVALUE* in trigger name if wants to see live data.

But I think to stay with trigger expression as source for Last value column at the moment in current circumstances. Yes, It might sometimes show you values that you don't really need as a side effect (more not less), but it is simpler to understand how it works and no need to keep ITEM.LASTVALUE in the trigger name. There was an intention to give options to overwrite the way last values are shown for specific triggers (so you can do things like "instances with job delays , up to Y" as told by gregy.) but it is dropped due we can't change DB schema in the minor release. This feature possibly might come later to cover complex cases you described in next major release but not in 4.0.x I'm afraid.

Comment by Christian Anton [ 2018 Nov 26 ]

I like the idea of an additional column for live values being shown beside the trigger names. To make sure this column shows "the right thing" and maintain some flexibility there, I would suggest making this new field configurable:

Provide a form field in the trigger configuration: "trigger related values view" which is a text field where you can use free text plus Macro names, such as "{ITEM.LASTVALUE1} of {ITEM.LASTVALUE2} is used". This way, you solve several problems at the same time:

  • trigger names stay static as they are right now, easier to address, less processing needed, etc.
  • showing live values can be "switched on and off as you want" - default is not showing anything when the config field is left blank -> not displaying live data where you don't want them to be shown, not confusing people
  • display of live values can be formatted and customized to make their context more clear

Actually, there is only one downside that I see: it would be hard to realize without a DB schema change. Maybe it may be possible to define, i.e. that everything inside parenthesis inside the trigger name that is attached to the end of the trigger name will be handled as formatting for the "Live values" column?

A trigger name could then look as follows: "Something horrible has happened, bank account is empty ({ITEM.LASTVALUE1} of {ITEM.LASTVALUE2} spent)".

Result would be a "Problem" with the Problem name "Something horrible has happened, bank account is empty" and the following text in the new values field: "1280€ of 1000€ spent".

This way no changes in the DB would be necessary, and adopting this with existing templates would be rather simple, just changing the trigger names to fit the new convention.

Comment by tony [ 2018 Nov 26 ]

I fully agree with Christian’s recommendation. Sounds like an excellent idea.

Comment by Brett Anspach [ 2018 Nov 28 ]

Why can we not just have an option like "show current values" in the dashboard widget configuration window?  Extra columns with concatenated values are going to be a nightmare to explain to my SOC (non-technical) guys.  

Comment by darkblaze69 [ 2018 Nov 29 ]

yeah, it's just a matter of temporary (current) view, e.g. temporary table versus historic data. Just make the temporary table with refreshing current values. Extra columns would be cumbersome.

Comment by Vasily Goncharenko (Inactive) [ 2018 Dec 03 ]

Implemented in development branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-4792

Comment by tony [ 2018 Dec 11 ]

Yesterday we have checked the changes in svn.

This feature is implemented as suggested in attached PDF.

You can enable an additional column named "Latest values" (or last values) which displays all last values used in trigger expression.

So if your trigger expression looks like: a>1 and b<100 and c=50

...you will see 3 values in "Latest values".

 

Imho this implementation is only a temporary workaround.

Zabbix should consider to think about Christian's suggestion which sounds like a much better solution. Maybe due to DB changes this can be implemented in another major release.

Comment by Brett Anspach [ 2018 Dec 17 ]

I have been using Zabbix since v1.0 and literally never, not once, have I had a complaint about new features or upgrades.  The dashboard was literally the ONLY place in this software you could view live data without having to refresh the page... AND YOU TOOK IT AWAY!  Very disappointed at the feature change; even more disappointed in the "fix"... very sloppy work here.

The correct way to fix this blunder would have been to add a new option in the widget configuration to enable/disable live updates.  Give the customer the option of whether they want to view the live/current value, or the value that generated the alert.

Comment by Petr [ 2018 Dec 17 ]

I totaly agree with Brett, this workaround is unusefull. In text of alerts I use host macro. This macro I update every hour. 

Comment by Alexei Vladishev [ 2018 Dec 17 ]

Brett, it is a pleasure to have you here, thanks for your comment! We are doing all our best to come up with the best solution suitable for the most of users. I am afraid it is going to be a compromise since we want to have it in 4.0.x (LTS), therefore no database changes allowed.

Anyway let's see if we can do a better job. Most likely we will discuss this topic tomorrow morning.

Comment by Petr [ 2018 Dec 17 ]

If live value is show in trigger details, then can be show in list of problems?

Comment by Rostislav Palivoda [ 2018 Dec 18 ]

In the ZBXNEXT we plan to add column Last Values. Please take a look at preview of current development:

 

Trigger current values will be available in separate column in Problems widget and Problems list view. Refresh will be possible in both situations. bspach, does it help?

Comment by Andrey Shibanov [ 2018 Dec 18 ]

No. It is not what we need.

Even in your screenshot it looks like a mixture of numbers and letters.
Can you understand the information from dash the first sight?

Comment by darkblaze69 [ 2018 Dec 18 ]

What we see on screenshot is unusable. Our operators minds cannot merge these 2 tables into a message to take an action. How to read this information to take problems and their values curves into account ? What we need is just a temporary table with (current) resolvable values (ITEM.LASTVALUEXX) like it was pre-4. We even not needing to store it in history. Just (now) and forget it.

Comment by Vasily Goncharenko (Inactive) [ 2018 Dec 19 ]

Implemented in:

  • 4.0.3rc3 r87959
  • 4.2.0alpha2 (trunk) r87962
Comment by richlv [ 2018 Dec 19 ]

Is anybody aware of a ZBXNEXT that tracks "making ITEM.LASTVALUE useful again"?
This issue was about that, but the workaround, while being a nice feature on its own, does not resolve the initial regression.

Comment by Marco Hofmann [ 2018 Dec 19 ]

Hi Alexei, I am the creator of this Zabbix NEXT issue. I created it during your speech at Zabbix Summit, as I was the one that asked the question in the audience, what happend to {ITEM.LASTVALUE1}. After the Summit, I talked to you about this change, I had the impression, that that it was a human error, that this feature was dropped. I think Zabbix didn't change it just for fun, but to improve performance of the Problems view. Sadly nobody thought about {ITEM.LASTVALUE1}. And on top of it, it's really sad, that you can't provide a comprehensive solution in 4.0.x due to the development philosophy. But you have your reasons.

But on to your question, which I don't understand.
> Is anybody aware of a ZBXNEXT that tracks "making ITEM.LASTVALUE useful again"?
Yes of course, this very ZBXNEXT we are talking about: 4792 is about that topic.
But as you say, this issue is now closed, but it does not solve the problem and instead offers a sad workaround.

Do you ask us to create a new ZBXNEXT that asks for a comprehensive fix in 4.2.x ?

Comment by richlv [ 2018 Dec 19 ]

Hi Marco, the question you quote is mine, not Alexei's - but yes, it would make sense to create a new issue, unless somebody is aware of an existing one.

Comment by Alexander Vladishev [ 2018 Dec 20 ]

Yes, this does not completely solve the initial regression, but we continue to think how to solve this problem. We hope that the proposed functionality will solve most of the use cases. We will be glad to hear your feedback after the release of 4.0.3.

Comment by Robert Gewissler [ 2018 Dec 20 ]

Hi, we are using for example CPU load {ITEM.LASTVALUE}: {HOSTNAME}

Is it necessary in 4.0.3 to rename ITEM.LASTVALUE to something else, because it looks that the printed value is still the same:

PROBLEM: CPU load 5.98: hostname.domain.com

SOLVED OK: CPU load 5.98: hostname.domain.com

Comment by Robert Gewissler [ 2018 Dec 20 ]

tried also CPU load {ITEM.LASTVALUE1}: {HOSTNAME}

..but the same bad result

ITEM.LASTVALUE and ITEM.LASTVALUE1 is still the same number when the problem begin.. like the number when the problem is solved.

palivoda response: please read attached PDF files ACC - Alternative to ITEM.LASTVALUE in Problem names - ZBXNEXT-4792 - v1.0.pdf and ZBXNEXT-4792 - UI changes - 23 Nov 2018.pdf

Comment by Marco Hofmann [ 2019 Jan 07 ]

A new feature request for a final resolution in Zabbix 4.2 was created: https://support.zabbix.com/browse/ZBXNEXT-4942

Comment by Tamahome [ 2019 Jan 11 ]

How to set "Show latest values" always on for all users?

Comment by Alexander Vladishev [ 2019 Jan 11 ]

Please leave comments in the ZBXNEXT-4942. This issue will be closed.

Comment by Alexander Vladishev [ 2019 Jan 11 ]

Tamahome, now it is impossible to do.

Generated at Sat Apr 20 16:14:06 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.