[ZBXNEXT-5189] Better logging capabilities for loadable modules Created: 2019 Apr 23  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 4.4.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Glebs Ivanovskis Assignee: Michael Veksler
Resolution: Unresolved Votes: 6
Labels: loadablemodule, troubleshooting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

  1. Imagine you are a loadable module developer.
  2. Imagine your module does some complex logic. You want to log a few messages to make decisions made by your module visible and help your users to troubleshoot problems. Obviously, you don't want to log these messages every time code of your module is executed.

Available solutions:

  1. (Ab)use zabbix_log().
    Pros Cons
    No need to implement module-specific logging mechanism. Zabbix does not encourage use of internal Zabbix functions in modules.
    Zabbix synchronizes writes from different processes. Potential API and ABI compatibility issues.
    Log messages have the same format as Zabbix messages (e.g. time stamp, etc.).
    Module is aware of logging level configured for Zabbix including runtime control.
  2. Write to stdout and stderr (Zabbix redirects them to the log file).
    Pros Cons
    Simple as printf(). Need to synchronize writing from different processes.
    Legal. No API or ABI concerns. Need to implement module's own logging level configuration.
      No way to control logging level in runtime (or too difficult to implement it).
      No time stamps (or need to implement them).
  3. Module's own log file.
    Pros&Cons are similar to previous option with even more burden for module developer. Life is simply too short to go this way. And the end user will have two log files to look at and correlate, which isn't good.

Proposed solution:
When module provides optional zbx_module_set_log_level() function, Zabbix should tell the module on startup which DebugLevel was set in the configuration file. Whenever user changes logging level using runtime control options, Zabbix will notify module about that. This will allow modules to implement runtime control of logging level even if module uses simplistic printf()-like logging.

In addition to that Zabbix should set a callback which will be used by the module to put messages into Zabbix log file. This callback should take care of time stamps and log file mutex. Callback should be provided to the module if the latter provides optional zbx_module_set_log_callback() function.






[ZBXNEXT-5085] Report an error if regexp output template references non-existing or unmatched groups Created: 2019 Mar 02  Updated: 2023 Sep 11

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: 4.2.0beta2
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Glebs Ivanovskis Assignee: Konstantins Prutkovs
Resolution: Unresolved Votes: 0
Labels: logmonitoring, macrofunction, preprocessing, regex, troubleshooting, usability, validation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Documentation (e.g. here) says:

\N (where N=1…9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).

I would like to urge Zabbix to change this behaviour and raise errors instead of silently replacing escape sequences with emptiness. This will help prevent user errors like ZBX-15743. See this comment to get the idea of how small was the mistake... Then scroll the whole issue to get the idea of how much time and how many people it took to troubleshoot.

P.S. This change can theoretically break a lot of existing items, macro functions, preprocessing rules, etc. But in practice, I think, it won't. On August 10, 2018 ZBX-13730 introduced a bug in 3.4.13rc1 and 4.0.0alpha10 which caused escape sequence for non-existing or not captured groups to be unpredictable. It was discovered on November 16, 2018 (i.e. three months later) by Zabbix developer (not by users) and respective ZBX-15178 has 0 (zero!) votes. If garbage results caused no trouble, then suggested change in the logic won't cause any troubles as well.






[ZBXNEXT-2008] Triggers with user macro not correctly transmitted to script Created: 2013 Apr 24  Updated: 2016 Mar 22

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Andrei Gushchin (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: actions, trigger, usermacros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 2.0.6, Mysql server


Issue Links:
Duplicate

 Description   

I have follow trigger with User Macro in name:

  • name {$TEST1}
  • User Macro equal {$TEST1} -> gantest
    It is action for this trigger in default message it has - Trigger name: {TRIGGER.NAME.ORIG}
    Action run custom script and as parameter send also macros - {TRIGGER.NAME.ORIG}

    Actually:
    UserParmeter should be transmitted how it is to the script, but it isn't.

All logs see in comments.



 Comments   
Comment by Andrei Gushchin (Inactive) [ 2013 Apr 24 ]

On Server log:

31628:20130424:181051.289 In substitute_simple_macros() data:'/usr/local/share/zabbix/externalscripts/test1.py "Trigger name: {TRIGGER.NAME.ORIG}"'
 31628:20130424:181051.289 End substitute_simple_macros() data:'/usr/local/share/zabbix/externalscripts/test1.py "Trigger name: name {$TEST1}"'
 31628:20130424:181051.289 In zbx_execute_script()
 31628:20130424:181051.289 In zbx_execute_script_on_agent()
 31628:20130424:181051.289 In substitute_simple_macros() data:'10050'
 31628:20130424:181051.289 In get_value_agent() host:'Zabbix server' addr:'127.0.0.1' key:'system.run["/usr/local/share/zabbix/externalscripts/test1.py \"Trigger name: name {$TEST1}\"","nowait"]'
 31628:20130424:181051.289 Sending [system.run["/usr/local/share/zabbix/externalscripts/test1.py \"Trigger name: name {$TEST1}\"","nowait"]
]
 31628:20130424:181051.291 get value from agent result: '1'
 31628:20130424:181051.291 End of zbx_execute_script_on_agent():SUCCEED
 31628:20130424:181051.291 End of zbx_execute_script():SUCCEED
 31628:20130424:181051.291 In add_command_alert()
 31628:20130424:181051.291 In DCget_nextid() table:'alerts' num:1
 31628:20130424:181051.291 End of DCget_nextid() table:'alerts' [29:29]
 31628:20130424:181051.291 query [txnlev:1] [insert into alerts (alertid,actionid,eventid,clock,message,status,error,alerttype,esc_step) values (29,5,14462,1366805451,'Zabbix server:/usr/local/share/zabbix/externalscripts/test1.py "Trigger name: name {$TEST1}"',1,'',1,1)]

If i run script throw zabbix server

12631:20130424:221255.657 In substitute_simple_macros() data:'/usr/local/share/zabbix/externalscripts/test1.py "Trigger name: {TRIGGER.NAME.ORIG}"'
 12631:20130424:221255.657 End substitute_simple_macros() data:'/usr/local/share/zabbix/externalscripts/test1.py "Trigger name: name {$TEST1}"'
 12631:20130424:221255.657 In zbx_execute_script()
 12631:20130424:221255.657 In zbx_popen() command:'/usr/local/share/zabbix/externalscripts/test1.py "Trigger name: name {$TEST1}"'
 12631:20130424:221255.658 End of zbx_popen():6
 12631:20130424:221255.658 In zbx_waitpid()
 13741:20130424:221255.658 zbx_popen(): executing script
 12631:20130424:221255.668 zbx_waitpid() exited, status:0

If I run script throw zabbix agent
Agent log:

 10379:20130424:181051.289 Processing request.
 10379:20130424:181051.289 Requested [system.run["/usr/local/share/zabbix/externalscripts/test1.py \"Trigger name: name {$TEST1}\"","nowait"]]
 10379:20130424:181051.289 Executing command '/usr/local/share/zabbix/externalscripts/test1.py "Trigger name: name {$TEST1}"'
 10379:20130424:181051.290 Sending back [1]

Actually args in script output(simple script write itself args to file):

['/usr/local/share/zabbix/externalscripts/test1.py', 'Trigger name: name {}'

As you can see macros was lost when zabbix server(agent) execute script.

Comment by Andrei Gushchin (Inactive) [ 2013 Apr 24 ]

This problem is related from ZBXNEXT-1643

Comment by richlv [ 2013 Apr 24 ]

what's the deal with usermacros {$TEST1} vs {$TEST} ?

Comment by Andrei Gushchin (Inactive) [ 2013 Apr 24 ]

Sorry it was typo. Actually {$TEST1}

Comment by Alexander Vladishev [ 2013 Apr 25 ]

Andrei,

User Macro equal {$TEST1} -> gantest

This information is related to this problem? I didn't understand it.

Comment by Andrei Gushchin (Inactive) [ 2013 Apr 25 ]

Alexander,

Yes it is value of Macros $TEST1.

Additional information

I change name in trigger to {$$TEST1}
and in script output show this

['/usr/local/share/zabbix/externalscripts/test1.py', 'Trigger name: name {26139TEST1}']
As I inderstand it is number of pid.
Comment by Alexander Vladishev [ 2013 Apr 25 ]

But, the user macro should remain as is here. I.e. all macros from trigger name should be sent to script without any changes.

Comment by Andrei Gushchin (Inactive) [ 2013 Apr 25 ]

I found where was problem.
It need escaping variables with single quote ('), it is not connecting to zabbix.
Finally I use for run script:

/usr/bin/python /usr/local/share/zabbix/externalscripts/test1.py 'Trigger name: {TRIGGER.NAME.ORIG}'

And it is work good

['/usr/local/share/zabbix/externalscripts/test1.py', 'Trigger name: name {$TEST1}']

I'll closing this issue, It isn't bug.

Thanks.

Comment by Andrei Gushchin (Inactive) [ 2013 Apr 25 ]

If expression uses in action throw the script, there is a some problem.

action message:
Trigger name: ''{TRIGGER.NAME.ORIG}''

in server log when send message:
9664:20130425:172034.832 In zbx_popen() command:'/usr/local/share/zabbix/alertscripts/test.sh "123" "PROBLEM: name gantest" "Trigger name: name {$TEST1}"'
shell get it how string with variables, {$TEST1} disappeared 

in output 
Trigger name: ''name {}''

I found it in code and do some changes, and It will work:

alerter.c: 103:
-- zbx_snprintf_alloc(&cmd, &cmd_alloc, &cmd_offset, " \"%s\" \"%s\" \"%s\"",
					send_to, subject, message);
++ zbx_snprintf_alloc(&cmd, &cmd_alloc, &cmd_offset, " \'%s\' \'%s\' \'%s\'",
					send_to, subject, message);

after in server log:
27816:20130425:183849.634 In zbx_popen() command:'/usr/local/share/zabbix/alertscripts/test.sh '123' 'PROBLEM: name gantest' 'Trigger name: ''name {$TEST1}''''

and output
Trigger name: name {$TEST1}

I think need more deep testing about this patch.

Comment by Andrei Gushchin (Inactive) [ 2013 Apr 26 ]

I have tested shells but it was without result. (zsh,tcsh,ksh)
All cases shell think it string with variables.

Comment by richlv [ 2016 Mar 22 ]

what's the current state, is there anything to fix or improve in zabbix ?





[ZBXNEXT-3825] Zabbix 3.2.4 Graph getting Droped Created: 2017 Apr 26  Updated: 2023 Sep 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.4
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: M.ELUMALAI Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: graphs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File Zabbix G.JPG    
Team: Team A

 Comments   
Comment by richlv [ 2017 Apr 26 ]

this issue tracker is for bugreports. please see http://zabbix.org/wiki/Getting_help for support options





[ZBXNEXT-3326] PSK/CERTIFICATE in zabbix_sender input-file Created: 2016 Jun 27  Updated: 2016 Jun 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.3
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Lucian Atody Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

zabbix_sender supports adding multiple hostnames in the file which you can pass as argument to "--input-file". It should also support adding the PSK-identity and PSK on each line for each host.






[ZBXNEXT-2638] Separate zabbix_agent remote execution into a separate poller Created: 2014 Dec 12  Updated: 2015 Jun 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: tagwolf Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: privilege
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I would like if you separated out the portions of the agent into a new process. (E.g. zabbix_exec, zabbix_agent_execd, or something..) This process would perform the following actions:

  • Run scripts requested from server
  • Process userparameters
  • Remote execution
  • SSH agent commands
  • Basically anything else where the agent executes something provided by a custom command

This would gain large configuration flexibility and security benefits such as "Now being able to...":

  • Filter access by host for this process (Firewall) <--- Critical!
  • Change the listen port for these more dangerous types of agent commands
  • Configure a different set of trusted IP's listed in the config to be allowed to run these more dangerous commands.
  • Configure the daemon user separately for zabbix_agent and zabbix_exec
  • Code greatly simplified in both the zabbix_agent and zabbix_sshd
  • Configure separate sudo, apparmor, SElinux, etc for this process.
  • Separate logging
  • Tunnel this functionality over SSH/SSL very easily
  • Etc..

As we don't have agent ssl or auth, this is IMO a critical security issue as well.

Splitting this code out to it's own daemon might even make it easier for you or someone else to implement server<->agent authentication and encryption.

Thanks for your time guys!



 Comments   
Comment by richlv [ 2014 Dec 12 ]

similar to ZBXNEXT-195





[ZBXNEXT-152] UserParameter to support a return value which indicates temporary error Created: 2009 Dec 01  Updated: 2018 Oct 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Juho Mäkinen Assignee: Unassigned
Resolution: Unresolved Votes: 20
Labels: items, notsupported, userparameters
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

all


Issue Links:
Duplicate
is duplicated by ZBXNEXT-1231 Delta value storage to better handle ... Closed
is duplicated by ZBXNEXT-186 add new return value from agent: ZBX_... Closed

 Description   

Scripts which are executed as zabbix UserParameter needs a way to return a temporary error gracefully. Currently if a script returns an empty response or other error message it's turned as "Not supported" in zabbix and thus the item is no longer updated. Currently Zabbix defines this as a feature as UserParameter scripts should always return some value and empty value indicates that the item is not supported. I think that current behavior is faulted and it needs to be changed some how to allow script to return a temporary error.

Few ideas how to fix this:

  • Add a way how a script can gracefully return a value indicating a temporary error. This new type of error would not turn the item as "Not supported" in Zabbix. The error could be carried from script to zabbix_agent as a magic string or shell return code.
  • Change Zabbix so that once an item has been marked as Active and working, any error returned by zabbix agent will not turn the item as "Not supported". If a item isn't no longer supported then a human operator needs to change the item status to "Not supported"

Current workarounds which have been suggested but aren't a good way to solve the problem:

  • Add "| sed 's/^$/ERROR/'" to the end of the UserParameter which would change an empty response into a response indicating an error. This doesn't work in items which return value is a number. Also using some magic number to indicate error isn't a good solution because even if the error number wouldn't be in the range of accepted values it would pollute the graph visualization.
  • Use .nodata() to detect errors states. If an item has been automaticly turned to "Not supported" by Zabbix then it's triggers are not longer executed and an alarm will not be raised.


 Comments   
Comment by Juho Mäkinen [ 2009 Dec 01 ]

Here's an example of a situation where this problem might occur:

Think for an item which returns a temperature in Celsius and that all possible temperature numbers are valid. The temperature is fetch with an UserParameter script which prints the temperature value to stdout. For +10'C it prints "10", for -12'C it prints "-12" and so on.

Then the script notices that it cannot get the temperature data for some reason, like that the meter is broken, the connection is lost or it has lost its power. The script doesn't know the temperature but it must print something, because an empty response is considered as ZBX_NOTSUPPORTED which will result zabbix to change the item status to "Not supported". Currently there isn't any way to return a temporary error from the script. After all we want to assume that the problem will be corrected and after that new temperature values must be collected with the item.

We could do a workaround by using the fact that temperatures can't be below -273.15 'C and define an arbitrary value like -1000 to indicate a temporary error. But this will result that zabbix will add those -1000 error values as normal values and they will thus be presented in graphs.

Comment by richlv [ 2009 Dec 01 ]

i'd suggest modifying the way unsupported handling happens in the server instead.
maybe even a modifyable parameter in the config file - 'UnsupportedRetries' or so. for this configured amount server would retry as normal, after that item would fall in the unsupported state.
for example, setting this to 3 would make server query item twice more after the first unsupported reply before marking it as unsupported

Comment by Alexei Vladishev [ 2010 Oct 12 ]

Perhaps the new item status should depend on availability of historical data in the database. If the data is available, then change status to "temporarily unavailable", "not supported" otherwise.

What do you think?

Comment by richlv [ 2011 May 20 ]

text items for zabbix 2.0 now can get empty strings as per ZBXNEXT-780

solution for numeric items still desired

Comment by Orion Poplawski [ 2012 Feb 07 ]

I need this as well to handle flaky temperature probes.

Comment by Oleksii Zagorskyi [ 2012 Aug 28 ]

Note that starting from 2.0 non-numerical items allowed to receive empty values.

Comment by richlv [ 2013 Sep 10 ]

ZBXNEXT-1897 is similar

Comment by Marc [ 2014 Jan 03 ]

Why not just taking care to write proper messages to log in proper log level?

Comment by richlv [ 2014 Mar 13 ]

ZBXNEXT-186 has a patch

Comment by richlv [ 2014 Apr 12 ]

ZBXNEXT-2203 might allow to provide custom error message

Comment by richlv [ 2014 Sep 05 ]

when dealing with this, special care should be taken to test 'delta' items

Comment by Filipp Sudanov (Inactive) [ 2015 Mar 13 ]

Similar for external checks: ZBXNEXT-540

Comment by Glebs Ivanovskis (Inactive) [ 2017 Nov 09 ]

Description is a bit out of date, ZBXNEXT-1791 changed how nodata() works with notsupported items.

ZBXNEXT-3006 enables a workaround described here.





[ZBXNEXT-6390] Possibility to get regex patterns for filtering from file Created: 2020 Dec 09  Updated: 2020 Dec 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.0.27
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Igor Gorbach Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In case, when it is not possible to provide SuperAdmin access for users to modify Global regular expressions to have a possibility for to discard some regex patterns from searching into log string it would be useful to get some alternative way to get the same functilonality/

For example - get regex patterns, which should be missed from a file

Case 

1] We have some count of remote hosts, where we place a file with regex patterns
2] File format - PCRE regex patterns, one string - one pattern
3] Zabbix-agent reading the file, getting  exclude regex patterns 
4] Zabbix agent reading the log avoiding non-necessary regex pattenrs from file

 



 Comments   
Comment by Vladislavs Sokurenko [ 2020 Dec 17 ]

Could something like that do the trick ?

^(?!foo).*$

Or maybe:

^(?!(ORA-101|ORA-102)).*$




[ZBXNEXT-8021] CEPH S3 and RBD monitoring Created: 2022 Oct 09  Updated: 2022 Oct 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Karzhassov Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux, CEPH



 Description   

We all need detailed ceph monitoring

1) S3 user used space, S3 user quota

2) RBD disk used space, throughput, io

3) RGW answer latency






[ZBXNEXT-8077] Zabbix Sender failed:1 with PSK/CERT enabled Created: 2022 Oct 31  Updated: 2022 Nov 02

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian11.5/arm64
Zabbix > 4.0+


Issue Links:
Duplicate

 Description   

Steps to reproduce:

  1. enable PSK/CERT for host and create Zabbix Trapper item
  2. send data using zabbix_sender

Result:

zabbix_sender -z 127.0.0.1 -s "Encryption" -k "test" -o "test" --verbose
Response from "127.0.0.1:10051": "processed: 0; failed: 1; total: 1; seconds spent: 0.000372"
sent: 1; skipped: 0; total: 1

Expected:
"Encryption required" should be returned, not just "failed: 1".



 Comments   
Comment by dimir [ 2022 Nov 01 ]

That would mean changing the "protocol" or standard reply from a trapper. There is no description field unfortunately. Changing that would probably break a lot of parsers.

Besides, as sasha mentioned, sender can be used to send to multiple hosts where some might have encryption enabled and some - not.

Looks like a change request in any case.

Comment by Alexander Vladishev [ 2022 Nov 01 ]

Similar issue: ZBXNEXT-38. Probably this case can be closed as duplicate.

Comment by Alexander Vladishev [ 2022 Nov 01 ]

Related issue ZBXNEXT-506 - quiet mode for zabbix_sender.





[ZBXNEXT-8068] Amazon Linux 2 arm64 package Created: 2022 Oct 27  Updated: 2022 Oct 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Luiz Costa Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello, I need to package for Amazon Linux 2 Arm64 based in RHEL7.

I know there is an option to compile the package, but I need it to optimize the installation process

 

Thanks!






[ZBXNEXT-7990] Having an issue starting zabbix agent as different user. Created: 2022 Sep 22  Updated: 2022 Sep 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.28
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Takashi Worrell Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Amazon Linux release 2 (Karoo)


Attachments: PNG File image-2022-09-21-22-53-31-004.png    

 Description   

Created a zabbix item to run a query to Amazon's RDS.

When I tested the bash script on the server, it works. When I tested the zabbix item, I'm seeing the following below.

I noticed when I ran ps aux, the list of zabbix_agentd processes are running as zabbix when it should be snetzabbix since that user is able to access the RDS Instance on AWS. But I can't change it after trying many steps that I tried over the web. Tried chowning the file to the specified user, configured the zabbix agent config file to use snetzabbix. However, it did not work.

Trying to get some ideas here on what I can do to resolve this issue.



 Comments   
Comment by Takashi Worrell [ 2022 Sep 23 ]

I'm following up to see if there's any update to this case?

Since there's no user for zabbix created in the home directory, does that I have to create one and make a cnf file to connect to Amazon's database.

It's centos based linux system.





[ZBXNEXT-7837] how to prevent agent re-reading log repeatedly Created: 2022 Jul 01  Updated: 2023 Jul 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.5
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: romeo Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File agent.jpg    

 Description   

to monitoring oracle alert log with agent, today my cell phone received a lots of alert message. and then I check agent log  found this message:***still has not been updated,consider it to be a new file.(check the attachment)  ,I want konw why agent designed like this and how to prevent. I hope agent still read message from end of log file.



 Comments   
Comment by TRONG NGUYEN [ 2023 Jul 07 ]

I have the same issue when monitoring MT4 log with zabbix 5.0 LTS (I have CentOS 6 server so can not use zabbix 6.0), I found that the mechanism for writing MT4 log file is quite special, the MT4 log file is written continuously so the mtime of log file always changes, however the size of log file does not change. So it always have this log when I checked zabbix_agentd.log:

``30931:20230707:155822.971 the modification time of log file "/window/MetaTrader4Server/logs/20230707.log" has been updated without changing its size, try checking again later
 30931:20230707:155914.022 after changing modification time the size of log file "/window/mt4reportserver/20230707.report.log" still has not been updated, consider it to be a new file``

This make zabbix re-read MT4 log file repeatedly and make noise for my team.

I've tried this option in logrt[] function:

``mtime-noreread - non-unique records, reread only if the size changes (ignore modification time change).``

But when log file is written continuously, zabbix does not show anything because the file size does not change. 

Any one knows how to prevent zabbix re-reading log file, please help me!!!!!

Thanks so much!!!





[ZBXNEXT-7429] Agent for MacOS M1 Created: 2022 Jan 18  Updated: 2023 Jul 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.19
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Igor Gorbach Assignee: Rostislav Palivoda
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Apple is changing architecture for its own devices to M1. The only Zabbix agent for amd64 architecture is available for now. Please, provide Zabbix Agent macOS for M1-based devices



 Comments   
Comment by Vladislavs Sokurenko [ 2022 Dec 05 ]

Actually both server and agent can be compiled, both work pretty well, especially server is very fast.

./configure --enable-server --with-mysql --prefix=$(pwd) --with-zlib=/opt/homebrew/Cellar/lzlib/ --with-libevent=/opt/homebrew/Cellar/libevent/2.1.12 --enable-agent

With openssl:

./configure --prefix=$(pwd) --with-zlib=/opt/homebrew/Cellar/lzlib/ --with-libevent=/opt/homebrew/Cellar/libevent/2.1.12 --enable-agent --with-openssl=/opt/homebrew/opt/openssl@3 




[ZBXNEXT-7470] Template for GPU monitoring in Linux Created: 2022 Feb 04  Updated: 2022 Mar 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N), Templates (T)
Affects Version/s: 6.0.0beta3, 6.0.0rc2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Malik Armughan Mehboob Bhutta Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System, Video Processing GPU based AI servers



 Description   

Currently, there is no official template or way to Monitor GPUs in servers. GPUs are a necessary part of next-generation AI-based applications that are using accelerated computing.

I found below 2 templates to monitor GPUs via Zabbix that are really old and have not been updated since 2018. Although working with Zabbix 5.0 but we need more data and deep monitoring for GPUs.
 1. Zabbix Share - NVidia-SMI Integration

2. Zabbix Share - Nvidia-smi monitoring for multiple GPUs






[ZBXNEXT-7442] Filter discovery objects on agent side. Created: 2022 Jan 24  Updated: 2022 Jul 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Andrei Gushchin (Inactive) Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate

 Description   

Currently we discover objects by some discovery for example filesystem discovery on agent and bring all data in JSON format for filtering and processing on server.
Which has some impact on overall performance especially when remote server has huge number of entities.

So would be great to extend syntax of discovery key for including or excluding some objects, for example with types, probably with names it brings a lot of issues etc.

vfs.fs.discovery[include,"ext3,ext4"]
or
vfs.fs.discovery[exclude, tmpfs]

The same for other default discovery keys.






[ZBXNEXT-7459] Add option for windows agent to choose user which it runs Created: 2022 Feb 01  Updated: 2022 Feb 22

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: 5.0.19, 6.0.0rc1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Andrei Gushchin (Inactive) Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently there is no way to choose user on Windows while installing Zabbix Agent though CLI or MSI.

Would be great to have some option in Agent configuration file or MSI, CLI installation option to specify which user instead "Local system account" which is used by default.



 Comments   
Comment by dimir [ 2022 Feb 22 ]

Currently this can be done manually: https://www.zabbix.com/documentation/current/en/manual/appendix/items/win_permissions





[ZBXNEXT-4204] Zabbix should be capable to watch filesystem events Created: 2017 Oct 31  Updated: 2021 Jan 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Schoechlin Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux



 Description   

It would be good to have a new variant of active items:

Instead of cyclic updates, zabbix-agent should be capable to watch inotify events on directories or files. If a inotify event appears the item(s) should be fetched and delivered.
For some types of items this eases reviews of values/certain situations, allows to write easy nodata triggers and saves lots of space in the database.

Example:
The puppet state file /var/lib/puppet/state/last_run_summary.yaml is written after every puppetrun. If the zabbix detects the change and send only values if the event appear it would be easy to get the exact execution time and the resulting value of puppetruns.

Probably it would be a good idea to have a more general solution:
External checks which are allowed to block forever until values are delivered.

#!/bin/bash

inotifywait -e modify /var/lib/puppet/state/last_run_summary.yaml

  1. converted from yaml file
    echo < EOF
    Linux DB1" db.ping 1
    "Linux DB3" db.ping 0
    "Zabbix server" db.status 0
    "Zabbix server" db.error "Linux DB3 down"
    EOF

https://openquery.com.au/blog/tool-day-inotify



 Comments   
Comment by Marc Schoechlin [ 2017 Oct 31 ]

hmm, sorry unable to change the formatting/text of a already submitted issue

Comment by Rostislav Palivoda [ 2017 Nov 02 ]

Post new text in comment and I'll update description.

Comment by Marc Schoechlin [ 2021 Jan 03 ]

Next text:

It would be good to have a new variant of active items:

Instead of cyclic updates, zabbix-agent should be capable to watch inotify events on directories or files. If a defined inotify event appears the item(s) should be fetched and delivered.
For some types of items this eases reviews of values/certain situations, allows to write easy nodata triggers and saves lots of space in the database.

Example:
The puppet state file /var/lib/puppet/state/last_run_summary.yaml is written after every puppetrun.
If the zabbix detects the change and send only values if the event appear it would be easy to get the exact execution time and the resulting value of puppetruns.

The usage behavior could be:

  • define a (active) zabbix item
  • change a newly created toggle from "update based" to "file system event" and configure details (see: man 7 inotify)
  • file system pattern
  • inotify event type(s)
  • define a userparameter item which calls a script which reads the yaml file an converts it to json (suitable for a json path item preprocessing)

https://openquery.com.au/blog/tool-day-inotify





[ZBXNEXT-5253] Offload preprocessing to zabbix-agents? Created: 2019 Jun 03  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Evgenii Terechkov Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

To really high-frequent monitoring, it is obvious idea to offload values preprocessing to agents. What do you think?



 Comments   
Comment by Andris Mednis [ 2019 Jun 03 ]

What do you mean by "high-frequency" monitoring? 100 times/second? 1000 times/second? More?

Comment by Evgenii Terechkov [ 2019 Jun 03 ]

Nope, I think about 0.1 - 1 time/second monitoring of free space/inodes for autodiscovered FS, with values throttling offloaded to agents.

 

As example, 5 mountpoints/FS and 1 time/second monitoring of 2 items gives total 10 nvps per host, multiple it by number of hosts. Preprocessing/throttling on agents will make this case easier for transient zabbix proxy and main zabbix server.





[ZBXNEXT-5056] Allow regex/wildcards for vfs.files.exists Created: 2019 Feb 19  Updated: 2023 May 11

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S), Templates (T)
Affects Version/s: 4.0.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Hector Lopez Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 4
Labels: items, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RHEL 6/7 64bit


Issue Links:
Duplicate
duplicates ZBXNEXT-1699 support log.discovery Open

 Description   

We are planning to migrate our current monitoring tool to zabbix but one major blocker is that Zabbix does not play well with wildcards using vfs.files.exists. A large number of our systems generate application logs where our current tool would monitor and report if found. It is actually a simple "search for anything .log or error-.log in path /this/path/to/logfile", which does not appear to work with Zabbix vfs.files.exists item.



 Comments   
Comment by Edgar Akhmetshin [ 2019 Feb 19 ]

Hello Hector,

Thank you for reporting the issue. You can use custom LLD rules to discover all files and add them to the monitoring. I found a similar case registered under ZBXNEXT-1699, so we will close this ticket and continue the discussion there. Feel free to follow the original case and vote for it.

Regards,
Edgar

Comment by Glebs Ivanovskis [ 2019 Feb 19 ]

If you don't need to dive into contents of these files, you can use vfs.dir.count[]. I think it should be sufficient for this use case.

Comment by Hector Lopez [ 2019 Feb 25 ]

Thank you everyone for your inputs! Will do more testing noting these inputs.

 

Comment by James Howe [ 2019 May 15 ]

@edgar.akhmetshin
Just because the example use case is about log files, doesn't make it a duplicate of a discovery feature request. Nothing discussed on that ticket will help when I want to know if there exists a file with a particular name, but don't care what the extension is.

Comment by Aleksandrs Petrovs-Gavrilovs [ 2022 May 10 ]

Instead of having a vfs.file.exists for each one, perhaps an item like vfs.files.exists to combine this into one item check such as:

vfs.files.exists[/path1/to/some.log, /path1/to/another.log, /path2/to/more.log, /path3/to/another2.log]

Regardless of whether the list of filenames is a single string parameter (“name1,name2”) or the item just accepts multiple parameters with each as a separate file, it would help reduce the chances of an external script timing out.





[ZBXNEXT-4828] Interface Se0/0/ Bits received and Bits sent Created: 2018 Oct 25  Updated: 2020 Jan 17

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.4.14
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Trinath Dakua Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

WAN Interface Card - HWIC Serial 2T on Slot 0 SubSlot 0: is not supported by zabbix 3.4.14 and 4.0


Attachments: PNG File image-2018-10-25-11-24-10-440.png     PNG File image-2018-11-06-16-14-45-291.png     PNG File image-2018-11-06-16-29-45-435.png     PNG File image-2018-11-06-16-30-47-136.png     PNG File image-2018-11-06-16-35-13-953.png    

 Description   



 Comments   
Comment by Vjaceslavs Bogdanovs [ 2018 Nov 01 ]

Thank you for your submission.

Can you please provide the error you are getting when item gets not supported?

Comment by Trinath Dakua [ 2018 Nov 06 ]

Hi,

we are using Cisco 2901/K9 Router and monitoring graphs .

Network Interfaces Discovery: Interface Se0/0/0(*** LEASE LINE TO HO ***): Bits sent
net.if.out[ifHCOutOctets.5] 1.3.6.1.2.1.31.1.1.1.10.5

Network Interfaces Discovery: Interface Se0/0/0(*** LEASE LINE TO HO ***): Bits received
net.if.in[ifHCInOctets.5] 1.3.6.1.2.1.31.1.1.1.6.5

 

 

 

 

 

 

 

Comment by Trinath Dakua [ 2018 Nov 07 ]

Hi

Cisco 2901/K9 Router Discovered and Ethernet interface is graphs Monitoring and working fine.but   serial interface are  not   graphs Monitoring .

by default Serial interface OID are  :

Network Interfaces Discovery: Interface Se0/0/0(*** LEASE LINE TO HO ***): Bits sent
net.if.out[ifHCOutOctets.5] 1.3.6.1.2.1.31.1.1.1.10.5

Network Interfaces Discovery: Interface Se0/0/0(*** LEASE LINE TO HO ***): Bits received
net.if.in[ifHCInOctets.5] 1.3.6.1.2.1.31.1.1.1.6.5

 





[ZBXNEXT-4614] limited hostname lookup support in zabbix_sender Created: 2018 Jun 27  Updated: 2020 Oct 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Michael Veksler
Resolution: Unresolved Votes: 6
Labels: configfile, hostname, sender
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

ZBXNEXT-1729 rejected the idea of supporting hostname lookup on the reasonable basis that implementing full support would involve userparameters, usafe params, aliases and other things.

But, automatic basic hostname lookup is the most often desired functionality and would help a large number of users without involving complicated development and feature creep in sender.

This feature request asks to support limited hostname lookup, only supporting automatic system.hostname resolution if none of the Hostname* parameters is defined.



 Comments   
Comment by Daria [ 2020 Jun 15 ]

Absolutely agree!
This feature needed in our project too 





[ZBXNEXT-4393] Add individual item recchock option when unsupported Created: 2018 Feb 21  Updated: 2018 Feb 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 3.4.7, 3.4.8rc1, 4.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Diego Narducci Arioza Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All



 Description   

You can implement an option to manually configure each trigger when it is not supported, in many cases, we use the nodata function to check if a bank instance is ok or not, when the instance drops the item gets error and has to wait for the zabbix global retraction time, when you need to leave this value high, the item in this example even after being solved very fast will have to wait zabbix global temple for rechecation, I think it would be very interesting to put an individual option in cad aitem for rechecagem if it is not supported.



 Comments   
Comment by richlv [ 2018 Feb 21 ]

while unsupported items should work with nodata() in recent releases, could this issue be a duplicate of https://support.zabbix.com/browse/ZBXNEXT-473 ?





[ZBXNEXT-5097] Problem with priority in Windows Created: 2019 Mar 07  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.24
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Lukasz Krzyczkowski Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello 

Is there any possibility to start zabbix agent in windows server in higher priority using zabbix config ?  



 Comments   
Comment by Dmitrijs Lamberts [ 2019 Mar 07 ]

Please be advised that this section of the tracker is for Feature request reports only. The case you have submitted can not be qualified as one, so please reach out to sales@zabbix.com for commercial support or consultancy services. Alternatively, you can also use our IRC channel or community forum (https://www.zabbix.com/forum) for assistance. With that said, we are closing this ticket. Thank you for understanding.

Best regards,
Dmitry





[ZBXNEXT-5041] Precompiled ZBX 4.0.4 Agent on AIX 7.1 Created: 2019 Feb 14  Updated: 2020 Jul 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.0.3, 4.0.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marcus Griesing Assignee: Michael Veksler
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ZBX 4.0.4 Agent on AIX 7.1


Issue Links:
Duplicate
Sub-task
part of ZBX-15151 Zabbix Agents for AIX 6.1, 7.2 with a... Closed

 Description   

Dear Zabbix Support Team,

We recognize Errors on Compilation of the ZBX4.0.x Agent on our AIX 7.1 Systems.
So can you please provide a pre-compiled Agent as ppc for AIX 7.1?

Here is the Output of our AIX Technician:
After configuring the client as following:

./configure --enable-agent --enable-ipv6 --with-net-snmp --with-libxml2 --with-openssl

I tried to "make install", but this stopped in several errors:

In file included from ../../../../include/sysinc.h:26,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/stdio.h:582:12: error: conflicting types for 'fgetpos64'
extern int fgetpos64(FILE *, fpos64_t *);
^~~~~~~~~
In file included from ../../../../include/sysinc.h:26,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/stdio.h:377:12: note: previous declaration of 'fgetpos64' was here
extern int fgetpos(FILE *__restrict__, fpos_t *__restrict__);
^~~~~~~
In file included from ../../../../include/sysinc.h:26,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/stdio.h:585:12: error: conflicting types for 'fseeko64'
extern int fseeko64(FILE *, off64_t, int);
^~~~~~~~
In file included from ../../../../include/sysinc.h:26,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/stdio.h:525:12: note: previous declaration of 'fseeko64' was here
extern int fseeko(FILE *, off_t, int);
^~~~~~
In file included from ../../../../include/sysinc.h:26,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/stdio.h:586:12: error: conflicting types for 'fsetpos64'
extern int fsetpos64(FILE *, const fpos64_t *);
^~~~~~~~~
In file included from ../../../../include/sysinc.h:26,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/stdio.h:379:12: note: previous declaration of 'fsetpos64' was here
extern int fsetpos(FILE *, const fpos_t *);
^~~~~~~
In file included from ../../../../include/sysinc.h:26,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/stdio.h:587:16: error: conflicting types for 'ftello64'
extern off64_t ftello64(FILE *);
^~~~~~~~
In file included from ../../../../include/sysinc.h:26,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/stdio.h:526:14: note: previous declaration of 'ftello64' was here
extern off_t ftello(FILE *);
^~~~~~
In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/fcntl.h:234,
from ../../../../include/sysinc.h:157,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:210:16: error: conflicting types for 'lseek64'
extern off64_t lseek64(int, off64_t, int);
^~~~~~~
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:208:14: note: previous declaration of 'lseek64' was here
extern off_t lseek(int, off_t, int);
^~~~~
In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:866,
from /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/fcntl.h:234,
from ../../../../include/sysinc.h:157,
from ../../../../include/common.h:23,
from cpu.c:21:
/usr/include/sys/lockf.h:64:13: error: conflicting types for 'lockf64'
extern int lockf64 (int, int, off64_t);
^~~~~~~
/usr/include/sys/lockf.h:62:13: note: previous declaration of 'lockf64' was here
extern int lockf (int, int, off_t);
^~~~~
In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/fcntl.h:234,
from ../../../../include/sysinc.h:157,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:939:14: error: conflicting types for 'ftruncate64'
extern int ftruncate64(int, off64_t);
^~~~~~~~~~~
In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/fcntl.h:234,
from ../../../../include/sysinc.h:157,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:937:14: note: previous declaration of 'ftruncate64' was here
extern int ftruncate(int, off_t);
^~~~~~~~~
In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/fcntl.h:234,
from ../../../../include/sysinc.h:157,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:996:14: error: conflicting types for 'truncate64'
extern int truncate64(const char *, off64_t);
^~~~~~~~~~
In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/fcntl.h:234,
from ../../../../include/sysinc.h:157,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:994:14: note: previous declaration of 'truncate64' was here
extern int truncate(const char *, off_t);
^~~~~~~~
In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/fcntl.h:234,
from ../../../../include/sysinc.h:157,
from ../../../../include/common.h:23,
from cpu.c:21:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:1015:18: error: conflicting types for 'pread64'
extern ssize_t pread64(int, void *, size_t, off64_t);
^~~~~~~
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:1012:18: note: previous declaration of 'pread64' was here
extern ssize_t pread(int, void *, size_t, off_t);
^~~~~
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:1016:18: error: conflicting types for 'pwrite64'
extern ssize_t pwrite64(int, const void *, size_t, off64_t);
^~~~~~~~
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:1013:18: note: previous declaration of 'pwrite64' was here
extern ssize_t pwrite(int, const void *, size_t, off_t);
^~~~~~
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:1101:17: error: conflicting types for 'fclear64'
extern off64_t fclear64(int, off64_t);
^~~~~~~~
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:1098:15: note: previous declaration of 'fclear64' was here
extern off_t fclear(int, off_t);
^~~~~~
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:1102:13: error: conflicting types for 'fsync_range64'
extern int fsync_range64(int, int, off64_t, off64_t);
^~~~~~~~~~~~~
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8.2.0/include-fixed/unistd.h:1099:13: note: previous declaration of 'fsync_range64' was here
extern int fsync_range(int, int, off_t, off_t);
^~~~~~~~~~~
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.

Regards, Marcus



 Comments   
Comment by Andris Mednis [ 2019 Feb 14 ]

Hi, Marcus!

Can you try:

$ OBJECT_MODE=64 ; export OBJECT_MODE
$ CFLAGS="-maix64 -g -O2" ./configure --enable-agent --enable-ipv6 --with-openssl
$ make install
Comment by Enrico Becker [ 2019 Feb 15 ]

Hi,

we tried this and I think we had a little progress, but came to an error:

ld: 0711-224 WARNING: Duplicate symbol: Hyp_Name
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ld: 0711-317 ERROR: Undefined symbol: .libiconv_open
ld: 0711-317 ERROR: Undefined symbol: .libiconv
ld: 0711-317 ERROR: Undefined symbol: .libiconv_close
collect2: error: ld returned 8 exit status
make: 1254-004 The error code from the last command is 1.

Stop.
make: 1254-004 The error code from the last command is 1.

Stop.
make: 1254-004 The error code from the last command is 1.

Stop.

Seams to be a problem with the LD-Library path, but don't know how to fix that the right way!

Comment by Andris Mednis [ 2019 Feb 18 ]

Hi, enrico.becker !

It could be that you have only 32-bit libiconv installed. Take a look at comment

https://support.zabbix.com/browse/ZBX-6564?focusedCommentId=189446&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-189446

how to compile a 64-bit libiconv and then Zabbix agent. It was written almost 3 years ago, today probably there are newer versions available.

Comment by Enrico Becker [ 2019 Feb 19 ]

Hi Andris.

Thanks for your hint. I compiled libiconv version 1.15 as you suggested in 64-bit:

ar -tv -X64 lib/libiconv.a
rw-r--r-- 0/0 1657366 Feb 19 08:14 2019 iconv.o
rw-r--r-- 0/0 43724 Feb 19 08:14 2019 localcharset.o
rw-r--r-- 0/0 37981 Feb 19 08:14 2019 relocatable.o
r--r--r-- 0/0 310633 Feb 19 08:14 2019 shr4_64.o
file bin/iconv
bin/iconv: 64-bit XCOFF executable or object module not stripped

But after configure zabbix again I got the same error. here is what I do and get:

{{CFLAGS="-maix64 -g -O2" ./configure --enable-agent --enable-ipv6 --with-openssl --with-net-snmp --with-libxml2 --with-iconv=/tmp/libiconv-1.15 --prefix=`pwd`}}

Configuration:Detected OS: aix7.1.5.0
Install path: /tmp/zabbix/zabbix-4.0.4
Compilation arch: aix
Compiler: /tmp/zabbix/zabbix-4.0.4/compile cc
Compiler flags: -maix64 -g -O2
Library-specific flags:
TLS: -I/usr/include
iconv: -I/tmp/libiconv-1.15/include
Enable server: no
Enable proxy: no
Enable agent: yes
Agent details:
TLS: OpenSSL
Linker flags: -L/usr/lib -L/tmp/libiconv-1.15/lib
Libraries: -lssl -lcrypto -lm -lperfstat -lpcre -liconv
Configuration file: /tmp/zabbix/zabbix-4.0.4/etc/zabbix_agentd.conf
Modules: /tmp/zabbix/zabbix-4.0.4/lib/modules
Enable Java gateway: no
LDAP support: no
IPv6 support: yes

And after "make install" I got:

ld: 0711-224 WARNING: Duplicate symbol: Hyp_Name
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ld: 0711-317 ERROR: Undefined symbol: .libiconv_open
ld: 0711-317 ERROR: Undefined symbol: .libiconv
ld: 0711-317 ERROR: Undefined symbol: .libiconv_close
collect2: error: ld returned 8 exit status
make: 1254-004 The error code from the last command is 1.

Stop.
make: 1254-004 The error code from the last command is 1.

Stop.
make: 1254-004 The error code from the last command is 1.

Stop.

Regards, Enrico

Comment by Andris Mednis [ 2019 May 16 ]

Maybe you can use agent compiled on AIX 6.1 on an AIX 7.1 machine?

ZBX-15151 describes recently built agents, they are also published on https://www.zabbix.com/download_agents

Comment by Andrzej [ 2019 Sep 18 ]

Hi

In our company we have the same problem. AIX 6.1 version zabbix agent 4.2.6.
Such a procedure:

$ OBJECT_MODE=64 ; export OBJECT_MODE
$ CFLAGS="-maix64 -g -O2" ./configure --enable-agent 
$ make install

I got an error like Becker described.

But I checked if a binary was created in the src directory in directory zabbix-4.2.6.

Surprise was in this directory.

Next i did ./zabbix_agent -V and got a response.

I create zabbix_agent.conf and run this agent.

It work Agent Zabbix send value to Zabbix Server.





[ZBXNEXT-4943] Change Zabbix Agent and Server to use different user accounts in packages Created: 2019 Jan 07  Updated: 2019 Feb 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Packages (C)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: W. S. Story Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: account, agent, package, security, user
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 7



 Description   

At the suggestion of Richlv, I am creating this. Per Chapter 1, page 15 of the Zabbix Network Monitoring: Second Edition book, it is a bad idea to use the same account for server and agent on the server.

Steps to fix:

  1. Create a /var/log/zabbixagent
  2. Create a zbxagent user account with nologin
  3. sudo cp /usr/lib/systemd/system/zabbix-agent.service /etc/systemd/system
  4. Modify the PidFile parameter to /var/run/zabbixagent/zabbix_agentd.pid
  5. Add a line User=zbxagent under the [Service] section
  6. Modify PidFile and LogFile in /etc/zabbix/zabbix_agentd.conf
  7. systemctl daemon-reload
  8. systemctl start zabbix-agent

Currently both start as zabbix user which could be a security vulnerability as the Zabbix agent on the server could read its configuration and give up details there were not intended outside of the server.

 



 Comments   
Comment by W. S. Story [ 2019 Jan 07 ]

I failed to mention that volter discovered this vulnerability.

Comment by Edgar Akhmetshin [ 2019 Jan 07 ]

Hello W.S. Story,

You can change the user in accordance with the security policy applied in your enterprise. The steps that you use to change a user are not correct:

Along with a unit file foo.service, a "drop-in" directory foo.service.d/ may exist. All files with the suffix ".conf" from this directory will be parsed after the unit file itself is parsed. This is useful to alter or add configuration settings for a unit, without having to modify unit files. Drop-in files must contain appropriate section headers. For instantiated units, this logic will first look for the instance ".d/" subdirectory (e.g. "foo@bar.service.d/") and read its ".conf" files, followed by the template ".d/" subdirectory (e.g. "foo@.service.d/") and the ".conf" files there. Moreover for units names containing dashes (""), the set of directories generated by truncating the unit name after all dashes is searched too. Specifically, for a unit name foo-bar-baz.service not only the regular drop-in directory foo-bar-baz.service.d/ is searched but also both foo-bar.service.d/ and foo-.service.d/. This is useful for defining common drop-ins for a set of related units, whose names begin with a common prefix. This scheme is particularly useful for mount, automount and slice units, whose systematic naming structure is built around dashes as component separators. Note that equally named drop-in files further down the prefix hierarchy override those further up, i.e. foo-bar-.service.d/10-override.conf overrides foo-.service.d/10-override.conf.

man 1 systemd

Could you describe in more detail what the vulnerability is?

Regards,
Edgar

Comment by richlv [ 2019 Jan 07 ]

ZBX-4916 initially covered this.

Comment by Arturs Lontons [ 2019 Jan 08 ]

Hi,
Thank you for pointing out the possible security flaw. As richlv mentioned, the issue was discussed a while back in ZBX-4916. It was decided then that we will cover the possible security flaws and ways to fix them in the Zabbix official documentation. 
Since agent and server running under the same account out of the box the intended behavior, I've changed the ticket to a feature request.





[ZBXNEXT-3418] Can not get a log more than 64KB in one line in Zabbix3.0.0 Created: 2016 Sep 01  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Takafumi Iwasaki Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix3.0.0-1



 Description   

Can not get a log more than 64KB in one line in Zabbix3.0.0.
For log file records longer than 65535 bytes, only the first 65535 are gotten.
The [6 Log file monitoring] of Zabbix3.0 of the manual has the following of such a description.


For log file records longer than 256kB, only the first 256kB are matched against the regular expression and the rest of the record is ignored.


Note:
Zabbix 2.0.14 is also the same movement.

Thank you



 Comments   
Comment by Andris Mednis [ 2016 Sep 01 ]

How long are your log lines then ?





[ZBXNEXT-3144] support partial matching for the certificate subject field Created: 2016 Feb 16  Updated: 2016 Nov 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: certificates, encryption, tls, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

As mentioned in (58) in ZBXNEXT-1263 and further documented at the certificate page, arriving at a proper value for "Subject" field in host's "Encryption" tab is non-trivial - one should use a command-line tool for it.

Since using the "Subject" field is a must from the security perspective, it is sad that it currently requires manual handling for every host with a command-line tool. It would be nice to reduce the amount of effort in two ways:

  • support partial matching, listing only required fields: "CN=agent.example.com" (then using a command-line tool will not be necessary)
  • support macros: "CN={HOST.DNS}" (reported separately in ZBXNEXT-3148 and covers pre-shared keys, too)

Both should reduce the amount of effort significantly and make it more convenient.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Nov 29 ]

When we will come to implement this it would be very beneficial to bring issuer/subject verification logic into one place. Currently it is done independently in ~4 places across the whole source tree.





[ZBXNEXT-8434] Provide CAB files for the Agents Created: 2023 May 08  Updated: 2023 May 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: 6.0.17, 6.4.2, 7.0.0alpha1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows/SCCM/MECM


Issue Links:
Causes

 Description   

Build and publish CAB files for easy integration with SCCM/MECM






[ZBXNEXT-8400] extend parameters for eventlog windows key Created: 2023 Apr 13  Updated: 2023 Apr 13

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: 6.4.2rc1, 7.0 (plan)
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Andrei Gushchin (Inactive) Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

extend current parameters for eventlog key for windows like it was done for log logrt

maxdelay - the maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!

This would be very useful to not read all logs if they not needed. If wee need only some fresh for last hour.

One of use case:

Agent was stopped or not running by some reason for few hours/days then we nit started it start reading huge set of event logs which might be not actual for a moment for monitoring.

Probably maxdelay could be set globally for all eventlog/ log items and on priority on key level for particular logs.






[ZBXNEXT-8179] Discovery filesystem is not working. Error is "The system cannot find the file specified.". Created: 2022 Dec 26  Updated: 2023 Feb 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N), Templates (T)
Affects Version/s: 6.2.5
Fix Version/s: None

Type: Epic Priority: Major
Reporter: tunahan husem Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, items, macros, templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows Server 2019, Zabbix Server v6.2, Zabbix agent v6.2 and Zabbix agent 2 v6.2


Attachments: PNG File Screenshot_1.png     PNG File Screenshot_2.png     PNG File Screenshot_3.png    
Epic Name: Mounted filesystem discovery
Team: Team INT

 Description   

There is a problem on discovery rules in filesystem discovery part.  Error is "The system cannot find the file specified.".  I will attach error logs.






[ZBXNEXT-6049] New type of dependent item, update interval Created: 2020 Jul 07  Updated: 2020 Jul 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 5.0.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Dario Sindicic Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be awesome that we could have another kind of dependant item in Zabbix. A new kind of dependant item would mean that kid item would act like a normal item, but its refresh would be indicated by the change of its' master item. Having that feature, kid item shouldn't have so tiny refresh interval because it would refresh only on a real update. For example, master item is a Log item in which I grep "Synchronized" word, and kid item would be an HTTP agent that would curl the website and by that collect new content. 






[ZBXNEXT-6166] Implement TLS/SSL session cache for encrypted connections between Server/Proxy/Agent Created: 2020 Aug 27  Updated: 2023 Apr 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Andris Mednis
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team A

 Description   

Current solution - https://www.zabbix.com/documentation/current/manual/encryption:

Currently each encrypted connection opens with a full TLS handshake, no session caching and tickets are implemented
Adding encryption increases the time for item checks and actions, depending on network latency:
For example, if packet delay is 100ms then opening a TCP connection and sending unencrypted request takes around 200ms. With encryption about 1000 ms are added for establishing the TLS connection;
Timeouts may need to be increased, otherwise some items and actions running remote scripts on agents may work with unencrypted connections, but fail with timeout with encrypted.

For example web servers has different options how to deal with SSL/TLS cache:
https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslsessioncache
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache



 Comments   
Comment by dimir [ 2020 Sep 02 ]

Sometimes we are having encrypted server->proxy connection failures. We use OpenSSL library. The error happens during the attempt to establish SSL handshake. Call to SSL_connect() function is never finished, we hit the alarm timeout that we set to 20 seconds (TrapperTimeout=20). The error message is SSL_connect() timed out and it's generated by Zabbix:

7822:20200820:092156.849 cannot connect to proxy "Foobar": TCP successful, cannot establish TLS to [[www.xxx.yyy.zzz]:1050]: SSL_connect() timed out

While not saying this issue will fix our problems (which may happen because of network issues) we think it might minimize those and also minimize the effort spent on establishing encrypted connections.





[ZBXNEXT-2904] Option to securely pass sensitive arguments to External check and User parameter Created: 2015 Aug 15  Updated: 2021 Apr 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 2.2.10
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: externalchecks, security, userparameters
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Command line arguments or environment variables can easily be exposed via the /proc file system.

Since ZBXNEXT-1550 one can create custom functions that may get sensitive data passed by item arguments as there is no additional process forked that my reveal any information.

Now I wonder whether it is feasible to improve External check and User parameter functionality to be usable for such cases too - to get sensitive data passed more securely.

The only way I currently can think of is by optionally passing data to stdin of the custom command.

I've no clue whether it should rather be configurable in a fixed format with two variables only (username and password) or a free form field supporting line breaks.

The first allows to use existing form fields. The latter provides maximum flexibility for instance to adapt a format that is already supported by a given custom command.

I know, without something like ZBXNEXT-1660 there is no real security for sensitive data in Zabbix at all but I think this could still be a worthwhile improvement.



 Comments   
Comment by Justin Addams [ 2021 Apr 08 ]

If I understand correctly, this is still an issue experienced even when using the new secure macros?





[ZBXNEXT-3801] Allow limiting file system access in Zabbix agent configuration Created: 2017 Apr 18  Updated: 2019 Oct 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Sami Pajunen Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Agent configuration should support whitelist of allowed paths for following agent items:

  • log
  • logrt
  • vfs.file.*

This is necessary when running agent in environment where security requirements state that full external access to file system items by Zabbix is not allowed but some file items still must be monitored. Whitelisting paths allows limiting accessible file system items easily.

Another way to restrict Zabbix access to file system requires configuring file access of Zabbix agent user at file system level which is much more cumbersome, prone to errors and may be impossible to implement in certain environments.

I have already implemented this feature in fork of Zabbix which can be seen at: https://github.com/digiapulssi/zabbix/pull/2

In the implementation, whitelist can be configured by adding AllowedPath elements in agent configuration specifying regex path patterns. When none are configured full access is allowed to ensure backwards compatibility.

For example, following configuration would only allow checking of mariadb logs:

AllowedPath=^/var/log/mariadb/.*$


 Comments   
Comment by richlv [ 2017 Apr 18 ]

besides filesystem permission level, this might be better achievable via selinux/apparmor. built-in capability would be easier to use, though.

ZBXNEXT-1085 is similar (asks to restrict whole keys)





[ZBXNEXT-3395] make client authentication optional in TLS communication with certificates Created: 2016 Aug 18  Updated: 2022 Jun 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.0.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: MarcoP Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Agent on Windows 2008-2012 and Linux RHEL6, server Linux RHEL6


Attachments: JPEG File proposal.jpg    
Issue Links:
Causes

 Description   

Dear team,

we are working with agent-server communication encryption

  • two-way encryption works fine ?
  • we would like to have one-way encryption (asymmetric) so when client initiate communication with server (while keeping it unencrypted the other way around).
    The problem we have with one way encryption is that, even if only TLSConnect is equal to "cert", so encryption should be used only for agent outbound connections, the agent will not start without an agent certificate as well/key.

I.e. agent configuration file:
Hostname=XXXXXX
LogFile=D:\zabbix\Zabbix_agentd.log
DebugLevel=4
TLSConnect=cert
TLSAccept=unencrypted
TLSCAFile=D:\eon\zabbix\zabbix_ca_file
EnableRemoteCommands=1
LogRemoteCommands=1
Server=YYYY
ServerActive=YYYY
Include=D:\zabbix\zabbix_agentd.userparams.conf

The agent on Windows will not start.

The same happens with the Linux agent ? but providing a clearer error:
Starting Zabbix agent: zabbix_agentd [16788]: ERROR: parameter "TLSConnect" value requires "TLSCertFile", but it is not defined

Is this expected, i.e. by design Zabbix is using not only encryption but also client authentication over TLS (so the server will ask the client, in this case the agent to provide its certificate to authenticate it? Otherwise, if this is not the intended design, can it be classified as an issue/bug?

Thanks in advance for your help
Cheers
Marco



 Comments   
Comment by MarcoP [ 2016 Aug 19 ]

Hi,
after checking this, I found it is by design (so not a Bug), so it would rather be classified as feature

◾ Zabbix uses mutual authentication.
Each side verifies its peer and may refuse connection.
For example, Zabbix server connecting to agent can close connection immediately if agent's certificate is invalid. And vice versa - Zabbix agent accepting a connection from server can close connection if server is not trusted by agent.

Comment by Aleksandrs Saveljevs [ 2016 Aug 22 ]

Yes, Zabbix daemons perform mutual authentication and this is by design. How would you then formulate the feature request?

Comment by MarcoP [ 2016 Aug 22 ]

Hi Aleksandrs,
thanks for your support.
I would ask if it would be possible to select on the endpoint accepting TLS connection, either Agent or Server if client Authentication would be required or not (this selection might be done already in the current web interface).

So in this use case there would be two options:
the "cert" option (which would mean that when accepting connection it should be encrypted using a certificate but not with Client Authentication)
the "cert +CA" (certificate + client authentication): also CA will need to be enforced (which is exactly the current design).

The encryption without CA would be useful to avoid a certificate to be installed and configured on the Agent, i.e. scenario in which only the connection from the agent to the server needs to be encrypted (active). So only the server would have its certificate and would be authenticated on the agent side, while the agent will not send any certificate to the server.

PS: attached web GUI proposal of how this might be activated.
Thanks
Best Regards
Marco

Comment by Aleksandrs Saveljevs [ 2016 Aug 22 ]

So, basically, it is about not being required to configure certificates for Zabbix agents, just like with HTTPS, where only a Web server is required to present a certificate, but not clients?

Comment by MarcoP [ 2016 Aug 22 ]

hi, yes, you got the point.
I think it would be great to have both options that could be chosen from the admin, really like HTTPS, if the server you are handshaking with is requiring client authentication, the browser will prompt you to select a certificate, if not, only the server certificate will be validated and the client will just get the encryption.

Thanks
Marco

Comment by Aleksandrs Saveljevs [ 2016 Aug 22 ]

Thank you! I have updated the issue title and moving it to ZBXNEXT project.

Note that if it is desired to only configure a certificate on Zabbix server, but not on the agents, then it will prevent passive checks from working. With passive checks, Zabbix server connects to Zabbix agents, so Zabbix server acts as a TLS client and Zabbix agents act as TLS servers. If Zabbix agents (TLS servers) do not have certificates, then it will probably not work, because TLS servers are more or less required to have certificates (see also http://security.stackexchange.com/questions/38589/can-https-server-configured-without-a-server-certificate).

If you just need a cheaper and easier encryption scheme, you can use PSK in the meanwhile.





[ZBXNEXT-3388] Load libraries in runtime with RTLD_LOCAL flag Created: 2016 Aug 19  Updated: 2019 Apr 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.2.0alpha2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: crash, dependencies
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-15964 ODBC item causes Zabbix Server to crash Closed
Sub-task
depends on ZBX-12159 Resolving TNS names via LDAP crash on... Confirmed
part of ZBX-13239 ODBC crashes zabbix_server Closed

 Description   

Let's start with a small demonstration. Let's build a small application (test) linked against two libraries (liba.so and libe.so) depending on one and the same symbol (foo) from two different libraries (libb.so and libd.so).

a.c:

#include "a.h"
#include "b.h"

void	a_foo(void)
{
	foo();
}

a.h:

void	a_foo(void);

b.c:

#include <stdio.h>

void	foo(void)
{
	printf("bar\n");
}

b.h:

void foo(void);

d.c:

#include <stdio.h>

void	foo(void)
{
	printf("baz\n");
}

d.h:

void	foo(void);

e.c:

#include "d.h"
#include "e.h"

void	e_foo(void)
{
	foo();
}

e.h:

void	e_foo(void);

Let's build libraries:

$ gcc -o libb.so b.c -fPIC -shared
$ gcc -o libd.so d.c -fPIC -shared
$ gcc -o liba.so a.c -lb -L. -fPIC -shared
$ gcc -o libe.so e.c -ld -L. -fPIC -shared

Let's first test them separately.
test_a:

#include "a.h"

int	main(void)
{
	a_foo();

	return 0;
}

test_e.c:

#include "e.h"

int	main(void)
{
	e_foo();

	return 0;
}
$ export LD_LIBRARY_PATH=.
$ gcc -o test_a test_a.c -la -L.
$ gcc -o test_e test_e.c -le -L.
$ ./test_a
bar
$ ./test_e
baz

So far everything is as expected. Now let's link both libraries to the same program.
test_both.c:

#include "a.h"
#include "e.h"

int	main(void)
{
	a_foo();
	e_foo();

	return 0;
}

Both a_foo() and e_foo() print "bar" or "baz" depending on -l flag order:

$ gcc -o test_both test_both.c -la -le -L.
$ ./test_both
bar
bar
$ gcc -o test_both test_both.c -le -la -L.
$ ./test_both
baz
baz

If program has it's own symbol foo it gets even better.
test_own.c:

#include "a.h"
#include "e.h"
#include <stdio.h>

void	foo(void)
{
	printf("foo\n");
}

int	main(void)
{
	a_foo();
	e_foo();

	return 0;
}

Symbol foo from liba.so and libe.so gets resolved to the foo exported by the program itself:

$ gcc -o test_own test_own.c -la -le -L.
$ ./test_own
foo
foo

But with a different approach it is possible to sort it out.
test_rtld.c:

#include <stdio.h>
#include <dlfcn.h>

void	foo(void)
{
	printf("foo\n");
}

int	main(void)
{
	void	*liba, *libe;
	void	(*a_foo)(void);
	void	(*e_foo)(void);

	liba = dlopen("liba.so", RTLD_NOW | RTLD_LOCAL);
	libe = dlopen("libe.so", RTLD_NOW | RTLD_LOCAL);

	a_foo = dlsym(liba, "foo");
	e_foo = dlsym(libe, "foo");

	foo();
	a_foo();
	e_foo();

	dlclose(liba);
	dlclose(libe);

	return 0;
}
$ gcc -o test_rtld test_rtld.c -ldl
$ ./test_rtld 
foo
bar
baz

Most important question: How is it related to Zabbix?

Zabbix depends on a number of libraries (cURL, Net-SNMP, OpenIPMI, DB client libraries, ...) which all require encryption libraries as a secondary dependency. Zabbix uses DB client libraries to access its database and links against UnixODBC which loads ODBC drivers which require DB client libraries too. Sometimes they all need different versions of the same library and inability to resolve symbols correctly (slight difference between "bar" and "baz" in the example above) often leads to crashes.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Aug 19 ]

List of potentially related tickets: ZBX-8005, ZBX-9035, ZBX-10461, ZBX-10656, ZBX-10897, ZBX-11017, ZBX-12159.





[ZBXNEXT-3226] Move Zabbix Gateway to Agent Created: 2016 Apr 01  Updated: 2016 Apr 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Java gateway (J)
Affects Version/s: 3.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Dennis Plöger Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: agent
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In many cases, JMX-Interfaces only listen to localhost or firewall admins tend to close down their ports.

In these cases, the current implementation would force me to install a zabbix agent, a java gateway and a zabbix proxy on the application server to be able to read the jmx information.

Thus, the java gateway feature should either be directly integrated into the agent (recommended) or the gateway should be linked to the agent, not to the proxy or server.



 Comments   
Comment by richlv [ 2016 Apr 01 ]

integrating it in the agent would be highly unfeasible. java gateway is written in java, while agent is small, lean and uses little memory.
those things just don't go together

Comment by Glebs Ivanovskis (Inactive) [ 2016 Apr 03 ]

Dynamically loadable Java agent module?





[ZBXNEXT-3194] zabbix 3 disables core dumps Created: 2016 Mar 16  Updated: 2016 Aug 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 3.0.0, 3.0.1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: patrik uytterhoeven Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: coredump, zabbix_agentd, zabbix_proxy, zabbix_server
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix disables core dumps when adding encryption when compiling
This is ok on the zabbix server but not always preferred. The real problem is that agents also disable core dumps or else fail to start as can be seen in this ticket: ZBX-10542.

A better solution would be to have the option in the config file. This way when people needs a core dump they have the option to enable core dumps. Or at least they have a choice. I understand that the dump can be a security risk but sometimes coredumps are usefull and needed.



 Comments   
Comment by Sandis Neilands (Inactive) [ 2016 Aug 16 ]

Coredumps remain enabled if Zabbix compiled without encryption support: ZBX-10086.





[ZBXNEXT-1734] On HP-UX the interface detection can go into an endless loop Created: 2013 May 06  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Albert Flügel Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: discovery, hp-ux, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

HP-UX 10 or higher


Attachments: File zabbix-2.0.5.hpux-Makefile.in.patch     File zabbix-2.0.5.patch    

 Description   

In src/libs/zbxsysinfo/hpux/net.c, line 79 a loop over all interfaces starts.
If the current interface is not of type INET or INET6 in the first if within the loop, the loop continues.
That is, if the last interface in the list is not of type INET or INET6, the loop does not stop, because
the code to step to the next interface (lines 89 or 91) are never reached. So the agent
stops working and only eats CPU.
In the loop starting in 119 the continue is ok as the loop condition is part of the for ... statement.

The patch contains also other fixes for building on HP-UX 10 and to implement system.uptime and system.boottime.

The attached patch can be applied to version 2.0.5 and 2.0.6. Others have not been tested.



 Comments   
Comment by Albert Flügel [ 2013 Sep 16 ]

The patch is still valid for zabbix 2.0.8

Comment by Albert Flügel [ 2013 Sep 17 ]

If automake cannot or should not be run after applying the other patch file zabbix-2.0.5.patch , apply this file the same way:

  1. cd zabbix-2.0.X
  2. patch -p 1 < /path/to/zabbix-2.0.5.hpux-Makefile.in.patch




[ZBXNEXT-1458] Allow patterns in "exclude" of item "services[<type>,<state>,<exclude>]". Created: 2012 Oct 09  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Robert de Bock Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: regexps, services, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows



 Description   

We have some Windows services that include a version in their name, like: "clr_optimization_v4.0.30319_32,clr_optimization_v4.0.30319_64". I'd like to be able to exclude a pattern like "clr_optimiztion_*", otherwise the list of excluded patterns will be long and unmanagable.

So, I'd like to configure this key on an item:
services[automatic,stopped,"clr_optimization_*"]

Currently this "clr_optimiztion_*" does not match "clr_optimization_v4.0.30319_32", nor "clr_optimization_v4.0.30319_64".



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Oct 10 ]

I'd say support of regexps there is requested.





[ZBXNEXT-1004] implement proc.mem for windows agent Created: 2011 Oct 19  Updated: 2012 Oct 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.7
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ghozlane TOUMI Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: items, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

found alot of occurence of people asking for this feature, could not find an issue in the ticketting system (sorry , my jira fu is not that good)

anyway : Windows agent should support a proc.mem item .

right now the workarounf of using perf_counter is far from perfect :

  • perfcounters name change from one windows locale to another, and they can even change from version to version,
  • when monitoring scheduled tasks or non constantly running processes , the perfmon counter does't exist if the process is not started => zabbix marks it as unsupported by design. the problem is that you can miss those tasks... => proc.mem could return 0 allowing us to monitor those tasks
  • when having multiple isntances of the process, I cannot use th perfmon counters to get a global memory usage, => proc_mem could answer that with its regexp magic and all...





[ZBXNEXT-967] Logfile monitoring - regular expressions to search multiple lines by agent Created: 2011 Sep 14  Updated: 2021 Apr 21

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.7
Fix Version/s: 1.8.8

Type: New Feature Request Priority: Major
Reporter: Frank Hirschner Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 5
Labels: logmonitoring, regexps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 5.6


Issue Links:
Duplicate

 Description   

Logfile monitoring with regular expression is ok. But sometimes you need to search for log entries in more than one line.
More information in this thread: http://www.zabbix.com/forum/showthread.php?t=19641&highlight=Application

Example:

foo
foofoofoo
foofoofoofoo
error and much more
here is the description
foofoofoo
foofoofoofoo

regular expression:

/^error.*\n.*$/m

With this regular expression you will get both lines. But today it is not possible in zabbix



 Comments   
Comment by richlv [ 2011 Sep 14 ]

most likely a dupe of ZBXNEXT-968 - if not, please reopen

Comment by Oleksii Zagorskyi [ 2021 Apr 05 ]

This is not duplicate, reopening it, as time to time people ask for that.





[ZBXNEXT-596] Integrate typeperf results into windows agent and web interface Created: 2010 Dec 31  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Mike Depot Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: perf_counter
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please consider the following feature request involving making better use of typeperf information on windows agents :

1) In the Windows agent, build in the ability to collect the results of "typeperf -qx" and pass that list back to the Zabbix server.

2) On the Zabbix server, in the web interface under a particular host, allow the admin to view this typeperf list.

That alone would centralize this very useful information so people don't have to check typeperf on individual machines prior to adding perf_counter Items.

Once that is in place, it can be taken a step further :

3) While viewing the list of typeperf results for a host in the web GUI, allow a number of individual items to be checked off, and then a button could be clicked to automatically add perf_counter Items for each checked off typeperf line. Default values could be used for many of the fields, which could then be individually edited later if desired.

This would allow fast creation of multiple perf_counter items, and since they would be based on typeperf collected right from the target machine, they should all work properly on that Windows host. It would also eliminate the manual entry of all those long string definitions and reduce the chance of typos.

Once this functionality is is place, it would be useful to be able to create a template based on that host. ( see ZBXNEXT-595 ).

For future thought: Once the concept of an agent collecting a list of available monitor targets and passing that list back to the Zabbix server for selection is in place, something similar could be done for other monitoring targets such as "netstat -l" (listening ports), available SNMP monitors, etc. These would also be applicable to Linux hosts.



 Comments   
Comment by richlv [ 2011 Jan 02 ]

"Once the concept of an agent collecting a list of available monitor targets and passing that list back to the Zabbix server for selection is in place"

actually, the concept has already been developed
see http://www.zabbix.com/documentation/2.0/manual/config/lldiscovery for more information

it should be already possible to write custom checks that return json of typeperf output (see the end of that documentation page)

so this feature request could be about windows agent supporting performance counters as discoverable objects (it's pretty much already supported for snmp)





[ZBXNEXT-638] AMQP support (alternative from zabbix_agentd) Created: 2011 Jan 27  Updated: 2019 Sep 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 1.8.4, 1.9.1 (alpha)
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: João Figueiredo Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any



 Description   

AMQP is proving itself as a reliable and efficient messaging system for near real time communication.
If subscribing to an AMQP broker was allowed,
Zabbix would gain an alternative metrics collection method.

Maybe something like http://pecl.php.net/package/amqp could be used.

As explained in
http://www.zabbix.com/forum/showthread.php?p=79272



 Comments   
Comment by richlv [ 2011 Jan 27 ]

php most likely not, as server is written in c.

more background info :

"Advanced Message Queuing Protocol"
Message broker: a server to which AMQ clients connect using the AMQ protocol.

see http://en.wikipedia.org/wiki/AMQP

although more aimed at general messaging, might be interesting.

one problem is fracturing of the community around it :
"On March 30, 2010, iMatix CEO Pieter Hintjens announced that iMatix (the original designer of AMQP) will be stepping out of the AMQP workgroup and will not be supporting AMQP/1.0 (if it ever emerges) in favor of significantly simpler and faster ØMQ."

thus it would probably be best to wait out all this

Comment by nelsonab [ 2011 Nov 18 ]

I'm going to take a crack at developing a patch for this.

I've been tasked with learning and getting up to speed with Red Hat's MRG product which uses QPID which is the Apache version of AMQP. The biggest challenge so far is that there are no C libraries for AMQP. Rabbit-MQ has one but from what I can tell it's not considered production stable and I wonder how actively developed it is. The best libraries are written in C+, and Java. Fortunately there is a way to interface C with C+, and that is the route I think I will take.

Looking long term adding AMQP support is a "no brainer" in my view. Fedora 16 has recently introduced Matahari, which is a systems management tool which uses AMQP, I would not be surprised if Matahari makes it way into RHEL 7. If that happens I speculate that RHN Satellite support would not be far behind. If Zabbix was able to tap this as a means for monitoring that would put it ahead of the competition. Also with AMQP it may be possible to introduce a framework to allow the Web Frontend to talk to the agent directly and query all of the available items.

In addition to the above, many "Cloud" offerings are built on Messaging systems such as AMQP. If Zabbix had AMQP support this would further give it a leg up on competitors by truly being a "Cloud Aware" monitoring system.

Comment by João Figueiredo [ 2011 Nov 18 ]

That would be great Nelson,
I do think there's future and interest in such a functionality.

Comment by Raymond Kuiper [ 2014 May 17 ]

Please have a look here ZBXNEXT-2308
I think MQTT might be a better way to go.

Comment by Vitaly Zhuravlev [ 2018 Apr 26 ]

This idea has big potential now (Zabbix 4.0+).

With Zabbix 4.0 and its HTTP agent ready, AMQP consumer (as item type) could be next built-in collector.

  1. Provide basic configuration parameters to connect to queue, exchange in Item configuration
  2. Connect from Zabbix server/proxy to rabbitmq/ activemq or other popular message brokers
  3. Collect messages with metrics described in JSON/ XML
  4. Use Dependent items in Zabbix if there are bunch of metrics in single message to split them
  5. Use JSON path / XPath preprocessing in Zabbix to get metrics values from the original message.
  6. ....
  7. Profit




[ZBXNEXT-878] encoding conversion support for other item types Created: 2010 Sep 27  Updated: 2012 Oct 21

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: thierry regis Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: utf8, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 1.8.3 , posgres 8.4


Attachments: JPEG File UTF8 GUI WITH LATIN DB.jpg    

 Description   

Hi,

We are experiencing a significant problem on the zabbix server side.

We are working with a postgres 8.4 database.
the database is enoded in UTF8.

On the server logs , we get some : 31287:20100927:144440.030 [Z3005] Query failed: [0] PGRES_FATAL_ERROR:ERROR: invalid byte sequence for encoding "UTF8": 0x82

this error refer to metrics send in non UTF8 format.

this metrics are send from windows agent 1.4 , but also from windows agent 1.8.3 ( from agentd or zabbix_sender)

at this time we d'ont know how to solve this problem.

the cmd.exe are in chcp 850 , we have tried to encode the cmd in chcp 65001 before sending data , it works but will be heavy to deploy.

Does the agent et the zabbix_sender are not meant to encode data in UTF8.

have you any advices on this point?

il will push up the results of our tests in this issues , but any welp would be really usefull.

thanks in advance



 Comments   
Comment by richlv [ 2010 Sep 27 ]

what items cause these errors ?
if it's eventlog or log items, did you try setting item encoding as per zabbix manual ?

Comment by thierry regis [ 2010 Sep 27 ]

hi,

evrything kind of items can cause this problems.

  • Zabbix senders (result from sql queries)
  • or stdout of the userparameters.

What about items encoding ? haven't see this .

Comment by Oleksii Zagorskyi [ 2010 Sep 27 ]

Is no Zabbix problem. Is windows related problem, and it can be solved by introducing new future named for example "Support custom encoding(Code Page identifier) for UserParameter" same as for log[] key. IMHO.

Read very good topic in Russian if you can:
http://www.zabbix.com/forum/showthread.php?t=14879
additionally:
http://www.zabbix.com/forum/showthread.php?t=18552

Comment by Aleksandrs Saveljevs [ 2010 Oct 06 ]

Related issue: ZBX-3081.

Comment by thierry regis [ 2010 Oct 06 ]

I ,

regarding to this issue, we stil have this huge problem.

In order to pass througt the metrics from windows which don't comme up in zabbix .

We have migrate the database in LATIN. All metrics are recolted successfully now , but we are in a real complex situation.

Zabbix server is running in UTF8 , zabbix GUI is running in UTF8, and the database is in LATIN.

It is therefore impossible to simply copy a template wiwh contains accented character (éàô...) etc ... as the GUI responds that character are unrecognized.

We definitively need a support on this issue as it might be really difficult to reverse this situation.

as anyone a clue on this ?

do we have to try to play on the GUI encoding ? or try other DB encoding.

May be we have to go back to full UTF8 ( DB as well) and try to filter data containing accented character in front of the zabbix server.

We thought as well about get the cmd.exe convert in chcp 65001 but it won't be that easy to implement and won't be without any risk.

We néed to solve this situation either for zabbix agent, than to zabbix_sender , so the user'parameters solution does not cover this fiels.

Thanks in advance for any Help.

Comment by thierry regis [ 2010 Oct 06 ]

When copying template containing accented caracters we get errors like that.

Comment by thierry regis [ 2010 Oct 06 ]

ust another question.
is there a simple way to configure all the zabbix server in iso-8859-1 to work with a LATIN database.
I found it in the fr_fr.inc.php, change it to : 'S_HTML_CHARSET'=> 'iso-8859-1',
i modify it in the php.ini and the HTTPD.conf to set it as well as default_charset = ISO-8859-1
assuming that we are working with a postgres 8.3.4 version it seems that it is not suffiscient.
is there somewhere else that i need to parameter this.
We would like to go back to a full ISO-8859-1 mode, before resolving the UTF8 problem.
thanks in advance.





[ZBXNEXT-501] system.cpu.util[] on Windows should support types other than "system" Created: 2010 Aug 30  Updated: 2022 Feb 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: item, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently, system.cpu.util[] on Windows supports only type "system", like so: "system.cpu.util[,system,avg15]".

First of all, this is incorrect, because system time is time that an operating system spends for its own purposes.

Anyway, it would be nice to support other types like "user", "idle", "iowait", if possible.



 Comments   
Comment by Kim Jongkwon [ 2022 Feb 17 ]

The current system.cpu.util[] in Windows - from Performance counter: "Processor(_Total)% Processor Time"

In Windows, Performance counters are not provided like Linux platforms. Windows has a different concept from CPU resources provided by Linux OS. This feature request needs discussion about which is the "what is correct values" for Windows. but I think there is probably no correct answer for this right now.





[ZBXNEXT-3440] Extend item proc.cpu.util with modes for 'min' and 'max' per period Created: 2016 Sep 15  Updated: 2016 Sep 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.4, 3.2.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: cpu, items, modes, newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

ZBXNEXT-494 introduced a new Zabbix agent item function proc.cpu.util[*] - Process CPU utilization percentage.
The current implementation offers data gathering modes avg1 (default), avg5 and avg15.

How about extending the item function by also supporting modes min1, min5 and min15 resp. max1, max5 and max15?



 Comments   
Comment by Ronald Hoppe [ 2016 Sep 15 ]

Average mode doesn't Show the real Peaks.





[ZBXNEXT-3280] Zabbix protocol should prevent unnecessary data retransmission and data loss at the same time Created: 2016 May 18  Updated: 2018 May 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.2.0alpha1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: loss, network, performance, tcp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-14341 Passively collected items may get man... Closed

 Description   

This issue covers low-connection-number-high-data-throughput cases (namely sender -> server/proxy, active agent -> server/proxy, proxy -> server communications). Related issue for high-connection-number-low-data-throughput cases is ZBXNEXT-3214.

Initially both agent and proxy were designed to send same data multiple times until they would get a reply that data reached destination and was processed. Then ZBX-2285 changed their behaviour to the opposite. They assumed that if data was written to socket server will eventually receive and process this data. Then (I couldn't find exact point in time) proxy's behaviour was switched back to prevent data loss and now ZBX-10176 effectively requests the do the same for agent.

Neither of these approaches is ideal. When client fully relies on TCP implementation data may be lost if server hits timeout when reading data from TCP buffer or even earlier if something bad happens on TCP implementation level. When client always waits for reply from server there is a possibility of hitting timeout on client side if server is busy. This leads to data retransmission by client and reprocessing by server which makes it really complicated for Zabbix to recover from network downtimes.

Ideally client should send a short request message and wait for server to respond before sending data itself. Server response should contain an estimate of how much data it will be able to process. Client should send the desired amount of data and wait for server to confirm that data was successfully received and processed.

This involves changes to Zabbix protocols. Since daemons will be spending more time communicating (or waiting for replies) timeouts will need some adjustment. This will negatively affect performance, so it's worth implementing a sort of connection manager at the same time.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 May 19 ]

Relatively easy solution for 3.0 and later (thanks to (85) of ZBXNEXT-1263) is to check sock->peer in process_trap() and act accordingly. If sock->peer is "unknown IP" then client had already disconnected by the time server managed to accept connection. In such case it makes no sense to:

  • process sender data because unknown IP will not pass security check;
  • process proxy data because proxy is not going to get server response and will send same data once more;
  • send back proxy and active agent configuration data, obviously;
  • respond to frontend if it's not listening;
  • ...

It makes sense to process active agent's history to prevent possible data loss because we can't be sure about agent version and whether it will resend data or no.

Comment by Glebs Ivanovskis (Inactive) [ 2017 Aug 07 ]

Actually, active agent does not change it's behaviour in case of no response from server, after it times out it keeps creating new connections and sending data. In case of overloaded trappers this may lead to anything from complete loss of data stored in agent's buffer (if trappers die before accepting agents connections) to parallel and potentially out-of-order processing of data by multiple trappers (if trappers manage to accept connections sooner or later). The latter is a root cause of ZBX-12186.





[ZBXNEXT-2998] New agent item to identify busy process(es) Created: 2015 Oct 02  Updated: 2015 Oct 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.10
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: cpu, newitemkey, proc.num
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Keeping per process CPU utilization in memory of the statistics collector should actually allow to identify whether a process consumes significant CPU time.

This request may sound similar to ZBXNEXT-88, ZBXNEXT-164 and ZBXNEXT-494.
But this it is primarily not about getting the top <n> busiest processes nor the aggregated utilization of a defined process (group).

The aim is to identify the one or several processes that by itself resp. by them selves consume more than <n> percent CPU time over a period.

Maybe something similar to this:
proc.num[<name>,<user>,<state>,<cmdline>,<cpumin>]
cpumin - each process consumes more than <limit> percent CPU (core) time for one minute.

Of course it could also become an enabler of ZBXNEXT-88, ZBXNEXT-164:
proc.cpu.limit[<limit>,<format>]
format - pid (return list of process IDs), name (return list of process names), full (cputime pid user cmdline)






[ZBXNEXT-2855] IPMI chassis/BMC monitoring Created: 2015 Jun 24  Updated: 2018 Oct 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: kylix.tan Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: ipmi, macros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

for Server's hardware monitoring, mostly by IPMI. the following feature missing from IPMI Agent just make it not optable.
1. no autodiscovery, external check scripts is needed to discovery sensor
2. macro is not fully supported, such as IPMI.IP, IPMI.USER, IPMI.PASS. In 3.0, some improvement appeared, such as sensor and unit support for LLD macro, that is very welcome
3. NOt fully support other IPMI item beyond "sensor", such as chassis,bmc

Zabbix is an amazing monitoring solution, hope you could make it better



 Comments   
Comment by Stefan [ 2015 Jun 24 ]

its similiar to ZBXNEXT-1799

Comment by Aleksandrs Saveljevs [ 2015 Jun 25 ]

IPMI low-level discovery is being tracked at ZBXNEXT-1423.

Comment by Aleksandrs Saveljevs [ 2015 Jun 25 ]

Request for {IPMI.IP} is being tracked at ZBXNEXT-1154. Macros {IPMI.USER} and {IPMI.PASS} are also there in the comments.

Comment by Aleksandrs Saveljevs [ 2015 Jun 25 ]

So it seems like the only thing that remains in this issue is support for monitoring chassis and BMC.

Comment by Branden [ 2018 Oct 19 ]

Up-vote for Chassis support as it would be great to have overall health status.

 

 





[ZBXNEXT-1481] Provide Agent binaries for Solaris 10 amd64 and Solaris 11 sparc Created: 2012 Oct 22  Updated: 2020 Mar 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Robert Parker Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: agent, binaries
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

At http://www.zabbix.com/download.php agent binaries should be provided for Solaris 10 on the amd64 architecuture and Solaris 11 on the sparc architecture.

Currently we are able to run the Solaris 10 sparc binary on Solaris 11 sparc without noticing any issues so far, but a specific binary would seem safer.

Meanwhile the Solaris 11 amd64 binary appears to crash on Solaris 10 amd64, so this is of more concern. If needed I can provide the log output shortly before it crashes, but it would seem likely a binary compiled against Solaris 10 amd64 may not crash in this manner.



 Comments   
Comment by Robert Parker [ 2012 Dec 18 ]

With the 2.0.4 release there are agents for Solaris 10 on both sparc and amd64 architectures, which is great to see.

So now the title of this issue should really be 'Provide Agent binaries for Solaris 11 sparc', and the description edited as such; I can't see a way to make such an edit.





[ZBXNEXT-540] ZBX_NOTSUPPORTED from external scripts Created: 2010 Oct 21  Updated: 2018 Feb 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marcel Hecko Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: documentation, exitcodes, externalchecks, notsupported
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-1897 Return unknown (unsupported) value by... Closed
is duplicated by ZBXNEXT-2110 Empty string is valid return value Closed

 Description   

The zabbix agent native interface provides information whether the key is being supported or not outputting ZBX_NOTSUPOPRTED string to the zabbix server, which then reacts to the information and temporarily disables the key check for that particular host.

This funcionality does not seem to be implemented for external checks - keys calling external scripts in externalscripts directory. This is a very nice to have feature. We do have Oracle, Weblogic and LUSTRE fs monitoring implemented in Zabbix, however we would really appreciate to have this feature enabled in zabbix server.



 Comments   
Comment by Aleksandrs Saveljevs [ 2010 Oct 22 ]

As a workaround, you can make the script output nothing - in that case the external check will be treated as not supported.

Comment by Marcel Hecko [ 2010 Oct 22 ]

Great indeed! There is a secion in Zabbix documentation thought, that script should NEVER output nothing. This might be changed as this is a very important information In my case this solves the issue, however ZBX_UNSUPPORTED output recognition would be a benefit in zabbix monitoring infrastructure consistency. Thanks for a great work!

Comment by Alexei Vladishev [ 2012 Oct 11 ]

I believe it should be documented and closed.

Comment by richlv [ 2014 Mar 13 ]

for the record, external checks and userparams now may return empty values so this workaround probably will not help anymore

Comment by richlv [ 2015 Mar 13 ]

a patch suggestion at ZBXNEXT-2110

Comment by Filipp Sudanov (Inactive) [ 2015 Mar 13 ]

Similar for user parameters: ZBXNEXT-152

Comment by Glebs Ivanovskis (Inactive) [ 2017 Nov 09 ]

Exit code check was implemented in ZBXNEXT-1380, but was then reverted in ZBX-12594.

This piece of information may be of some interest for watchers.





[ZBXNEXT-531] Items system.swap.in[,count] and system.swap.out[,count] works on FreeBSD Created: 2010 Oct 13  Updated: 2017 Jan 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.2, 1.8.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Simon Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

FreeBSD 6.2 -> 8.1



 Description   

It would be great if these items works on FreeBSD systems.
Information is readily available :
sysctl -a | grep vm.stats.vm.v_swapin
sysctl -a | grep vm.stats.vm.v_swapout

Best regards



 Comments   
Comment by Marcin Gryszkalis [ 2017 Jan 19 ]

Would be solved by ZBXNEXT-773





[ZBXNEXT-2094] new item key: per-process I/O utilization Created: 2013 Dec 31  Updated: 2013 Dec 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: diskio, newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux >= 2.6.20



 Description   

a new item, supported by agent, is desired - per-process I/O utilization
suggested key - proc.io[<name>,<user>,<cmdline>] (and maybe other params)

text borrowed from ZBXNEXT-494

See:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2
http://guichaz.free.fr/iotop/

Of course it would be nice to have this option available for any supported platform.






[ZBXNEXT-1842] Indicator/Event if log monitoring exceeds the lines per second threshold Created: 2013 Jul 28  Updated: 2013 Jul 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.6
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: events, logmonitoring, reliability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice to have some kind of (internal) event or at least an undisruptive visual indication if a log[*] or logrt[*] item exceeds MaxLinesPerSecond (maybe considering both s_count and p_count separately)

To me MaxLinesPerSecond is a very important feature and should be configured wisely for every log item individually.
The initial setting is based on best knowledge in most cases. But for assuring to get the right setting it's not sufficient to rely on recognizing delayed triggers or actions.






[ZBXNEXT-1276] Zabbix administration script for agent (active) Created: 2012 Jun 15  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexandru Nica Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 2
Labels: activeagent, consistency, globalscripts
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

With zabbix 2.0 you introduced the ability for administration scripts to be run on the agent. As far as I understand zabbix trapper functionality is used for this feature, making it mandatory to have a direct connection to the agent port.

This is great for agents and server in the same network, but with agents behind a NAT, zabbix trapper cannot be used and there is no possibility to run scripts on the host on demand.
An extension of the feature would allow for a new type of script (Zabbix agent (active)). Running this type of script would queue the operation for the specified host and wait for the agent to connect to the server (active checks). When the agent connects to the server it reads the script queue and executes them.

There could be a configurable timeout. When running this type of script, a dialog would stay opened with a message like "Waiting for agent to pickup script command..." and change into an error if the server was not contacted by the agent in the specified timeout.



 Comments   
Comment by Alexei Vladishev [ 2012 Oct 14 ]

I think it's a duplicate issue.





[ZBXNEXT-1264] daemon communication encryption: kerberos Created: 2012 Jun 13  Updated: 2014 May 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Java gateway (J), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: authentication, encryption, kerberos
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

daemon communication encryption: kerberos

encryption should be supported by all components :

server (also node-node);
proxy
agent
zabbix_get
zabbix_sender
java proxy

psk - ZBXNEXT-17
ssl - ZBXNEXT-1263



 Comments   
Comment by Raymond Kuiper [ 2014 May 17 ]

Related: ZBXNEXT-2308





[ZBXNEXT-1009] Monitoring multiple application instances per server Created: 2011 Oct 24  Updated: 2014 Apr 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Ivan Pozdeev Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

http://www.zabbix.com/forum/showthread.php?t=23408

The basic idea is to use a single template with different parameters

This is possible though:
1) Parametrized templates
2) A separate host entry for each instance



 Comments   
Comment by Ivan Pozdeev [ 2012 Oct 20 ]

I see someone finally got their hands on this subject. Unfortunately, I no longer work for the company I planned this for. (but still consider this a big improvement)

Comment by Rob Brucks [ 2012 Dec 03 ]

This would be huge for DB monitoring.

It is possible to have multiple instances of just about any RDBMS (DB2, MySQL, MS SQL, Oracle, and PostgreSQL) running on the same server but on different ports (and we frequently do here).

To make things even more complicated all of them (except Oracle) allow you to have multiple DBs in a single instance, which makes trying to set up monitoring a difficult task since there is no one-to-many relationships for templates.

If there was a way to be able to have some type of hierarchy of templates for a single host with parameterized templates this would make it far easier to set up monitoring.

I bet there are other applications that could also benefit, such as Java.

Thanks,
Rob

Comment by Nicola V [ 2014 Feb 13 ]

Hi, we'd also love to see this feature implemented.

Comment by Little Martian [ 2014 Apr 16 ]

Indeed this is what i'm looking for but i suspect Zabbix was designed from the hardware point of view (the host is the tree root for all the definitions, that is why the item name is unique per host) and seems to be very good at that. What I need is a Zabbix designed from the application point of view, where the tree top level is the application and not the host.

This can be accomplished but I suspect the Zabbix DB arhitecture needs some changes and possibly a lot of changes in the server logic.





[ZBXNEXT-1101] Windows Agent User Parameter Powershell variant Created: 2012 Jan 31  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Pierre-Emmanuel Turcotte Assignee: Unassigned
Resolution: Unresolved Votes: 16
Labels: UserParameters, agent, items, usability, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 2003, Windows 2008,


Issue Links:
Duplicate
Sub-task
depends on ZBXNEXT-7021 Add new key for PowerShell commands s... Open

 Description   

Currently, it is possible to lauch powershell scripts using the User Parameter feature of a Windows agent. However, this works in a limited fashion since some parameters cannot be correctly passed through ??%systemroot%\system32\windowspowershell\v1.0\powershell.exe. For example, if we launch a script which requires a * somewhere in the parameters, it generates an error.

For example the user parameter would be:
UserParameter=oracle.10g.query[*],%systemroot%\system32\windowspowershell\v1.0\powershell.exe -nologo C:\Zabbix\Scripts\Zabbix_Oracle10gQuery.ps1 -TNS $1 -User $2 -Password $3 -IntegratedSecurity $4 -Query $5
The query parameter would be "SELECT COUNT FROM someTable". Although the script works fine directly called in a PS environment. It breaks when called through the CMD.EXE environment.

If we could have, say a User Parameter that uses the cmd.exe like we have now, AND a PSUser Parameter that directly invokes PS commands. This would be alot more powerful and would be much more geared towards the futur Windows environments.

Thank you alot for you time and all your efforts.



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Feb 01 ]

Additional benefit could be in improvement of non-ASCII returned data.
Quote from http://www.zabbix.com/forum/showpost.php?p=69032&postcount=12 :
"Короче зацепило все же побороть проблему, вплоть до смены интерпретатора cmd на .... гммм... нет вариантов"

It's forum topic (in Russian) http://www.zabbix.com/forum/showthread.php?t=14879

Comment by Pierre-Emmanuel Turcotte [ 2012 Feb 02 ]

OK... I found a workaround. Not really a workaround, it is how I should've done it in the first place.

If I pass the SQL statement to powershell from cmd.exe inside single quotes, it works. And if I pass the single quoted statement to the zabbix agent inside double quotes, everything seems to work fine.

I am happy now. But I still beleive an independant PSUser Parameter would be awesome instead of jumping through hoops with the User Parameter to pass powershell commands would be awesome.

The finale configuration would be:

In the zabbix agent config file:
UserParameter=oracle.10g.query[*],%systemroot%\system32\windowspowershell\v1.0\powershell.exe -nologo C:\Zabbix\Scripts\Zabbix_Oracle10gQuery.ps1 -TNS $1 -User $2 -Password $3 -IntegratedSecurity $4 -Query $5

And the passed powershell command (argument $5) would be

"'SELECT COUNT FROM someTable'"

Again, single quotes inside double quotes seem to de the trick.

Comment by richlv [ 2013 Oct 07 ]

that sounds like basic rules about proper quoting in shells, seems to me that there's nothing to change here

Comment by Mārcis Lielturks [ 2015 Sep 09 ]

I would say that having Zabbix item that runs PS commands would be necessary ("system.run.ps[], system.psrun[] or whatever). Maybe CMD is not going away, but it is very inconvenient to use items like

system.run[powershell.exe -nologo ........ -command "somecommand where I have to double-escape quotes"


and PowerShell doesn't seem to be a temporary thing so adding item for running PS commands shouldn't hurt. Just assumption, but probably it would also speed up item polling, if agent wouldn't have to launch CMD just to launch PS from it.

Comment by Robin Hermann [ 2018 Jul 24 ]

any news?

please implement a function like system.run for powershell example = "system.run.ps"

It is really inefficient with "system.run[powershell.exe "command"]" (Zabbix Agent -> CMD -> PowerShell -> Command) and difficult because of the special charakters!





[ZBXNEXT-6466] sudo for log item key Created: 2021 Jan 21  Updated: 2023 Mar 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: 4.0.27, 5.0.7, 5.2.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aigars Kadikis Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

By default, Zabbix agent under Linux environment runs under user 'zabbix'.

Most of the times when we need to monitor a log file, we need to add extra permission.

For example, to monitor 'oracle' related logs, we need to do is to assign user 'zabbix' to group oracle. This approach is relatively convenient.

But sometimes a log is not produced by a dedicated application user, for example, /var/log/messages, /var/log/syslog

Currently, one way is to have 'AllowRoot=1' in agent which is too much. We can whitelist and blacklist some agent keys starting with 5.0.

To go out from problem we can assign a custom user group for the file. chown zabbix:root /var/log/messages

Now it's also required to install a custom rule for log rotation

 

It would be nice to have an option (an override) to fork the log item key under 'sudo' environment.






[ZBXNEXT-6597] opnsense - Error ACTIVE CHECKS on port 10051 Created: 2021 Apr 01  Updated: 2023 May 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.9
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: maxquarta Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

1) When i Start the zabbix agent appear this Error in Log File

active check configuration update from [ip-server-zabbix:10051] started to fail (cannot connect to [[ip-server-zabbix]:10051]: [4] Interrupted system call)

2) Telnet ip-server-zabbix 10051 it's ok , if i try to execute telnet command on ssh console

3) my configuration file /usr/local/etc/zabbix_agentd.conf

#

  1. Automatically generated configuration.
  2. Do not edit this file manually.
                        1. GENERAL PARAMETERS #################

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogType=file
LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=100
DebugLevel=3

SourceIP=172.16.1.5

EnableRemoteCommands=0
LogRemoteCommands=1

Server=ip-server-zabbix
ListenPort=10050
ListenIP=0.0.0.0

ServerActive=ip-server-zabbix

Hostname=1863109c-5f32-4bf8-8cc7-5653ba1958db
HostMetadata=172.16.1.5_linux

StartAgents=3
RefreshActiveChecks=120
BufferSend=5
BufferSize=100
MaxLinesPerSecond=100

                        1. ADVANCED PARAMETERS #################

Timeout=10
AllowRoot=0
User=zabbix
Include=/usr/local/etc/zabbix_agentd.conf.d

              1. USER-DEFINED MONITORED PARAMETERS #######
                4) this path /usr/local/etc/zabbix_agentd.conf.d is empty


 Comments   
Comment by maxquarta [ 2021 Apr 01 ]

in another opnsense device ,in my Environment, i have installed and configured the same zabbix-agent 5.0.9 version and i don't have any problem

Comment by a7lan [ 2021 May 21 ]

Sorry, wrong ticket





[ZBXNEXT-2523] Root permissions are required for item system.hw.chassis Created: 2014 Oct 19  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aleksey Chudov Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently root permissions are required for system.hw.chassis because the value is acquired by reading /dev/mem. It is very uncommon to run Zabbix Agent as root. So item system.hw.chassis is quite useless.

But the same information can be read from sysfs on modern Linux systems.



 Comments   
Comment by Aleksey Chudov [ 2014 Oct 19 ]

Sample output from my test server:

for file in /sys/devices/virtual/dmi/id/*; do printf "%-20s %s\n" "${file##*/}:" "$(<${file})"; done

bios_date:           07/11/2013
bios_vendor:         Dell Inc.
bios_version:        2.5.1
board_asset_tag:     
board_name:          1AM3CP
board_serial:        ..CN138415642GH0.
board_vendor:        Dell Inc.
board_version:       A02
chassis_asset_tag:   
chassis_serial:      D87C1Z1
chassis_type:        17
chassis_vendor:      Dell Inc.
chassis_version:     
modalias:            dmi:bvnDellInc.:bvr2.5.1:bd07/11/2013:svnDellInc.:pnPowerEdgeT110II:pvr:rvnDellInc.:rn1AM3CP:rvrA01:cvnDellInc.:ct17:cvr:
power:               
product_name:        PowerEdge T110 II
product_serial:      D89C5Z1
product_uuid:        4C4D4544-0038-3940-8044-C4C04F355A32
product_version:     
subsystem:           
sys_vendor:          Dell Inc.
uevent:              MODALIAS=dmi:bvnDellInc.:bvr2.5.1:bd07/11/2013:svnDellInc.:pnPowerEdgeT110II:pvr:rvnDellInc.:rn1AM3CP:rvrA01:cvnDellInc.:ct17:cvr:




[ZBXNEXT-2460] Container monitoring (docker, lxc) Created: 2014 Sep 16  Updated: 2018 Jun 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Jan Garaj Assignee: Unassigned
Resolution: Unresolved Votes: 23
Labels: container, docker, lxc
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Please provide support of container monitoring (not just docker, but some general solution) out of the box. IMHO containers can be handled like VM:

  • discovery of containers
  • CPU metrics: CPU user, CPU system
  • MEM metrics: ...
  • NET metrics: ...
  • IOP metrics: ....

Some metrics are available only if kernel is configured properly, otherwise metric can be unsupported. Also some of metric (network) can need root permissions - see resource 1.

Resources:
1.) gathering container metrics
http://blog.docker.com/2013/10/gathering-lxc-docker-containers-metrics/
2.) zabbix module docker (alpha release)
https://github.com/jangaraj/Zabbix-Docker-Monitoring
3.) google go implementation of container monitoring
https://github.com/google/cadvisor



 Comments   
Comment by Marc [ 2014 Sep 17 ]

ZBXNEXT-1947 asks for general virtual machine monitoring via libvirt.

Comment by Jan Garaj [ 2014 Sep 17 ]

Yes, ZBXNEXT-1947 seems to be the best solution. I voted for ZBXNEXT-1947.
I've found libvirt show stopper:

  • libvirt doesn't support docker by default, because docker doesn't use LXC, but libcontainer as the default execution environment from 0.9 - that's the reason, why I can't see my current containers
    http://www.infoq.com/news/2014/03/docker_0_9
Comment by Marc [ 2014 Sep 17 ]

So it's this feature request is about adding libcontainer API support and has nothing to do with is not related to LXC?

Comment by Jan Garaj [ 2014 Sep 17 ]

If libvirt supports libcontainer, then can be also problem with some metrics. You can measure CPU user and CPU system time per docker container. But I didn't find these metrics in libvirt documentation - only CPU time - http://www.libvirt.org/html/libvirt-libvirt.html#virDomainInfo.

IMHO libvirt can help with some tasks (e.g. discovery), but it doesn't cover all useful metrics - it's only general management tool.

This problem needs some deep investigation, but IMHO libvirt is not useful solution for Docker container monitoring at the moment.

Comment by Jan Garaj [ 2014 Sep 17 ]

Definitely this feature request is not about libcontainer, because it will be docker only solution. But it should cover container monitoring generally. It means docker, lxc, ...

For example CPU metrics are available for lxc in /sys/fs/cgroup/cpuacct/lxc/, for docker /sys/fs/cgroup/cpuacct/docker/. And they have the same format. This feature will implement processing of these metrics - it's similar as current CPU monitoring, but only system and user CPU time is available for container.

Comment by Marc [ 2014 Sep 17 ]

Well, when thinking about some other container based virtualization technology like AIX WPars, BSD jails, OpenVZ containers or Solaris zones which do not make any use of control groups, then I can hardly imagine how to commonly support them all - without implementing respective support individually, of course.

Comment by Jan Garaj [ 2014 Sep 18 ]

You're right. So I limit my request on container based on cgroups at least - they are very popular nowadays.





[ZBXNEXT-4605] Allow active agent to keep the data that could not be sent Created: 2018 Jun 25  Updated: 2018 Jul 12

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Kirill Varnakov Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: agent, metrics
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File zabbix_buffer.png    

 Description   

Hi. Zabbix agent has two perfect options: BufferSize and BufferSend, but it doesn't have another one. It must have options for buffer metrics, when it loss connection to server or proxy, for example BufferLostConnectionSize=65535. Can you add this function to agent?



 Comments   
Comment by Vjaceslavs Bogdanovs [ 2018 Jun 25 ]

Could you please explain the main difference between BufferSize and proposed BufferLostConnectionSize?

Comment by Kirill Varnakov [ 2018 Jun 27 ]

May be it is a bug... My settings for active agents:

BufferSend=5

BufferSize=65535

My host has 147 items and sends it every minute. I set BufferSize=65535 and thought, that if agent losts connection to server, it saves metrics for 65535/147=445 minutes in memory and after connection restored, it send metrics to server. But it doesn't work like I think.

I set my firewall for block packets to server at 11:23 and deleted this rule at 12:05. Please see screeshot, what happens.

Comment by Glebs Ivanovskis [ 2018 Jun 28 ]

Quoting documentation:

Parameter Mandatory Range Default Description
BufferSend no 1-3600 5 Do not keep data longer than N seconds in buffer.

With BufferSend=5 I wouldn't expect to get graphs without gaps...

Comment by Kirill Varnakov [ 2018 Jun 28 ]

May be add to this description: Even if lost connection to server... And more interesting will be if we would have BufferLostConnectionSize. How do you think?

Comment by Glebs Ivanovskis [ 2018 Jun 28 ]

I think it would be more interesting if people could read what's already there in documentation.

Even if lost connection to server...

...and what if not lost? Zabbix agent does not keep connection alive, there is actually no way to tell if connection was lost or not.

Comment by Kirill Varnakov [ 2018 Jun 28 ]

I think it would be more interesting if people could read from beginning of request. Ahaha )

Comment by Kirill Varnakov [ 2018 Jul 06 ]

Simply I want, that active agent can buffers metrics for a long time, if it loses connection to server and sends metrics constantly, if all good. But now, it is impossible. Why?

Comment by dimir [ 2018 Jul 06 ]

After discussion with vjaceslavs I propose to add option BufferKeep=<seconds> that would allow keeping unsent buffer for configured time.

Comment by Vjaceslavs Bogdanovs [ 2018 Jul 06 ]

We will have to incease max value of BufferSize as 64K is not sufficient to keep data when connection is lost.

Comment by Kirill Varnakov [ 2018 Jul 07 ]

Many thanks. Wait.





[ZBXNEXT-2486] Support for monitoring LVM thin pool usage Created: 2014 Sep 29  Updated: 2017 Feb 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Orion Poplawski Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux



 Description   

When using LVM thin provisioning it is important to keep track of the usage of the LVM thin pool, e.g.:

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
tpool vg_root twi-a-tz-- 200.00g 76.75

There does not appear to be a default way to do this in zabbix.



 Comments   
Comment by Orion Poplawski [ 2014 Sep 29 ]

This may be hard/impossible as it appears to require root privileges.

Comment by Orion Poplawski [ 2014 Sep 30 ]

Working around it for now with:

UserParameter=vfs.dev.lvm[*],/usr/bin/sudo -u root /sbin/lvs --noheadings -o $2 $1

Comment by Christian Affolter [ 2017 Feb 05 ]

Here are some user parameters and the related sudoers configuration, which might help for creating a template:





[ZBXNEXT-2483] Option to execute Web scenarios by Zabbix agent Created: 2014 Sep 27  Updated: 2020 Oct 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.6, 4.0.14
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: agent, newitemkey, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3447 Ability to run webcheck from agents i... Closed
is duplicated by ZBXNEXT-3513 Web-checks on agent side Closed
is duplicated by ZBX-9405 web checks should be done from zabbix... Closed
Sub-task

 Description   

Due to the last couple of improvements in this area Web scenarios are becoming a unique selling point.
They enable End-to-End monitoring for almost any web based application with great flexibility and maintainability.

Recently I was asked whether Web scenarios might even be executed by hosts via Zabbix agent.
The intention was to check from front end web proxy hosts whether all redundant paths from there to application servers can be successfully used.

My answer to that question was "No", but one could put a dedicated Zabbix proxy on such DMZ hosts, which then can do web scenario checks.
While saying that I realize that this was actually not an ideal solution from several points of view. Especially when having in mind that there are several hundreds of such web proxies for different applications.
Then I briefly thought of some iptables magic to add kind of forwarding per path....quite in-transparent and actually pretty poor too.
Finally I though, why actually not?

Now, how about extending Zabbix agent by an active check for processing Web scenarios? Or possibly even better extending by a separate HTTP poller process?
An option on Web scenario level could allow to select whether a scenario should be executed on Server/Proxy or Agent level.

I'm aware that this needs significant developing in either way and would possibly break the ambition to have items available on every OS supported by Zabbix agent.

Anyway, I can imagine that this functionality would be valuable for many users.

I was sure there is already a ticket that requests an option to select whether a Web scenario is executed on Server or Proxy level. There I wanted to add this request actually - but I haven't found one



 Comments   
Comment by Marc [ 2014 Sep 27 ]

Implementing this as a passive check might allow to keep the work flow at server/proxy level and to avoid the transfer/storage of all the necessary information to/by the agent.
Although the additional connection might potentially cause inaccurate metrics and create new issues like conflicts regarding timeout settings.

Comment by richlv [ 2014 Sep 28 ]

this might be a fairly large development, as all the webscenario logic currently is in the proxy/server modules.

it might move towards merging agent and proxy

Comment by Marc [ 2014 Sep 28 ]

The very same concern lead me to think about a passive check implementation.
I'm not sure about the "right" solution. But I think the use case for such kind of functionality (however implemented) exists and is not a niche.

I highly appreciate the small footprint and dependencies of the agent. Even when a kind of "simple" configuration cache (think of ZBX-2112) or separate processes for active checks (think of ZBXNEXT-691) could be quite valuable, the agent should be kept as independent and small as possible.

Instead of extending the existing agent a new dedicated agent for that purpose could be another way too.

Anyway, for now it's just a functional request. Even though suggested by the ticket summary, it has not necessarily be implemented in the existing agent.

Comment by Oleksii Zagorskyi [ 2014 Sep 28 ]

ZBXNEXT-1816 is a bit related





[ZBXNEXT-2378] Agent for Android devices Created: 2014 Jul 10  Updated: 2019 Sep 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: JOSE LUIS DE PRAT Assignee: Unassigned
Resolution: Unresolved Votes: 13
Labels: android, arm
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Android operating system (rooted or not)


Issue Links:
Sub-task
depends on ZBXNEXT-5315 Add Zabbix Agent support for Android ... Open

 Description   

We use several Android devices (TVBox or simmilar) for applications like Digital Signage, etc... small boxes like http://goo.gl/ma4AGb (or other) with good funciontality and performance.

We would like an Android active agent + proxy so we can monitor android device and also "ping" (with proxy) other devices on same small network. Device can be rooted or not.

Current low cost devices are unique to provide new services at very atractive HW cost; while we are using several R-Pi, Odroid, etc.. (with Linux) for different services, Zabbix proxy, etc.. we would like to expand it for for Android devices.



 Comments   
Comment by Erwin Averdijk [ 2016 Sep 21 ]

Did you a solution for monitoring android devices? I want also monitoring android devices.

Kind regards,
Erwin

Comment by richlv [ 2019 Jul 11 ]

This issue has an "Epic Link" for "Continuous delivery", but that cannot be viewed.

palivoda Discussed on deisgn day: there is no point to port existing agent, instead we had to create new compatible with existing Zabbix protocol. Epic link removed. 





[ZBXNEXT-2308] Use MQTT as transport protocol for agent/server/proxy communications Created: 2014 May 17  Updated: 2019 Feb 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 28
Labels: encryption, mq, transport
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2536 Use an other transport protocol Closed

 Description   

Currently, the transport used by zabbix to grab metric data from the agents is based on it's own protocol.
I propose Zabbix starts to work towards using MQTT as the underlying protocol for all agent based communications.

Using MQTT would bring the following improvements to Zabbix (amongst others):

  • (Optional) encryption of communications via TLS (ZBXNEXT-767 / ZBXNEXT-17)
  • Authentication of agents, servers and proxies (username & password/certificate/PSK based) (ZBXNEXT-767)
  • MQTT has a builtin keepalive system, with a "Last Will and Testament" (LWT or Will) option allowing active feedback to Zabbix when an agent or proxy (or even server) goes away from the MQ (host/link down)
  • Better performance compared to the older polling based protocol (I think it should be on par with active)
  • Allows for scaling up Zabbix in the future (It will be easier to horizontally scale out the server when using MQ subs, and dividing workload amongst servers)

This request is in many ways similar to ZBXNEXT-638 (AMQP support) although I think MQTT will be a better match since it has been designed with embedded devices (low memory footprint) using unreliable transport networks (QOS, LWT) in mind. The LWT function might prove extremely valuable, and the added built-in functionality of auth and encryption is something the community has been waiting for for a long time.



 Comments   
Comment by Jan-Piet Mens [ 2014 May 18 ]

Disclaimer: I'm a complete newbie to Zabbix.

I've been studying on how to best accomplish this, and I've stumbled over loadable modules in Zabbix Agent. The good news is I have a minimal prototype working which is able to populate item data (is that the correct terminology?) with values obtained through an MQTT subscription.

A number of questions arise, though:

  • It doesn't seem possible to update the list of keys provided by a loadable module at runtime. (https://support.zabbix.com/browse/ZBX-8222). This means a module needs to know all potential keys Zabbix will ask it for, which means items will have to be queries with parameters/types (e.g. mqtt[f,temperature] for a float temperature.
  • Is it possible to actually create the items a user sees on the dashboard via a loadable module?

Comments, ideas, etc. are very welcome!

Comment by Marc [ 2014 May 19 ]

Creating entities like items or configuration in general, is intended to be done via the Zabbix API

Comment by Raymond Kuiper [ 2014 May 19 ]

Hi JP,

In this case the loadable module for the agent will not be of much use.
Preferably, we need a module for the zabbix servers that will allow subscribing to items that are published on the MQTT bus. Possible, we can have the zabbix server publish a list of items for the agent on the bus as well.

This would replicate the behavior of the current active items. The agent will need to be patched to support MQTT as a protocol, the loadable module on that end is only useful for gathering data, not sending it.

I'm in the works of building a 'zabbix-agent-to-mqtt' bridge in bash to demonstrate the behavior and possibilities.
Once I've got the basics working, I'll put it on github.

HTH,

Raymond

Comment by Tatapoum [ 2014 May 20 ]

+1 The message queue approach seems to be very interesting.

Comment by Jan-Piet Mens [ 2014 May 21 ]

I notice while using the Zabbix API, that it takes around 15 seconds before I can update (using zabbix_sender protocol) a (trapper) item which I've just created with the API.

Is that to be expected?

BTW, this largish screenshot documents the progres: on the right runs a Python program which subscribes to MQTT messages, creates the Zabbix items (if they don't yet exist) and updates them.

http://i.imgur.com/26duJ23.jpg

Comment by richlv [ 2014 May 21 ]

that's configuration cache - but such discussions are offtopic here, i would suggest irc

Comment by Raymond Kuiper [ 2014 Sep 13 ]

As noted in the IRC channel during #ZabConf2014, here are some interesting links that show some of the advantages.

http://mosquitto.org/man/mosquitto-tls-7.html <-encryption
http://mosquitto.org/man/mosquitto-conf-5.html <- authentication
http://mosquitto.org/man/mqtt-7.html <- QoS (guaranteed delivery) and Last Will (active notification of disappeared agent)

Comment by Antonie Vonk [ 2015 Apr 10 ]

In addition to this request to use MQTT as transport between agent, proxy and server, I think it would also be very nice to have a Zabbix native MQTT publisher as media/action and Zabbix Native MQTT subscriber for the hosts and items.
At the moment this is only possibly by external scripting.

Especially because there are more and more network connected sensors and actuators that uses MQTT.

Comment by Ryan Armstrong [ 2015 Sep 24 ]

I love that idea for media types Antonie. I've raised ZBXNEXT-2981.

Comment by viktorkho [ 2016 May 05 ]

MQTT can replace zabbix-trapper/sender as well. Just ONE item type instead of 4.

Comment by Stefan [ 2017 Dec 22 ]

any news or plans for this?

Comment by Raymond Kuiper [ 2019 Feb 02 ]

Related to ZBXNEXT-3950

 





[ZBXNEXT-2098] Creation of loadable modules using script languages/subagent mechanism Created: 2014 Jan 06  Updated: 2019 Oct 30

Status: Elaborating
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Schoechlin Assignee: Vadim Ipatov
Resolution: Unresolved Votes: 7
Labels: externalchecks, loadablemodule
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team A
Sprint: Sprint 14, Sprint 15, Sprint 16, Sprint 17, Sprint 18, Sprint 19, Sprint 20, Sprint 21, Sprint 22, Sprint 23

 Description   

I really welcome the possibility to create loadable modules for zabbix - this might make solutions like https://github.com/digitalmediacenter/mysql_extend obsolete
(which reduces the overhead of fetching hundreds of measurement items by using shared memory segments).

Typically sysadmins are good in writing code with script languages - therefore it would be great to integrate new monitoring functionality by using script languages.
So why not supporting loadable modules which are written in script languages?

MySQL_Extend is a good example - a external check which invokes the mysql commandline hundred times needs a lot of resources at the database server and
provides some other difficulties. The implementation of mysql_extend was a bit too complex for the needed purpose, future enhancements of this tool like parsing the output of "SHOW ENGINE INNODB STATUS" is a real pain if your write this in c. If there is a possibility to write this in python is dramatically more easy

It might be great if zabbix would embed a python, ruby, perl or php interpreter to for implementation of custom modules.
But a old feature request (ZBXNEXT-701), which is closed by this request, requests the implementation of a "subagent protocol" which utilizes a forked process and communication by STDIN/STDOUT to allow a simple implementation of new monitoring mechanisms.

From my point of view this is smarter, because:

  • Agent, Proxy and Server do not have to be linked with a scripting language interpreter
  • There is no no need to care about which language is used by the module (Sheebang is enough)
  • The forked process does not influence the stability of proxy-, server- or agent-processes


 Comments   
Comment by richlv [ 2014 Jun 30 ]

not quite that, but ruby support implemented as a loadable module : https://github.com/BlueSkyDetector/mruby_module_for_zabbix_agent

Comment by Marc [ 2017 Jul 21 ]

In the sense of richlv's comment, these two are possibly worth to mention as well:

Comment by Marc Schoechlin [ 2017 Oct 27 ]

Its nice to have the mruby module - python might be my fist choice

I still think that the invocation of a subprocess would be a really good thing (i described the reasons above) and would boost the capabilities of zabbix dramatically.
I you need someone to discuss implementation ideas or the reasons this feature, please do not hesitate to contact me directly by mail.
(you get my mail address at https://github.com/scoopex)





[ZBXNEXT-2046] Add ASLR support in Zabbix agent on Windows Created: 2013 Nov 27  Updated: 2015 Feb 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleg Ivanivskyi Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: security
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows


Issue Links:
Duplicate

 Description   

zabbix_agentd.exe not using Microsoft's ASLR (Address space layout randomization) exploit mitigation technology.
Please add ASLR support for Windows.






[ZBXNEXT-2561] Zabbix :One host Multiple ip Created: 2014 Nov 04  Updated: 2020 Oct 23

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.12
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Emerson Fagundes Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux Red Hat 6.5, interface AWS , 1 vcpu, 1 GB men.


Attachments: PNG File MultipleIP_OneHost.png    

 Description   

Zabbix does not recognize multiple hosts configured in the agent interface to register the host screen, it points only to an ip and can not see the secondary.



 Comments   
Comment by richlv [ 2014 Nov 04 ]

could you please provide a specific example on what the problem is ?
is it displaying the ip addresses in some specific location ?

Comment by Emerson Fagundes [ 2014 Nov 04 ]

Yes I can, if I have a cluster of services, however this cluster has two different ips to reference a single instance, eg the cluster is pointing to the ip and this ip xxx.xxx.xxx.1 are setting the reference and with zabbix is also XXX.XXX.XXX.2 ip, ip xxx.xxx.xxx.1 fall happens, the problem that it does not change the automatic ip 2.

Comment by Marc [ 2014 Nov 04 ]

Not sure whether I understand you right. In case you expect Zabbix to failover monitoring of items from Agent host interface 1 to Agent host interface 2, then this is not the intention by this.
Having multiple host interfaces of same type allows to address different agents in parallel. Items are always bound to one of these interfaces only.

Comment by Anthony Martinet [ 2018 Oct 11 ]

We have the same need here.

Our agent are running on desktop machine that can connect either by wire or wireless.

Dynamic-DNS is not possible so we add multiple agent interface, one with the fixed ip of the wire connection and one with the fixed ip of the wireless connection.

It would be nice to have some kind of failover.

Comment by Alex King [ 2020 Oct 23 ]

You should be able to add two iPs in the answer section of a regular bind9 style dns A record, and/or if you've got something like f5/netscaler dns, add both to a pool, and associate that pool to the A record. dynamic dns is for a different use case for when a system has 1 DHCP given address that can change, not to flip between 2 ip addresses. If you can't do this with DNS it might be possible with keepalived, but that usually requires both ips to be in the same subnet, i think. That may make the connectivity to your system(s) more stable for well beyond just the zabbix use case.





[ZBXNEXT-4755] Introduce syslog uniq ident Created: 2018 Sep 25  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexey Pustovalov Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: logging, syslog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently syslog ident is hard coded in Zabbix components. It is better to have possibility to customize such idents, for example, in cases when multiple instances are running on one server.

For example:
MySQL: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_log_syslog_tag
PostgreSQL: https://www.postgresql.org/docs/9.5/static/runtime-config-logging.html






[ZBXNEXT-4052] In memory cache of latest debug logs Created: 2017 Aug 25  Updated: 2017 Aug 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 4.0.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: logging, troubleshooting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Information of DebugLevel 4 and 5 is very helpful when investigating complex bugs or simply troubleshooting certain processes in Zabbix lacking user-visible error messaging. I cannot overestimate the usefulness of the runtime control of logging level on process type and individual process level. Unfortunately, on highly loaded environments it's not really an option. Especially when the issue being investigated is quite rare, unpredictable and can only be detected some time after inception. Enabling additional logging would slow down the system and produce too much information to analyse.

My suggestion is to introduce a cache for the most recent logs of all possible levels and a runtime control option to dump this temporary storage into logs on demand. Basically, same strategy is used in flight recorders with great success.






[ZBXNEXT-5860] LLD Capability Enrichment Created: 2020 Apr 02  Updated: 2023 May 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Ali DURSUN Assignee: Michael Veksler
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-3035 Ability to filter LLD triggers creati... Closed

 Description   

There must be a way to set template for host after lld. It is possible to do it from discovery actions. However, it is restricted on only port and IP checks. It would be a great feature to assign a host to a templates after a service or path on disk is discoverd by lld.



 Comments   
Comment by Marco Hofmann [ 2020 Jun 07 ]

I believe it's already there. As long as a Zabbix agent is on the system, you can check for every item. For Windows like service.state[spooler] and if it's ture, link a Printserver template.

Comment by Michael Veksler [ 2020 Jun 08 ]

You can do it after ZBXNEXT-3035

Comment by Markus Fischbacher [ 2020 Aug 27 ]

There are multiple FR open for this type of thing even from myself. So I vote for this too.
Not having dynamic template assignment after so many years is still a pain.





[ZBXNEXT-5682] Required Zabbix Agent for Power Linux Created: 2020 Jan 13  Updated: 2020 Jan 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.4.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Sharif-uz-zaman Shakil Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Red Hat Enterprise Linux



 Description   

Dear Team,

I have required to install Zabbix Agent for Power Linux Kernel: Linux 3.10.0-229.el7.ppc64.

Can you please help how can i get the mention agent.






[ZBXNEXT-5640] Retrieving Data from Web Scenaries Created: 2019 Dec 11  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F)
Affects Version/s: 5.0 (plan)
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Andrey Ivanov Assignee: Michael Veksler
Resolution: Unresolved Votes: 2
Labels: agent, frontend, items, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Getting data through REST API Web scenarios in the step



 Description   

Hello!

When we use "Web scenarios", then we have no way to extract the data received from a POST request through the regexp.
We ask you to include the functionality of the new release will allow us to retrieve data through the regexp on the steps of "Web scenarios".

 






[ZBXNEXT-5408] Optionally make agent single-namespaced Created: 2019 Sep 09  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.2.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Evgenii Terechkov Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: agent, namespace,, namespaces,
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Machines with systemd-nspawn / docker containers.



 Description   

Now, zabbix agent return information regardless namespaces. So, on machines with userspace containers it may give "wrong" data (ie. proc.num[] return number of processes in all namespaces, not in his own namespace). It is very inconvient to monitor container's host machine with such behavior.

 

Can you make optional switch for agent to look up only in his own namespace for all returnted data (proc.num/proc.mem/...)?






[ZBXNEXT-5469] [Trigger acknowledge] Ability for zabbix_agentd to set trigger to acknowledge Created: 2019 Sep 25  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.2.5
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Dario Sindicic Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: acknowledgement, automation, trigger, zabbix_agentd
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be great if a user on some machine could set the trigger to the acknowledge if the trigger was from that machine. That would be cool, because it wouldn't require any chnages in our structure, or aditional rules in firewall. If that user is testing some services, and he is starting and stoping it, he probably doesn't want that others get email notification. So if we would add remote command wall which would print message to all user which are logged on. The next step in trigger action would be email, with 60 seconds delay of remote command. In that case the user would be able to say ok, I know what I am doing, and he would set acknowledge. I think that would be a really really great and wonderfull feature. 



 Comments   
Comment by Dario Sindicic [ 2019 Oct 07 ]

update





[ZBXNEXT-833] %EnvironmentVariables% not processed on windows Created: 2010 Feb 02  Updated: 2014 May 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: svenw Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: patch, trivial, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File zabbix-1.8.5-include.patch    
Issue Links:
Duplicate

 Description   

zabbix agent does not process %EnviromentVariables% which need to be used for localisation, like installing the agent to %ProgramFiles%\zabbix and so having "Include="%ProgramFiles%\zabbix\conf.d"" in the conf, and also use this in the userparameters, to tell where the scripts are "Userparameter="%ProgramFiles%\zabbix\scripts" etc.

also the Include Parameter does not allow for Directories, but just for files, which makes the feature quiet useless - i have to edit the main config anyway to include some more checks, unlike linux, where i just drop another config...



 Comments   
Comment by Bashman [ 2010 Dec 10 ]

My Windows zabbix_agentd.conf will only include files like "Include=c:\zabbix\zabbix_agent.userparams.conf" for zabbix_agentd.exe version 1.8.2 and Windows Server 2003.

For Windows 2000, my zabbix_agentd.conf does not include neither files nor directories.

Comment by Bashman [ 2011 Jan 03 ]

Could be related with https://support.zabbix.com/browse/ZBX-3299

Comment by richlv [ 2011 Jul 07 ]

including directories on windows would be handled in ZBX-3928

Comment by Zilvinas Krapavickas [ 2011 Jul 07 ]

Hello

This patch is to allow to Include all files in a directory in the Windows Agent configuration file. So far this feature was available only on UNIX agents.





[ZBXNEXT-212] Improve Zabbix log readability for errors. Created: 2010 Jan 27  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Dmitry Borovikov Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: logging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Not dependent.


Issue Links:
Duplicate
duplicates ZBX-1735 Add "Error" to zabbix_server requesti... Closed

 Description   

The idea is to make Zabbix reported problems (errors) more noticable, by adding "ERROR" in all messages, which are errors by nature. Could do it globally for all such cases. This is necessary when an error is reported and Zabbix shutdowns. So the error message can be a lot higher then all the last ones concerning shutdown procedure.






[ZBXNEXT-195] Proposal: Privilege separation for ZABBIX agent Created: 2010 Jan 06  Updated: 2018 Jan 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: J. Fischer Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: logmonitoring, patch, privilege, security
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

UNIX-like operating systems


Attachments: File zabbix_agentd-1.8.2-mx.patch     File zabbix_agentd-privsep.patch    
Issue Links:
Causes
caused by ZBXNEXT-4677 Network errors on one host interface ... Closed
Duplicate

 Description   

The following is open for discussion. I would be glad to implement this and send patches
for ZABBIX 1.8 and/or trunk and/or head, because I need the functionality provided by
the implementation of this proposal and don't want to maintain this "out of tree". I also
think that this might be useful for all users of ZABBIX who are monitoring log files.

1. Purpose

ZABBIX agent usually runs as an unprivileged user, which is a good thing to do. Alas,
on UNIX systems, often log files are owned by a dedicated user (most likely, root) and
have strict file permissions on them to prevent other users from reading these files.
This makes it virtually impossible to practically monitor log files with ZABBIX without
a rather large configuration change on all monitored hosts (i.e. touch file ownerships
and permissions for all log files monitored).

Privilege separation for ZABBIX agent aims to provide a simple, effective and proven
mechanism to make log file monitoring within ZABBIX more usable.

2. How it works

Before ZABBIX agent drops it privileges to "zabbix" user, a special process will be
forked and steadily run in the background, much like other agent pollers do. This
process will not drop privileges and continue to run with super-user privileges.

This process will not communicate with the network or other processes than the ZABBIX
agent, and even this communication will be very restricted.

Basically, the privileged process works in the following way:

  • Receive a request from ZABBIX agent to open a given file, i.e. /var/log/messages
  • Verify that the file is in a white list (new configuration parameter necessary)
  • Open the file with O_RDONLY flag to get a file descriptor
  • Pass this file descriptor back to ZABBIX agent
  • Close file descriptor (will stay open in the unprivileged parent process)

It is then the responsibility of the unprivileged ZABBIX agent to work with and close this
file descriptor accordingly, so it will not leak. Reading and processing the data from the
log file will also be handled in the unprivileged process.

The code running as UID 0 is kept as minimal as possible and consists only of a very few
lines.

3. The interface

The communication between the unprivileged Agent and the privileged process will be
performed via a socketpair(2) of type AF_LOCAL.

The ZABBIX agent can use new API functions for file operations, e.g.:

int zbx_priv_open(int priv_fd, const char *path, int mode)
int zbx_priv_stat(int priv_fd, const char *path, struct stat *buf)
int zbx_priv_lstat(int priv_fd, const char *path, struct stat *buf)

The new functions try to mimic the behaviour of the original functions, returning error
codes and setting errno just like the originals. The design goal is to make it possible
to use the new functions as drop-in replacement - the only thing that needs to be taken
care of ist the new first argument, priv_fd, which specifies the file descriptor to use
for communicating with the privileged process.

The changes in existing agent code will be as unintrusive as possible.

4. Whitelist

For security purposes, there should be a new configuration parameter which defines the
file patterns allowed to be openened by the privileged process. This is to prevent a
malicious GUI user to have ZABBIX agent return lines from "secret" files, e.g. /etc/shadow
or private SSL keys.

This pattern could be defined, for example, with:

LogfileWhitelist = /var/log/*

The privileged process will then match the filename given with each request against this
whitelist, using shell globbing patterns (above example would match /var/log/messages and
/var/log/mysql/mysqld.log but not /var/spool/cron/...). Multiple patterns can be given,
delimeted by comma (",").

Maybe a blacklist (LogfileBlacklist) configuration option would be a complimentary option,
to disallow access to certain locations instead of using a white list, at the users
choice.
It is yet to be decided whether it is a good idea to use realpath(3) inside the privileged
code to sanitize the given paths. On one hand, we must prevent that a malicious user can
circumvent the white- or blacklist by using e.g. /var/log/../../etc/shadow as path or using
symbolic links (e.g. /tmp/foo -> /etc/shadow). realpath(3) could be a remedy, but it has
shown security flaws in the path in certain implementations.

We could:

  • Check whether the path is a symbolic link and deny access if it is
  • Check whether the path contains /.. somewhere and deny access if it is

This would be the most simplistic approach, maybe not as good as a check with realpath().

5. Extendibility

The privsep protocol can easily be extended to provide more privileged functions to the
ZABBIX agent in a sane and secure way.

For example, it could be used for data collection that requires root privileges (e.g. some
stuff in /proc etc).

6. Compatibility

The code has been tested on Linux and BSD (Open-, Net- and FreeBSD). It will not work on
non-UNIX-like OS (like Windows), and should work on most UNIX derivates that more or less
comply to the POSIX standard (providing socketpair(2), select(2) and sendmsg(2)).

Alas, I have no access to "big-iron" UNIX-derivates such as HP-UX, AIX or Solaris that
have a compiler environment so I cannot test it on those platforms.

7. Making it optional

7.1 At compile-time

A new option to configure should be introduced, namely --enable-privsep. When not specified,
the privilege separation code will not be compiled and the zbx_priv_*() functions will act
simply as wrappers around zbx_open() etc.

7.2 At run-time

Similar to OpenSSH's sshd, a new configuration item "UsePrivilegeSeperation" should be
introduced which takes a boolean argument to define whether the agent should make use of
the privsep feature (only available if compiled with --enable-privsep, of course).

8. Open issues

8.1 logrt[] items

It will not be possible to use this with items of type logrt[] due to the use of opendir(3).
I currently see no way to privsep opendir(), but one could emulate it using getdirentries(2).
This would imply a rather intrusive change to process_logrt() in logfiles.c of ZABBIX agent.

8.2 Testing

As written above, I only have limited access to more "exotic" platforms (from the OSS point
of view). As such, I can only test the code on Linux (RHEL/Centos, Ubuntu/Debian) and Open-
BSD (probably Free- and NetBSD as well).

Looking forward to any input and constructive criticism.



 Comments   
Comment by J. Fischer [ 2010 Jan 21 ]

I have worked out a prototype for the implementation of privilege separation in ZABBIX agent. The patch for it is attached.
NOTE: The current patch is against the 1.8 version of ZABBIX agent as can be downloaded from ZABBIX website.

To try it out:

  • apply the patch
  • run "reconfigure" (part of GNU autotools), since rebuild of a Makefile.in and configure.in is required
  • run ./configure --enable-agent --enable-privsep
  • build the sources using "make"
  • edit zabbix_agentd.conf and add a PrivWhitelist configuration (see below)
  • configure a log[] item for a file which the "zabbix"-user usually has no read permissions to
  • run the agent

The patch introduces three new options for zabbix_agentd.conf:

PrivEnable=(0|1) - Runtime configuration of privilege separation functionality (Default: 1)

PrivEnforce=(0|1) - Whether to enforce that any call to zbx_priv_open() will be performed via the privileged process. If set to 0, the agent will check whether the user "zabbix" has read permissions to a given file, and if it has, use default zbx_open() on that file. If set to 1, any call to zbx_priv_open() will be send through the privileged process and all whitelist constrainsts (see below) will apply. The default is 0.

PrivWhitelist=<list of patterns> - Patterns to paths that the privileged process is allowed to open. Multiple patterns can be given and are separated using comma. Pattern matching will NOT be performed recursively. That is, a pattern "/var/log/*" would allow access for "/var/log/messages" but not "/var/log/audit/audit.log". This is to prevent path escape through using "/var/log/../../etc/shadow" or similar. The default is no pattern, which disallows access to any file.

Open issues:

  • Only been tested on x86_64 Linux (RHEL 5.4, Ubuntu 9.10) yet
  • Logging in the privileged process is somewhat complicated. For now, the privileged process uses syslog as it cannot use zabbix_open_log() because of shared memory mutexes. The privileged process is forked right after configuration and before the agent daemonizes, opens log file and drops privileges. This could be changed, but as long as I maintain this patch out-of-tree, the changes would be far too intrusive
  • The current place for most of the functionality is "zbxnix" library. Maybe this should be moved over to the agentd's code as it only applies for the agent daemon, anyway (otoh could be used in server's as well as in inetd-style agent too).

Things to note:

  • The privileged process will exit upon communication problems with the rest of the agent (e.g. protocol error)
Comment by J. Fischer [ 2010 Apr 29 ]

Attached is an updated patch which will apply cleanly to 1.8.2 version of ZABBIX agent.

Also, support for HP-UX has been added. Might also compile on other commercial and/or older UNIX systems now.
Tested on RHEL 4 and 5, Ubuntu, HP-UX 11.23.

Comment by richlv [ 2010 May 26 ]

as noted in http://www.zabbix.com/forum/showthread.php?p=63528#post63528, supporting command execution with privsep would also be beneficial

Comment by richlv [ 2014 Dec 12 ]

ZBXNEXT-2638 is similar

Comment by Oleksii Zagorskyi [ 2015 Mar 07 ]

Something related (but to server) mentioned in ZBXNEXT-2735

Comment by Glebs Ivanovskis (Inactive) [ 2018 Jan 31 ]

Just wondering, what is the difference between this proposal (or similar ZBXNEXT-2638) and running two or more agents with different access privileges, firewall rules, etc. and with different configurations (e.g. user parameters, remote commands enabled/disabled, etc.)?

P.S. Speaking of

The code running as UID 0 is kept as minimal as possible and consists only of a very few
lines.

You can't imagine how little code is enough to do terrible security bugs.

Comment by Marc [ 2018 Jan 31 ]

glebs.ivanovskis, using multiple agents is actually no option due to ZBX-8623.





[ZBXNEXT-83] binaries should print out used configuration Created: 2009 Sep 22  Updated: 2021 May 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

zabbix binaries should have a flag that would print out configuration set they are using.
example usage :

  1. zabbix_server --current-config
    ZABBIX Server (daemon) v1.7 (revision 7934) (18 September 2008)
    Currently used configuration (non-default parameters denoted with asterisk):
      ListenPort     10051
    * SourceIP      10.1.1.18
      LogFile
    * LogFileSize   18
    


 Comments   
Comment by Alexei Vladishev [ 2012 Oct 10 ]

I do not think it's a good idea. Just wondering are there any other software products with similar functionality?

Comment by azurIt [ 2012 Oct 10 ]

for example Postfix (via postconf utility) and it's extremely usefull

Comment by richlv [ 2012 Oct 16 ]

i was just going to mention postfix, but i see it's already done
mysql has internal query to do that as well.

and i'll agree that it is an extremely valuable feature. with postfix alone i have probably saved many hours that way

Comment by richlv [ 2015 Apr 09 ]

just today it would have saved quite a lot of trouble
it is apparently quite common to make changes to the configuration file, but then forget or do a mistake with the restart of such a daemon.
in general, it is impossible to say what configuration a running daemon is using. looking at the configuration file does not guarantee anything.

it would be highly valuable as a periodic check, too (inside zabbix itself even as a script ) - if the current config file differs from the running daemon, issue a warning, as it probably should be restarted

Comment by dimir [ 2015 Apr 09 ]

Great idea.

Comment by Mickael Martin (Cyres) [ 2021 May 21 ]

any update ?





[ZBXNEXT-1125] compile and share zabbix agent for Solaris 11 Created: 2012 Feb 15  Updated: 2021 Feb 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Installation (I)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 12
Labels: build, solaris
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-1972 support for solaris 11 sparc Closed
is duplicated by ZBXNEXT-5053 Agent request for Solaris 11 Closed
is duplicated by ZBXNEXT-4362 Zabbix-agents on Solaris 11 Sparc Closed
Sub-task

 Description   

I need compiled zabbix agent for Solaris 11
Would be nice to have it for sparc and intel platforms.

It should present here http://www.zabbix.com/download.php



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Feb 15 ]

Additional question: is it possible to compile zabbix agent for Open Indiana?

Comment by Oleksii Zagorskyi [ 2012 Feb 26 ]

Zabbix agent can be compiled under Open Indiana without any problems (you need just install gcc compiler).

SunOS openindiana 5.11 oi_151a2 i86pc i386 i86pc Solaris

  1. zabbix_agentd -V
    Zabbix Agent (daemon) v1.8.10 (revision 24303) (28 December 2011)
    Compilation time: Feb 26 2012 00:44:57
  1. zabbix_agentd -p
    agent.ping [u|1]
    agent.version [s|1.8.10]
    system.localtime [u|1330210124]
    system.run[echo test] [m|ZBX_NOTSUPPORTED]
    web.page.get[localhost,,80] [t|EOF]
    web.page.perf[localhost,,80] [d|0.000000]
    web.page.regexp[localhost,,80,OK] [s|EOF]
    vfs.file.exists[/etc/passwd] [u|1]
    vfs.file.time[/etc/passwd,modify] [u|1330192152]
    vfs.file.size[/etc/passwd] [u|1044]
    vfs.file.regexp[/etc/passwd,root] [s|root:x:0:0:Super-User:/root:/usr/bin/bash]
    vfs.file.regmatch[/etc/passwd,root] [u|1]
    vfs.file.cksum[/etc/passwd] [u|2234160828]
    vfs.file.md5sum[/etc/passwd] [s|db821a53f6c8e9a7f760320766fdff41]
    net.tcp.dns[,zabbix.com] [u|1]
    net.tcp.dns.query[,zabbix.com] [t|zabbix.com SOA ns1.nameresolve.com hostmaster.zabbix.com 2012022512 16384 2048 1048576 2560]
    net.tcp.port[,80] [u|0]
    system.hostname[] [t|openindiana]
    system.uname [t|SunOS openindiana 5.11 oi_151a2 i86pc i386 i86pc Solaris]
    system.users.num [u|2]
    log[logfile] [m|Accessible only as active check!]
    logrt[logfile] [m|Accessible only as active check!]
    eventlog[system] [m|Accessible only as active check!]
    kernel.maxproc [u|9706]
    vfs.fs.size[/,free] [u|10697522688]
    vfs.fs.inode[/,free] [u|20893599]
    vfs.dev.read[sd0,bytes] [u|4860797565]
    vfs.dev.write[sd0,bytes] [u|506519552]
    net.tcp.listen[80] [u|0]
    net.if.in[hme0,bytes] [m|ZBX_NOTSUPPORTED]
    net.if.out[hme0,bytes] [m|ZBX_NOTSUPPORTED]
    net.if.total[hme0,bytes] [m|ZBX_NOTSUPPORTED]
    net.if.collisions[hme0] [m|ZBX_NOTSUPPORTED]
    vm.memory.size[free] [u|36921344]
    proc.num[inetd,,] [u|1]
    proc.mem[inetd,,] [u|4710400]
    system.cpu.switches [u|1164792]
    system.cpu.intr [u|471357]
    system.cpu.util[all,idle] [m|Collector is not started!]
    system.cpu.load[all,avg1] [d|0.144531]
    system.cpu.num[online] [u|1]
    system.swap.size[all,free] [u|1047973888]
    system.swap.in[all] [u|0]
    system.swap.out[all,count] [u|0]
    system.uptime [u|1622]
    system.boottime [u|1330208503]
    net.tcp.service[ssh,127.0.0.1,22] [u|1]
    net.tcp.service.perf[ssh,127.0.0.1,22] [d|0.100118]

Binaries and packages for Solaris 11 should be compatible with Open Indiana.
Source: http://wiki.openindiana.org/oi/Frequently+Asked+Questions#FrequentlyAskedQuestions-IsOpenIndianaa“fork”%3F

I've checked and I confirm that zabbix_agentd binary for Solaris 11 is working on Open Indiana.

Comment by Daniel Bossert [ 2018 Jul 09 ]

Please compile binaries for zabbix agent/zabbix server for version 3.4.11 / 4.0 for Solaris 11 SPARC and x86 

 

However, zabbix server isn't as important as the agent

Comment by samuel harrison [ 2019 Feb 18 ]

Please could we have a agent for Solaris 11 with Open SSL encryption on the download page for server version 4 LTS

Thanks guys 





[ZBXNEXT-350] Linux Agentd: expose interface up/down status Created: 2010 May 07  Updated: 2015 Jan 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Cal Sawyer Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: networkmonitoring, newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2687 Please add net.if.status Closed

 Description   

If we can get interface in/out traffic stats, wouldn't it be easy to provide up/down status? SNMP is notoriously inconsistent across different devices.






[ZBXNEXT-391] Allow different items to be polled at the same time (Item affinity) Created: 2010 May 28  Updated: 2020 Aug 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Bruno Gomes Assignee: Unassigned
Resolution: Unresolved Votes: 30
Labels: dependencies, pollers, sampling
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All OSs and platforms (server enhancement)


Issue Links:
Duplicate
is duplicated by ZBXNEXT-1807 Timed Triggers Closed
is duplicated by ZBX-12942 CPU utilization does not add up to 10... Closed

 Description   

I believe it is essencial that the Zabbix server provides an option to poll different items at the same time, especially after calculated items were implemented.

In most cases, the items used in a calculated item must be fetched at the same time, or else the calculated value will not be valid. For instance, a hypothetical calculated item that shows the cpu usage by adding the system and user utilizations will be meaningless unless those two items are polled at the same time.

Another example that doesn't involve calculated items would be a trigger "A" that should only be true if a trigger "B" is false. In this case, if the items used in trigger "B" are not fetched at the same time as the items in trigger "A", trigger "A" could be active because trigger "B" hasn't had its items updated yet, even though trigger "B" will also evaluate to true after its items are updated.

In the GUI, Affinity Groups could be created and displayed similar to the existing Group option.



 Comments   
Comment by richlv [ 2010 May 28 ]

what do you mean by "the existing Group option" ? applications ?

Comment by Bruno Gomes [ 2010 May 28 ]

Below "Applications" there is a "Group" combobox. But this was only a suggestion, I think implementing it like the "Applications" option would be fine too.

Comment by richlv [ 2010 May 28 ]

oooh. that one is completely different and does not impact item polling in any way
it's sort of a method to add/delete/update item on many hosts at once.

Comment by Bruno Gomes [ 2010 May 29 ]

Yes, I know . It was just a suggestion on the GUI implementation of this functionality. I mean, you have to be able to group items that you want polled together in some way using the web interface.

Comment by Aleksandrs Saveljevs [ 2010 Jun 10 ]

Related issue: ZBXNEXT-98.

Comment by nima [ 2010 Aug 31 ]

I agree with your idea a "I believe it is essencial that the Zabbix server provides an option to poll different items at the same time, especially after calculated items were implemented." this feature is necessary for monitoring some items with more precise.
I hope this feature is to be added in next release.

Thanks

Comment by nima [ 2011 Jan 08 ]

After some investigation on database structure of zabbix,I found that zabbix server,requests data according to "itemid" or such field in database.if it is true, I think with changing order of rows based on "itemid" we can sort order of requests ourself.

Is there any idea or suggestion about this please share.

Comment by Oleksii Zagorskyi [ 2011 Jan 08 ]

I fully support this request.
But it should be considered in two aspects:
1. Simultaneity of the items polling.
2. Managed sequence to the items polling and trigger processing.

I will focus on the second aspect - I have not investigated in detail, but it seems i have noticed that a sequence of items polling depends on their ID.
It also seems sequence of the trigger processing, which use the same item, is also dependent on their ID.
At least this behaviour must be described in the documentation in the trigger dependencies point. And would really be nice to be able to manage it. See also ZBX-3163 for triggers.

Some forum discussion (in Russian): http://www.zabbix.com/forum/showthread.php?p=100140

Comment by nima [ 2011 Feb 09 ]

Hi
After a few week since reporting this feature, now In our monitoring system I have to config zabbix so that fetches some items in order.
In last investigation on zabbix infrastructure, I have found that,zabbix fetch items based on "itemID".
My question is,Can I change itemID for few items?? if so,please guide me,which tables should I change also.

Thanks in advance

Comment by richlv [ 2012 May 04 ]

trigger evaluation might be ZBX-3163

Comment by Sander Cornelissen [ 2013 Aug 09 ]

I do miss this feature when making a graph of two items. One is the processor idle time and the other is processor active time. I have set them up in a stacked graph. When there is processor activity, the total won't be 100%, but is has gaps and peaks. It has nothing to do with triggers, only that items get retrieved at different times. When will there be a fix or is a fix in sight?

Comment by David Israel [ 2013 Aug 19 ]

This would also solve ZBXNEXT-1049

Comment by Strahinja Kustudic [ 2013 Dec 07 ]

This is such an important feature which would make a lot of things easier and faster.

Comment by Gergely Czuczy [ 2013 Dec 13 ]

This feature would be pretty much awesome.

Also, if this would do something like, pulling a swithport's items (all of them) together, that'd also save some resources when evaluating triggers, since the triggers using multiple items for a single port wouldn't have to be evaluated after every item's poll, just once, after an aggregated poll.

Comment by richlv [ 2013 Dec 13 ]

this probably wouldn't help that much with triggers, as the trigger parsing logic wouldn't differ much.
when you mention switch ports, i guess it's about snmp, which would also be different - instead, snmp bulkget would probably be what you want

Comment by Volker Fröhlich [ 2014 Mar 06 ]

ZBX-7649 solves the problem for ICMP ping items on the same host.

Comment by Oleksii Zagorskyi [ 2016 Mar 06 ]

Not exactly what requested here, but it's possible in 3.0 using ZBXNEXT-2128 feature.
Just need to be careful to not overuse that feature to not have spikes of busy level for processes which gather information.

Comment by richlv [ 2016 Mar 06 ]

maybe a practical example helps - the cpu utilisation items, if queried at the same time, should sum up to 100%. with zabbix item polling distributed, it most often does not, and the top of the graph tends to have spikes over & dips under 100% - sometimes fairly large spikes & dips.

Comment by richlv [ 2016 May 19 ]

(1) an extension of this feature request - in addition to "affinity", there could also be "harmonisation".
for example, if we have one item collecting data during business hours, and another during off-hours, it would be nice to mark them for "harmonisation", so that the interval/poll time is aligned as much as possible.
if one of those items collects data every 30 minutes and the other every hour, the "harmonisation" would ensure that the interval between two values is always 30 minutes, and doesn't increase or decrease during the time when one item takes over the another.





[ZBXNEXT-127] Need argument to proc.num to selectively enable counting of threads [e.g. counting number of apache threads or mysql threads] Created: 2009 Nov 07  Updated: 2017 Mar 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Matthew Marlowe Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: items
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RHEL5 x86_64



 Description   

Summary is pretty self explanatory, sometimes I want to count processes only and sometimes just threads. Right now, I believe choice can only be made at compile time or is locked to processes only. This information is incredibly useful for trending.



 Comments   
Comment by Tim Mooney [ 2013 Nov 06 ]

We would find this useful as well. We're beginning to use the "MPM" worker model (threads) with some versions of Apache httpd, so it's no longer easy to monitor a count of the number of httpds.

Comment by Paul DiSciascio [ 2017 Mar 20 ]

We have an issue where we're running up against the nproc ulimit on a production server, and since nproc is based on thread count, rather than simply process count, being able to trend and alert when we're close to that number is important.





[ZBXNEXT-89] allow log keys to be used with normal data types Created: 2009 Sep 25  Updated: 2015 Jul 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: logmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently log keys have to be used with special "Type of information", Log.
instead, they should work with all normal types (text, char, numeric) and special log type should be removed



 Comments   
Comment by richlv [ 2015 Jul 24 ]

ZBX-7821 mostly implemented this, but did not remove the log information type.

thanks to asaveljevs for mentioning the main reason why this is not so simple - log items are stored in a separate table that allows to store log local time, severity and source. choosing a different type of information leads to a loss of that data.

such a low level thing seems to be a bit too much to force on users - they should not care about where and how exactly the data is stored. it would be nice if zabbix could figure out that such items have extra log information and probably store it in some helper table.

leaving this issue open for a potential removal of the "Log" type of information





[ZBXNEXT-38] Possibility to see what values have not been sent when using zabbix_sender with option "-i file.txt" Created: 2009 Jul 21  Updated: 2021 Mar 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 26
Labels: patch, zabbix_sender
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File ZBXNEXT-38-show-failed-items-debuglevel-notice.patch    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-246 Log or report failed items using zabb... Closed

 Description   

Will be nice if will be possible to see what values from the input file has not been sent when using zabbix_sender with option "-i file.txt".



 Comments   
Comment by richlv [ 2010 Oct 16 ]

ZBXNEXT-246 has a proof of concept patch for server side logging

Comment by richlv [ 2010 Oct 16 ]

other issues related to sender output :

ZBXNEXT-506
ZBX-1827

Comment by Ya Bo [ 2016 Jan 06 ]

Hi everybody,

Maybe adding an additional DebugLevel value will help to resolve this request.

Currently 3x version has 5 levels: critical, error, warn, debug, ext-debug

I propose to add yet one, so it will be:
critical, error, warn, notice, debug, ext-debug

any installation does not require any changes in config. But anybody who need this functionality should change DebugLevel only.

Comment by Ya Bo [ 2016 Jan 06 ]

Additional level will be more convenient.
In case of using warning level in some installations logs will be spammed with usefulness info.
In case of debug - it will be very difficult to find useful lines from huge debug info.

of course, this level can be used not only for failed items.
also somebody with this feature can monitor zabbix logs for new trapped items.

Comment by richlv [ 2016 Apr 16 ]

the best would probably be returning the list of host/item/value (and maybe also time, if supplied ?) entries that failed - although one concern would be very large values

why all of that - let's say if one is sending 200 timestamped values for the same item on the same host and 30 fail - how would the sender know which ones failed to either fix some issue or retry ?

Comment by Joachim Jautz [ 2020 Mar 06 ]

Motivation

Allow me to motivate why the requested feature would be most valuable in some situations.

We run zabbix_sender 4.2 as part of a process pipeline, that is, it runs continuously, receives item metrics on STDIN and there is a considerable throughput:

zabbix_sender -z zabbix.example.com -p 10051 -r -i -

The "real-time" (-r) switch requests to "Send values one by one as soon as they are received ... when reading from standard input."
However, if I understand zabbix_sender correctly, there is another hard-coded rule that allows zabbix_sender to collect up to 250 items that arrive within 0.2 seconds and transmit them in one transaction (see zabbix_sender(1) and the zabbix sender online documentation).

That said, this is a typical summary output we witness:

Response from zabbix.example.com: "processed: 249; failed: 1; ...

Currently there is no way to have zabbix_sender reveal this one failed item.
Well, not exactly: we could introduce something like sleep 0.25 between each metric but this would throttle throughput substantially; or IMO even worse: we could execute a new zabbix_sender process for each item.

Petition

It would be great to hear an opinion from one of the Zabbix developers / contributors regarding these questions:

  • Are we using zabbix_sender not as intended?
  • Why has this issue not been regarded relevant, yet?
  • Is it a question of effort or rather a question of design? From the outside it looks as if this is one additional line of code that outputs the failed item (ideally depending on the verbosity level).

Thank you in advance.





[ZBXNEXT-52] Monitoring of ibm z10 mainframes Created: 2009 Aug 18  Updated: 2013 Feb 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Sybrand Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: agent
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

zO/S



 Description   

Can you please look in to creating a agent that can monitor ibm z10 mainframes on the zO/S platform.



 Comments   
Comment by Alexei Vladishev [ 2012 Oct 10 ]

Is anyone interested in sponsoring this development?

Comment by Marc [ 2013 Feb 19 ]

Maybe. What do you mean exactly by sponsoring?

Comment by richlv [ 2013 Feb 19 ]

it's probably best to contact sales@zabbix.com about the details





[ZBXNEXT-47] New item vfs.fs.mounted Created: 2009 Aug 10  Updated: 2017 Aug 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Thomas Mueller Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: item
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

by now there is no comfortable way to determine if a directory contains a mounted filesystem.

vfs.fs.size reports the size root filesystem if pointed to a directory which is normally mounted. another way is to check if a file underneath the mounted directory exists - but this is not "templateable" if there is no "common" file on the mounted fs.

on linux it should check /proc/mounts, solaris /etc/mnttab, etc.



 Comments   
Comment by Volker Fröhlich [ 2012 Nov 15 ]

For the time being, you can use an agent item like:

vfs.file.regmatch[/proc/mounts,^\S+ /home .*]

1 ... Mounted
0 ... Not mounted

Comment by Jesper Grann Laursen [ 2014 Jan 20 ]

This return false, if a NFS mount is stalled. I need something to check if the mount also works.

Comment by PNB Banka [ 2017 Aug 25 ]

> For the time being, you can use an agent item like:
vfs.file.regmatch[/proc/mounts,^\S+ /home .*]

Linux-only.
Not work for Solaris.





[ZBXNEXT-364] New Item keys: process private and shared memory Created: 2010 May 19  Updated: 2022 Jan 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: João Figueiredo Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: item
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any Unix


Issue Links:
Causes
caused by ZBXNEXT-1711 New key for discovery rule / LLD to c... Closed

 Description   

As discussed in,
http://www.zabbix.com/forum/showthread.php?t=17048

The idea would be to have as macros a process private and shared memory.

(though the Total mapped (Virtual) doesn't bring any usefulness gain at all)



 Comments   
Comment by João Figueiredo [ 2010 May 19 ]

Would allow us to better monitor misbehaved Apps.

We could, for instance, configure a restart Action when a controlled group of processes would exceed a given Threshold / % of normal historic memory use

Comment by Andris Mednis [ 2014 Sep 30 ]

Development of ZBXNEXT-1078 deals with a similar task.

Comment by Andris Mednis [ 2014 Oct 02 ]

Seems like process private and shared memory information is available only to root or process owner (as "pmap" shows). Zabbix agent is typically started as a non-privileged process and therefore has no access to interesting processes which belong to other users.





[ZBXNEXT-159] Add implementation of functions "proc.mem" and "proc.num" for HP-UX platform. Created: 2009 Dec 08  Updated: 2012 Nov 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: items
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

It will good to add implementation of functions "proc.mem" and "proc.num" for HP-UX platform as at this moment (v1.6.x and v1.8) this checks are NOT supported by HP-UX platform.






[ZBXNEXT-682] Centralized management of agent configuration files Created: 2010 Jan 11  Updated: 2020 Nov 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexander Vladishev Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 6
Labels: configuration
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-1372 Central script repository Open
is duplicated by ZBXNEXT-2529 Agents should be able to retrieve use... Closed

 Description   

Agents configuration files will be stored in Zabbix database and automatically pushed to agents. It will be supported by active and passive agents.



 Comments   
Comment by Greg Swift [ 2012 Aug 22 ]

What is the benefit of this over a configuration management tool? I'd rather see improvements to functional areas rather than starting down the path of configuration management. I've got at least 3 that were filed years ago that could use some work.

Comment by richlv [ 2012 Aug 22 ]

personally, i'd fully agree. unfortunately, there are companies that haven't invested in system/config management... and the interest in such a functionality is somewhat sizable, so there's probably no avoiding it in the long run

Comment by richlv [ 2012 Sep 04 ]

here's a feature wishlist based on real world deployment :

  • should work with passive and active agents;
  • should work over proxies;
  • should retrieve agent version & operating system for validation;
  • should provide ip mapping per range and per individual ip; most specific match should be used (for example, to set Server/ServerActive lines etc) (two equal ranges partially overlap - what to do);
  • should provide agent host name mapping (regexp, overriding) (how will work with ip mapping, which gets priority ?);
  • should provide some sort of "templating"/variables where things can be set globally, overriden per ip range/ip etc;
  • should provide a way to manage multiple agent versions, verifying config per version (don't allow to set invalid params per version);
  • should do the validation per operating system as well (not allowing per counter params on non-windows etc);
  • should allow to override validation;
  • should have some idea about security...
  • should handle filesystem permissions gracefully and properly report error messages back to the server (so they're visible in the frontend);
  • should send the config only if it has changed (versioning, md5 hashes, whatever);
  • should provide a way to handle all this in a single file or using included files;
  • what about local changes, override them ? fail if changes are detected, or configurable ? what if another file is added in an include dir ? if fail, an internal item to detect that;
  • ability to add userparams based on some conditions. (only include if some package is installed and/or match specific item return value);
  • have some capability to see which agents are up to config sync (when they last synced); and internal item to detect that it's not syncing;
  • have some capability to use generic config for all versions/operating systems and then add/remove/change some params for other versions/operating systems;
  • if an agent is unable to communicate with server/proxy, revert to previous config file (timeout, how will it work with active/passive ?)
Comment by Tim Mooney [ 2013 Jun 07 ]

I understand what you're saying Rich, however I'm really with Greg. Organizations that are large enough to be struggling with zabbix agent config file deployment would be better served by getting a configuration management system in place and managing this via that system.

Beyond just the config file, the configuration management system has other benefits: it can ensure that the version of the agent you want to have installed is actually installed, it can ensure that the agent service is running, it can ensure that there's a log file rotation policy in place for the zabbix agentd log, it can ensure than any custom scripts for custom item keys are also installed, etc.

Even if you solve all of the config file issues via the agent itself, you can't really solve the "is the agent installed? is it running?" issue.

Also, how do you solve the inherent security issue with the initial deployment of the config
file? Right now the agent only allows the server(s) listed in the "Servers = " entry to communicate with it.

What would probably be more useful would be to make certain that there are very good manifests/recipes/scripts/whatever for several different configuration management systems,
so that you could just point customers to them. I know there's stuff out there for puppet, which is what we use, and the module I looked at for the zabbix agent was a good start, but
it was rudimentary. Writing a full-featured puppet module for the zabbix agent has been on my todo list for a while. Seeing this ticket provides more incentive to work on that, although it's more about time and priorities than interest, at this point.

Comment by Marc [ 2013 Jun 07 ]

I agree with Tim.
Such kind of functionality is already provided by several configuration management systems in a highly efficient and secure way.

Before investing time in something like this I'd suggest to focus more on fixing the current security issues in Zabbix -but it's just my opinion...

Comment by Raymond Kuiper [ 2015 Sep 09 ]

Personally, I strongly disagree with this feature becoming a main part of Zabbix (missing a downvote button in Jira btw!). Zabbix is a monitoring tool, not a Config Management tool.
Instead of reinventing the wheel and facing numerous (security) caveats along the way it would be best to implement a tool alongside Zabbix which specializes in this type of thing.

Puppet, Chef, SaltStack and Ansible all have proven track records in this regard.
If used in combination with a Version Control System such as Git, you can even easily rollback any mistakes you make in a new UserParameter or other script.
In addition, it would allow management of other aspects of the environment as well.

I'd rather see the needed effort put into other things, like speeding up the API, improving UX or having some more advanced ways to process retrieved values.

That being said, if it has to be done, please consider using an existing framework and integrating it into Zabbix.
Also, keep it optional. I think quite some security teams would rather not have the monitoring tools pushing files down to prod servers.





[ZBXNEXT-113] network load reduction by assuming missing values Created: 2009 Nov 03  Updated: 2013 Aug 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-126 network traffic reduction method Closed
is duplicated by ZBXNEXT-695 Filter data returned to Zabbix server... Closed

 Description   

this is a feature which supposedly originates in ganglia and allows for network traffic reduction.
if enabled, it makes monitoring agent not send repeated values until some time based threshold is passed. server on the other hand assumes that missing values are the same as the last one and only considers agent gone if values do not come past this time thershold.

in the case of zabbix, this feature would probably be configured on item level and only work with active agents.
if value would be considered as the same (configurable margin for floats) by the active agent, agent skips sending it to the server. if (per item) time period has passed without sending another value, agent sends the value anyway, sort of a heartbeat.

server, on the other hand, after the configured time period has passed, can do two things.
1. if agent sends in the same value, server assumes that all values between the previous one and the last one are the same and fills them in. note that server probably should use a larger time period to determine whether value falls in this time period (to compensate for agent and network delays);

2. if "heartbeat" value is missing, server assumes all values since last successful transmission are missing.



 Comments   
Comment by fmrapid [ 2011 Mar 09 ]

The above implementation description is simple and elegant and vastly increases system scalability. This is typical in industrial SCADA systems and with the OPC protocol used to communicate state and performance data from devices. The logic is simple and implementation leads to direct benefit.

Note-1: The configurable margin should apply for floats and optionally for numeric values.

Note-2: The implementation should also work with Zabbix sender type data.

Note-3: This logic should be implemented as genericaly possible, to permit graphs, reports, etc. To make use of the "assumed" data values.

Comment by Alexei Vladishev [ 2012 Oct 11 ]

We should think about it carefully if ever decided to be implemented.

Comment by richlv [ 2013 Aug 05 ]

somewhat similar feature request not to store identical values in the database : ZBXNEXT-1846





[ZBXNEXT-73] Allow secondary groups for agentd on linux (to read logs, execute programs) Created: 2007 Nov 15  Updated: 2013 Dec 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Johan Fischer Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Centos 5 i386 / x86_64



 Description   

I'm running the zabbix agentd daemon (from the initscripts) and as expected it's dropping privileges to the zabbix user.

It would be greats is the process could use the secondary groups of the zabbix user defined in /etc/group, this way I could read log files with the permissions 0640, or execute script to very database files with the permissions 0640.

I read the man page for setgroups (function to use to add secondary groups to current process), and it's not POSIX .1-2001 compliant:

CONFORMING TO
SVr4, 4.3BSD. The getgroups() function is in POSIX.1-2001. Since set?
groups() requires privilege, it is not covered by POSIX.1-2001.

is that the reason why it's not implemented in src/libs/zbxnix/daemon.c ?
Or is it because it's another security risk to let a process use more than one group ? (in that case, we could control that with a flag authorizing or not the usage of secondary groups in agentd.conf ).

Thanks.



 Comments   
Comment by Marc [ 2013 Dec 22 ]

might be related to ZBXNEXT-195





[ZBXNEXT-90] support placeholders in filenames Created: 2009 Sep 28  Updated: 2021 Oct 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Thomas Mueller Assignee: Unassigned
Resolution: Unresolved Votes: 13
Labels: item
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-496 improved item key: regexp for vfs.fil... Closed

 Description   

sometimes we need to check if a file with a date (or another variable part) in the name existis (or what size it is, etc).

Examples:

vfs.file.exists[/var/log/application2000/log%Y%m%d%.log]

vfs.file.exists[/var/log/application2000/log*.log]

vfs.file.exists[/var/log/application2000/log([0-9]|[A-Z]).log]



 Comments   
Comment by Fabrizio LaPorta [ 2015 Jun 29 ]

I could use this feature right now. Please add it soon.

Comment by lvyanrong [ 2016 Dec 22 ]

When will the issue be resolved, anyone knows?

Comment by lvyanrong [ 2016 Dec 22 ]

I get another way to check file exist. Add UserParameter in zabbix_agentd.conf to fix this .

Comment by Vucomir Ianculov [ 2018 Jul 11 ]

When will the issue/feature be resolved?

Comment by Alex Kalimulin [ 2021 Oct 11 ]

vfs.dir.count[] seems to cover exactly this use case. Closing in a couple of weeks unless there are objections.





[ZBXNEXT-2290] Support discovering MAC on Windows via system.hw.macaddr Created: 2014 May 06  Updated: 2014 May 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Gene Liverman Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: items, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows clients



 Description   

We are in need of collecting MAC addresses on Windows like we do on Linux as it is frequently the only consistent thing. Most of our desktops have onboard NIC's so the MAC generally stays the same where as they get their address via DHCP and may have their names changed regularly. I would love to see all the things in ZBXNEXT-1197 but this request is just for leveling the playing field between Windows and Linux clients. Windows exposes this in many ways, including via the registry.






[ZBXNEXT-2201] Zabbix Agent Windows loadable modules Created: 2014 Mar 12  Updated: 2019 Sep 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.3.0
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Serg Larchenko Assignee: Unassigned
Resolution: Unresolved Votes: 15
Labels: loadablemodule, patch, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File Makefile_agent.inc.patch     File dummy.patch     File zabbix_agentd.c.patch     File zabbix_windows_loadablemodule.patch     File zbxmodules.patch    

 Description   

Good day.
Added the ability to load modules agent on Windows platform.
I ask to check the patch.



 Comments   
Comment by Serg Larchenko [ 2014 Mar 12 ]

Split file zabbix_windows_loadablemodule.patch

Comment by Ryan Armstrong [ 2015 Oct 06 ]

Bump!

Comment by richlv [ 2015 Oct 06 ]

please see these resources:

Comment by Kenny Hibberd [ 2019 Jan 23 ]

What are the issues involved with implementing this feature?

Comment by Andy Bertier [ 2019 Sep 19 ]

I'm also interested in this feature. I used the attached files to create my version of the agent (needed to updated them for 3.4.2 & some fixes in error reporting).

I'm willing to check/prepare changes against latest version, but I don't know how to contribute them. (as the patches attached here were already rejected). Are there any docs on how to contribute my changes?

Comment by Glebs Ivanovskis [ 2019 Sep 19 ]

abertier, I guess the best place for the results of you effort will be https://github.com/zabbix/zabbix-patches

Comment by Andy Bertier [ 2019 Sep 22 ]

Patch & PR created: https://github.com/zabbix/zabbix-patches/pull/21

Another minor glitch in the documentation for building agents on windows ( https://zabbix.com/documentation/4.2/manual/installation/install/win_agent ), is I also needed to set 'CMAKE_BUILD_TYPE' to 'Release' in order to compile PCRE (v8.43, otherwise I only get the debug-file pcred.lib )





[ZBXNEXT-1958] Zabbix agent in vSphere 5.1 Hosts Created: 2013 Oct 09  Updated: 2013 Oct 09

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.8
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Sistemas Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: ESX
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

VmWare ESXi 5.1 host servers



 Description   

Hello, we're trying to implement zabbix agent in our ESXi 5.1 hosts, it seems not supported by the agent. Any help?



 Comments   
Comment by richlv [ 2013 Oct 09 ]

please use zabbix forums, irc and other channels for community support. this tracker is for bugreports.

Comment by Sistemas [ 2013 Oct 09 ]

I'll rewrite that. I need a compiled or a procedure to install Zabbix Agent in ESX Host. As I'd check in forums there's no way to do it as we deploy the agent.





[ZBXNEXT-1022] heartbeat communication for between Zabbix server and agent Created: 2011 Nov 08  Updated: 2014 Nov 08

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Kodai Terashima Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: heartbeat
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBX-4284 Possible wrong host (agent!,snmp?) di... Closed

 Description   

Zabbix agent status on Zabbix server has some problems at the moment.

  • Zabbix server make host unreachable if one item cannot retrieve data (network unreachable) from agent. if any user parameter item take a long time, Zabbix server stop monitoring all of other item on same host.
  • If active agent is crashed, Zabbix server doesn't notice that.
  • Agent status on host screen is not actually agent status (Zabbix server calculate internally)

I think it's good that Zabbix server and agent communicate using exclusive heartbeat connection periodically.
If the heartbeat is not successful, Zabbix server move host status to unreachable, and make a event.



 Comments   
Comment by richlv [ 2011 Nov 08 ]

hmm. usual suggestion is to avoid using 'status' item and use agent.ping + nodata() instead - that should solve this issue

Comment by Kodai Terashima [ 2011 Nov 08 ]

I know agent.ping + nodata() solution, but the solution don't solve the first problem
the most important problem is the first one

And, I think check of agent availability is important, but agent.ping + nodata() is difficult for Zabbix beginners.
If we recommend agent.ping + nodata() for all user, I think it's good to implement that function by default, without creation of item and trigger.

Comment by richlv [ 2011 Nov 08 ]

in latest versions userparameters going down still should result in nodata() trigger for agent.ping. would that solve the problem ?

continuing with slow hosts as usual is not feasible, as they would hamper the overall monitoring - such userparameters should be fixed/changed

Comment by Oleksii Zagorskyi [ 2011 Nov 09 ]

Kodai, about "if any user parameter item take a long time, Zabbix server stop monitoring all of other item on same host"
Seems you are partially wrong. See my last debugging ZBX-4284

But this feature request is very interesting overall.

Comment by Kodai Terashima [ 2011 Nov 09 ]

Thank you pointing that out, Oleksiy.

first problem I wrote looks same problem as ZBX-4284. Only one "slow userparameter or check" affect to all of other items on same host. I think it is not good behavior. Zabbix server should only change item status to not supported in this case.

I think heartbeat communication between server and agent (and unreachable host is handled by heartbeat) improve the problem and usability so much.

Comment by Peter Schultz [ 2011 Nov 09 ]

...Only one "slow userparameter or check" affect to all of other items on same host. I think it is not good behavior. Zabbix server should only change item status to not supported in this case. ...

agreed !!!

Comment by missing [ 2012 Nov 03 ]

i had this problem yet,i found something funny that zabbix server will check that server after aboute 320 minutes again.

Comment by Strahinja Kustudic [ 2014 Nov 08 ]

Zabbix setting a host as unreachable just because one item is bad, is the most annoying thing. The biggest problem is that it makes Zabbix unreliable, because if one item times out, the whole host gets disabled, so it stops running other items on that host, which means the host is not being monitored properly.

I think the easiest way to solve this problem is to define items which can make a host unreachable, e.g. it could be a check box in the item create/edit page called "Make host unreachable on time out", or some better name. This way e.g. agent.ping could have that checkbox set and only that item would make the host unreachable.

Comment by richlv [ 2014 Nov 08 ]

that's a different problem which is tracked at ZBX-4284

Comment by Strahinja Kustudic [ 2014 Nov 08 ]

Well it's not a different problem, they are related, since both of them would change how we detect if a host is unreachable.





[ZBXNEXT-644] Add ability to read /proc, /sys, any file by line and field number Created: 2011 Feb 02  Updated: 2014 Sep 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Steve mushero Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: item, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be very nice to be able to read /proc /sys values via the agent, actually any file, by row and field number.

Something like: file.read(/proc/meminfo, 10, 2) to get line 10, field 2 of meminfo.

This way we can get lots of stats the agent can't get, including memory, kernel, disk, etc.

A more advanced version would include the ability to use a macro or key such as hda for things like /sys/block/$drive/queue or even add up using /sys/block/*/queue. Have to think more about how that could be used.

For now we use a custom script to get this, but it would provide a powerful way to extend the agent.



 Comments   
Comment by Steve mushero [ 2014 Sep 14 ]

Note we'll be creating a module to do this for 2.2/2.4 if anyone interested as there are just too many things to get that are missed by the agent right now.

Comment by richlv [ 2014 Sep 14 ]

this might be partially covered by vfs.file.regexp - see https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/zabbix_agent





[ZBXNEXT-8689] Enabling of network tiering Created: 2023 Sep 06  Updated: 2023 Oct 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Karlis Salins Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Network_segregation.PNG    
Issue Links:
Duplicate

 Description   

With network tiering we mean segregating the components (database, application, frontend, “clients”) in the network, where each layer is only able to talk to the layer net to it.

Currently this kind of network tiering is not supported by Zabbix, as the front end requires direct access to the database.

Another issue is that agents/proxies needs to talk directly to the Zabbix server, instead of going through the Front end.

If we could get the possibility to let agents and proxies communicate with the server through the front, it would be great. But we would also like to see the Front end communicate with the database through the server.

With these changes, we could put the front ends in a true DMZ, the servers in the first network layer behind the DMZ, and then the database in another layer behind again.

See attached picture, where the Zabbix front end is placed in the DMZ, the Zabbix server is in the next network layer and finally the database in another layer.

This architecture is quite common, and facilitates minimal openings in the firewall between the network layers.



 Comments   
Comment by richlv [ 2023 Oct 07 ]

Frontend connecting to the DB via server has been discussed quite a lot in the past, and there might be an existing feature request - although cannot find one right now.

Comment by dimir [ 2023 Oct 09 ]

Yeah, and possibly this could solve the long-lasting issues of deadlocks in the database when server and frontend are accessing the database simultaneously.





[ZBXNEXT-6501] Add possibility for remote check UDP services and ports Created: 2021 Feb 10  Updated: 2021 Jun 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N), Server (S)
Affects Version/s: 5.0.8
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Igor Gorbach Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

We want to have a possibility to use simple checks for checking UDP port availability 

with items like

net.udp.service[udp,<ip>,port]

It is very important in case of Video Services monitoring

Now, the only ntp service available

Also, we want to check packets loss for checking UDP traffic to remote host

Now, we're able to use nping for that, for example
 

nping --udp -c 2  -p 5001 <ip>

Starting Nping 0.7.40 ( https://nmap.org/nping ) at 2020-08-31 22:41 PDT 
SENT (0.0977s) UDP <ip>:53 > 172.31.0.25:5001 ttl=64 id=48591 iplen=28 
SENT (1.0981s) UDP <ip>:53 > 172.31.0.25:5001 ttl=64 id=48591 iplen=28 
RCVD (1.3151s) UDP <ip>:5001 > 172.31.0.69:53 ttl=64 id=42729 iplen=1498   
Max rtt: 216.701ms | Min rtt: 216.701ms | Avg rtt: 216.701ms Raw packets sent: 2 (56B) | Rcvd: 1 (1.498KB) |
Lost: 1 (50.00%) Nping done: 1 IP address pinged in 1.40 seconds

Please, add native support for those checks to simple checks and agent checks

 



 Comments   
Comment by Alex Kalimulin [ 2021 Jun 02 ]

There is no universal way to do a generic ping over UDP that would work in all cases. UDP is a connectionless protocol that, in contrast with TCP, does not provide any kinds of delivery confirmations.

When a client sends a UDP packet to some port, the packet gets delivered to the target OS which in turn checks whether there is a listener process registered in the OS. If there is then the packet gets delivered to the process which is free to either respond or keep silence, depending on the application logic. If there is no listener process, then the packet gets discarded and the OS sends back ICMP packet “port unreachable”.

In theory, one can tell the UDP port is closed by checking such ICMP responses. In practice, however, firewalled environments just block such packets more often than not.

Utilities, like nping —udp just send UDP packets and hope for the best. You can rely on their results only when you either know for sure that ICMP packets are always delivered from your target to the sender or know that the application does always immediately respond to UDP requests with some response.





[ZBXNEXT-6476] Discovering aggregated interfaces on AIX Created: 2021 Jan 28  Updated: 2021 Apr 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Elina Kuzyutkina (Inactive) Assignee: Andris Mednis
Resolution: Unresolved Votes: 3
Labels: agent, aix, solaris
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

IBM AIX, Oracle Solaris


Issue Links:
Duplicate

 Description   

Currently no aggregated interfaces are discovered with net.if.discovery on IBM AIX and Oracle Solaris systems.
The function is implemented using perfstat_netinterface():
https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/performancetools/idprftools_perfstat_int_netint.html
And it simply does not support aggregated interfaces.

A request has now been sent to IBM about the availability of alternative methods to get this information

Depending on the answer, we expect either the corresponding functionality in the next upgrade =) or add a note to the documentation on the current state of affairs.



 Comments   
Comment by Vladimir Kostornoy [ 2021 Apr 01 ]

As far as I understand, statistics for aggregated interface (EtherChannel on AIX / aggr on Solaris) are collected, but there is no possibilities to check load of every single port inside aggregated interface.





[ZBXNEXT-8221] Reload agent configuration without restarting a service Created: 2023 Jan 20  Updated: 2023 Nov 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.12
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aigars Kadikis Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

When using Zabbix agent with certificates, when certificate changes, it requires an agent restart to pick up a new certificate. To keep the environment very secure (3 months retention period for certificate), it's mandatory to restart the agent multiple times per year.

It would be a great functionality to:

1) Allow the runtime command for the agent to reload a config without rebooting the service

and/or

2) Develop a task inside the user interface (similar as "Check now" button) to reload the configuration cache remotely. "Check Now" currently is supported via passive checks only.

We can headline this feature request as "Decrease the maintenance cost for very secure environments".



 Comments   
Comment by Alex Kalimulin [ 2023 Jan 20 ]

Closely related but not the same: ZBXNEXT-3162





[ZBXNEXT-7094] Create extra configuration option for zabbix_sender Created: 2021 Dec 02  Updated: 2021 Dec 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.4.8
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Florain Schmaus Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Right now, zabbix_sender is coupled with Zabbix agent 1. That means, the zabbix_sender binary is only build if --enable-agent is passed to the configure script. This also means that I have to set USE="agent" on my Gentoo machines, even though I just want to use zabbix_sender with agent 2. Please consider further decoupling zabbix_sender from agent 1, so that it can be enabled independently.






[ZBXNEXT-7040] Add built in update function for Zabbix Agent for Windows Created: 2021 Nov 09  Updated: 2021 Nov 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Aleksey Volodin Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes

 Description   

Nowadays almost all Windows program can check it version and compare it with latest version on internet.

And after that they can suggest you for update, or even updated by himself.

It will by nice see to add this kind of function in Zabbix Agent on Windows.






[ZBXNEXT-6701] Zabbix agent for AS400 Created: 2021 Jun 04  Updated: 2021 Jun 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Elina Kuzyutkina (Inactive) Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, as400
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

There is community povided solution:
https://assets.zabbix.com/files/zabconf2017/constantin_oshmyan-zabbix_agent_emulator_for_as400.pdf
https://share.zabbix.com/operating-systems/ibm-i-i5-os-os-400-for-ibm-system-i-as-400/zabbix-agent-emulator-for-as-400-platform
But the agent is old version (and not officially supported)






[ZBXNEXT-7395] Make native Zabbix components for e2k platform Created: 2021 Dec 29  Updated: 2021 Dec 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Khatsayuk Alexander Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

As you know, there is another one computer platform - Elbrus (e2k).

It will be great to have native Zabbix Core components  like Server, Proxy and Agent, compiled to work on it.






[ZBXNEXT-4847] About Unix(Solaris, AIX, HPUX) Memory usage Created: 2018 Nov 05  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.22
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Kim KilJong Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi.

I have a question about Unix memory data collection.

On AIX, Solaris, and HPUX operating systems, what libraries, files, or commands does zabbix agent use to check memory usage?

 

Thanks.






[ZBXNEXT-4534] make system.users.num item return the number of distinct users Created: 2018 May 02  Updated: 2019 Nov 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.4.8
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File ZBXNEXT-4534.diff    

 Description   

Currently, the system.users.num item returns the number of sessions, counting the number of lines in the output of who:

$ who
asaveljevs pts/0        2018-03-29 16:26 (:0)
asaveljevs pts/1        2018-03-29 16:26 (:0)
asaveljevs pts/3        2018-03-29 16:44 (:0:S.0)
asaveljevs pts/4        2018-03-29 16:44 (:0:S.1)
asaveljevs pts/5        2018-04-03 12:57 (:0:S.2)
asaveljevs pts/6        2018-04-04 12:07 (:0:S.3)
asaveljevs pts/7        2018-04-04 12:08 (:0:S.4)
asaveljevs pts/8        2018-04-05 11:59 (:0:S.5)
asaveljevs pts/9        2018-04-20 13:13 (:0:S.6)
asaveljevs pts/10       2018-04-20 14:00 (:0:S.7)
asaveljevs pts/11       2018-04-27 14:26 (:0:S.8)
$ who | wc -l
11
$ zabbix_agentd -t system.users.num
system.users.num                              [u|11]

This is nice, but in reality there is just one user logged in. Similarly, if a single user (Alice) establishes two SSH sessions to a server, system.users.num will return 2. Perhaps this can be solved by adding a parameter to system.users.num to choose between the current behavior and the number of distinct users.

There may be a similar need to monitor whether a particular user is logged in. For instance, Alice may want to monitor if Bob is logged on to a server for a long time.



 Comments   
Comment by Vladislavs Sokurenko [ 2019 Nov 11 ]

Attached patch with possible solution ZBXNEXT-4534.diff





[ZBXNEXT-4453] provide built-in master items for CPU and network monitoring Created: 2018 Mar 29  Updated: 2018 Mar 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.4.7
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 1
Labels: dependentitems
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix documentation page on dependent items says that it is a good idea to collect various CPU and network statistics simultaneously. However, that page then proceeds to give a different example, leaving it to the user to invent a way to do the same with CPU and network. There should probably be a built-in way to do that.






[ZBXNEXT-4406] FreeBSD 11.1 has new memory page queue Created: 2018 Feb 20  Updated: 2018 Mar 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.4.6
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Kirill Varnakov Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: agent, graphs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

FreeBSD 11.1 and later versions



 Description   

Hi.

In FreeBSD version 11.1 appeared new memory queue - Laundry. Zabbix agent doesn't have key for it.

Proof links:
https://lists.freebsd.org/pipermail/freebsd-arch/2016-November/018020.html
https://reviews.freebsd.org/D8302



 Comments   
Comment by Aleksejs Petrovs [ 2018 Mar 01 ]

Hello Kiril,

Thank you for reporting.

Sounds more like a feature request, rather than a bug. I will move this to the ZBXNEXT.

Regards,
Aleksejs!

Comment by Kirill Varnakov [ 2018 Mar 01 ]

Hi. In my opinion, it is a malfunction of agent on FreeBSD, because you don't see all kind of memory...





[ZBXNEXT-4079] Internal items to monitor cache locking Created: 2017 Sep 04  Updated: 2022 Dec 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 4.0.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Glebs Ivanovskis (Inactive) Assignee: Andris Mednis
Resolution: Unresolved Votes: 0
Labels: performance, troubleshooting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-8076 Add command-R prof_enable for determi... Closed

 Description   

Would be nice to have internal items to monitor locking of configuration cache, value cache, history cache, trend cache, etc.:

  • number of times cache was locked;
  • average time needed to acquire lock;
  • total time spent within lock;
  • average time within lock.


 Comments   
Comment by Vladislavs Sokurenko [ 2022 Dec 06 ]

This is mostly covered by ZBXNEXT-8076





[ZBXNEXT-5043] Create item to track last communication from an agent Created: 2019 Feb 14  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: James Angi Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: agent, regression, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Due to the changes in timestamping items introduced in 4.0 it is no longer possible to track/trigger when an active agent client has been offline for X minutes if that client's clock is inaccurate.

For example, using agent.ping.nodata(5m) doesn't work very well when the client clock is 6 minutes behind the server and its clock is used to timestamp the incoming value.

In lieu of fixing the timestamps for all items for active agents I would suggest a new item like "host.lastcontact" that gets timestamped by the server every time there is communication with the host so we can properly detect offline clients.

Here is a forum thread discussing this issue in more detail:

https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/373803-zabbix-agent-ping-timestamp



 Comments   
Comment by alex dekker [ 2019 Feb 18 ]

Perhaps what would be useful would be "meta-items" to track the status of items. Eg append .lastupdate to agent.ping to get the last time that agent.ping was updated.

Comment by James Angi [ 2019 Feb 19 ]

That sounds great actually.  Would actually accomplish what I was suggesting (not so eloquently) in the thread I referenced.





[ZBXNEXT-5066] Add support for SLES 11 Created: 2019 Feb 22  Updated: 2021 May 21

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.0.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Leonard Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

We manage a number of Linux servers with SLES 11 which we like to add in Zabbix monitoring.

It would be nice if there is a Zabbix Agent package (with encryption) available for SLES 11.



 Comments   
Comment by dimir [ 2019 Feb 22 ]

We support SLES starting from 12: https://www.zabbix.com/download . Agent packages include encryption support. All you need is

  • install zabbix-release package
  • install zabbix-agent package

Adding support for SLES 11 is not an option for us, it uses SysVinit which would require too much work.





[ZBXNEXT-4978] allow ro restrict remote commands per server Created: 2019 Jan 24  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.0.3
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be useful to allow or disallow remote commands per server.

Usecase: parallel Zabbix instance for testing that would have identical configuration, but agents would not allow remote commands from it to avoid both servers running the commands.



 Comments   
Comment by richlv [ 2019 Jan 24 ]

ZBXNEXT-4025 asks for a limit on what commands may be executed.





[ZBXNEXT-4754] Define IPv6 and IPv4 together as a SourceIP Created: 2018 Sep 25  Updated: 2020 Sep 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Vitaly Zhuravlev Assignee: Michael Veksler
Resolution: Unresolved Votes: 6
Labels: ipv6, sourceip
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

It's currently impossible to define both IPv6 and IPv4 addresses in SourceIP param.

There must be a way to provide both for the situations where IPv6 and IPv4 networks are used together. Zabbix then might choose what Source IP(IPv4 or IPv6) to use depending on the destination IP version.



 Comments   
Comment by Michael Veksler [ 2020 Jan 17 ]

This is available in Agent2





[ZBXNEXT-4641] Include external configuration file as default to improve deployment and upgrade Created: 2018 Jul 17  Updated: 2022 Nov 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Packages (C), Proxy (P), Server (S)
Affects Version/s: 3.4.11, 4.0.0rc1
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Paolo Rossi Assignee: dimir
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Issue Links:
Duplicate
is duplicated by ZBXNEXT-5086 Add include directory to server's and... Closed
is duplicated by ZBX-14363 The Zabbix Proxy Debian deb package's... Closed

 Description   

I started to use Zabbix appliance (server, proxy and agent) by editing zabbix_*.conf. Almost every time I upgrade one of them, the classic

Configuration file '/etc/zabbix/zabbix_proxy.conf'

 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** zabbix_proxy.conf (Y/I/N/O/D/Z) [default=N] 


pops up.

So I reset the conf file to its default and add only one line at the end:

 

Include=/etc/zabbix/zabbix_proxy_local.conf

 

In this way, the diff are quicker to inspect, having moved all the customized parameters to an external file.

Still, I have to accept all new changes made by package distributor and then re-add the last line.

It would be convenient for sysadmin, if zabbix would include, as default, every .conf inside a directory, for example /etc/zabbix/zabbix_proxy.d/.conf. Like Apache or MySQL do. In this way using orchestration tool to upgrade many proxies and agent would proceed uninterruptedly.

 



 Comments   
Comment by dimir [ 2018 Jul 17 ]

Currently in our packages we only include by default in agent. For server/proxy there is no such thing there. I'm not sure why, I'll try to find out. Suggestions are welcome.

Comment by Paolo Rossi [ 2018 Jul 17 ]

Agent already has such line but maybe should be at the end? Custom configuration should override any default specified in standard /etc/zabbix/zabbix_agentd.conf

For server/proxy I think same approach could be ok. You could use:

/etc/zabbix/zabbix_proxy.d/*conf
/etc/zabbix/zabbix_server.d/*conf

 
The only drawback is that agent already has a directory (zabbix_agentd.d) where other config files are placed. If I get this right, order or file *.conf included is not deterministic...

You could, otherwise, include specific file name such as:

/etc/zabbix/zabbix_agentd.d/zabbix_agentd.conf
/etc/zabbix/zabbix_proxy.d/zabbix_proxy.conf
/etc/zabbix/zabbix_server.d/zabbix_server.conf

or

/etc/zabbix/zabbix_agentd_local.conf
/etc/zabbix/zabbix_proxy_local.conf
/etc/zabbix/zabbix_server_local.conf

But will the startup complains if one of those files is missing?

Comment by Marco Hofmann [ 2018 Sep 25 ]

I opened a similar feature request. There should be a default include, in every component, server, proxy, agent. Preferebly exactly like the agent does it:
Include=/etc/zabbix/zabbix_agentd.d/*.conf
It is arguable if it should be the last line, good point!

But the most important part is your very first argument:
Package distributor has shipped an updated version.
It shouldn't be necessary do deal with it, just write your own config in an include, that gets read in by default, just like the agent.

I already wrote down my wishes in https://support.zabbix.com/browse/ZBX-14363 which is a marked as a duplicate of this request. I voted for this one.

Thank you.

Comment by Glebs Ivanovskis [ 2019 May 30 ]

ZBXNEXT-5086 explains another reason to finally implement this.

Comment by Shawn Heisey [ 2022 Oct 27 ]

Another vote from me, for the .d directory structure.

I see that /etc/zabbix/zabbix_agent2.conf has the include line at the end.  Awesome.





[ZBXNEXT-4283] Add "nowait" switch for remote commands Created: 2017 Dec 15  Updated: 2017 Dec 19

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 3.4.3, 3.4.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Evgeny Kravchenko Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix server on Ubuntu 16.04 Server, several zabbix proxies on ArchlinuxARM, and lots of Windows agents



 Description   

Before zabbix 3.4, I used remote commands to automatically update zabbix agents and was happy. But now I can not restart the zabbix agent with a remote command, I can only stop it. Please add the "nowait" switch for remote commands, the same switch as for the system.run[command, nowait] items.



 Comments   
Comment by Vladislavs Sokurenko [ 2017 Dec 15 ]

What if you execute remote commands on zabbix agent ?

Comment by Evgeny Kravchenko [ 2017 Dec 15 ]

Yes, I do so. Like that:
Executing command 'wscript //B //Nologo \\zabbix\zabbix\usr\vbs\setup.vbs /upgrade'
But in step: Shell.Run ZabbixService.PathName & " -x", 0, True
The agent stops along with the wscript subordinate process.
If I use item system.run[wscript //B //Nologo \\zabbix\zabbix\usr\vbs\setup.vbs /upgrade, nowait] then an independent process wscript is created and the update completes successfully.

Comment by Vladislavs Sokurenko [ 2017 Dec 18 ]

As a workaround I suggest to execute remote commands through proxy.

Comment by Evgeny Kravchenko [ 2017 Dec 19 ]

The problem is that now it's not always possible to execute remote commands through a proxy. The solution can be to execute remote commands with "nowait" mode.
The workaround is system.run[commands, nowait] item and enabling/disabling its by Zabbix API.





[ZBXNEXT-5137] Request adding Solaris zone argument to proc.num and proc.mem Created: 2019 Mar 28  Updated: 2020 Nov 05

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: David Phillips Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: proc.mem, proc.num
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Solaris 11, LDOM/zone environment



 Description   

The current implementation of proc.num and proc.mem doesn't allow specification of zone name, unlike proc.cpu.util,



 Comments   
Comment by Andris Mednis [ 2020 Nov 05 ]

proc.num[] supports 'zone' parameter on Solaris.





[ZBXNEXT-4477] Describe UserParameter command in Frontend Created: 2018 Apr 03  Updated: 2018 Apr 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Outscale Monitoring Team Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,

UserParameter=<key>,<command>

Would it be possible to add the command for a key in the Frontend interface ?

This information could be found on the page items.php in a new column and returned with the value of the key or updated every days to reduce informations sent/received by Agent/Server.

Thanks






[ZBXNEXT-3433] show which server an active agent process is working with Created: 2016 Sep 13  Updated: 2016 Sep 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: activeagent
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when an agent is configured to work with multiple servers with ServerActive, it is not obvious which server each process works with.

processlist shows something like this :

/usr/local/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
/usr/local/sbin/zabbix_agentd: active checks #2 [idle 1 sec]

logfile shows something like this :

agent #4 started [active checks #1]
agent #5 started [active checks #2]

if possible, it would be useful to expose server in the process list and the startup logfile messages.






[ZBXNEXT-3952] Extend Zabbix agent by capabilities to monitor UNIX message queues. Created: 2017 Jun 23  Updated: 2019 Jun 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.9
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: linux, mq, newitemkey, unix
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File mqueue.c    

 Description   

It would be nice, if Zabbix agent gets extended by functionalities to monitor all kind of aspects of IPC message queues on UNIX/Linux - POSIX as well as SysV.

Regarding SysV message queues there is already a loadable module available: zaipcs



 Comments   
Comment by Marc [ 2017 Jun 24 ]

Attached mqueue.c is a first prototype in the form of a (3.2) loadable module.

[root@localhost ~]# zabbix_agentd -t 'mqueue.getattr[/queue1,maxmsg]'
mqueue.getattr[/queue1,maxmsg]                [u|42]
[root@localhost ~]# zabbix_agentd -t 'mqueue.getattr[/queue1,msgsize]'
mqueue.getattr[/queue1,msgsize]               [u|55]
[root@localhost ~]# zabbix_agentd -t 'mqueue.getattr[/queue1,curmsgs]'
mqueue.getattr[/queue1,curmsgs]               [u|0]
[root@localhost ~]# zabbix_agentd -t 'mqueue.getattr[/queue1,malloc]'
mqueue.getattr[/queue1,malloc]                [u|2310]
[root@localhost ~]# zabbix_agentd -t 'mqueue.sumattr[maxmsg]'
mqueue.sumattr[maxmsg]                        [u|277]
[root@localhost ~]# zabbix_agentd -t 'mqueue.sumattr[msgsize]'
mqueue.sumattr[msgsize]                       [u|1022]
[root@localhost ~]# zabbix_agentd -t 'mqueue.sumattr[curmsgs]'
mqueue.sumattr[curmsgs]                       [u|0]
[root@localhost ~]# zabbix_agentd -t 'mqueue.sumattr[malloc]'
mqueue.sumattr[malloc]                        [u|60392]
[root@localhost ~]# zabbix_agentd -t 'mqueue.info[/queue1,size]'
mqueue.info[/queue1,size]                     [u|0]
[root@localhost ~]# zabbix_agentd -t 'mqueue.discovery'
mqueue.discovery                              [s|{"data":[{"{#NAME}":"/queue2","{#FILE}":"/dev/mqueue/queue2","{#UID}":0,"{#GID}":0,"{#USER}":"root","{#GROUP}":"root"},{"{#NAME}":"/queue1","{#FILE}":"/dev/mqueue/queue1","{#UID}":0,"{#GID}":0,"{#USER}":"root","{#GROUP}":"root"},{"{#NAME}":"/test3","{#FILE}":"/dev/mqueue/test3","{#UID}":0,"{#GID}":0,"{#USER}":"root","{#GROUP}":"root"},{"{#NAME}":"/test2","{#FILE}":"/dev/mqueue/test2","{#UID}":0,"{#GID}":0,"{#USER}":"root","{#GROUP}":"root"},{"{#NAME}":"/test1","{#FILE}":"/dev/mqueue/test1","{#UID}":0,"{#GID}":0,"{#USER}":"root","{#GROUP}":"root"}]}]
[root@localhost ~]#
Comment by Glebs Ivanovskis [ 2019 Jun 11 ]

Few comments on mqueue.c:

  • zbx_module_item_timeout() is optional, there is no point in defining this function if you are not planning to use timeout value.
  • No need to call srand() in zbx_module_init().
  • Usage of internal Zabbix definitions (like zbx_strdup() and zbxjson.h) is controversial — ZBX-11813.

All in all, pretty neat!





[ZBXNEXT-3854] UPNP Agent Created: 2017 May 05  Updated: 2017 May 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.5
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Sascha Valckenier Kips Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Adding Upnp Agent with Bulk and Authentication on Device.

For any Routers like Fritz!Box with default Firmware there are only possible to get data from upnp interface or webinterface. The webinterface is hard to decode and instable on firmware changes.






[ZBXNEXT-3746] Runtime control option to reload loadable modules without restarting Zabbix Created: 2017 Mar 17  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.4.0alpha1
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: loadablemodule
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Would be nice to have something like -R modules_reload so that one can update/recompile loadable modules and use them straight away without a restart.



 Comments   
Comment by Marc [ 2017 Mar 17 ]

ZBXNEXT-3162 asks for configuration file parameter reloading.





[ZBXNEXT-3691] Support for positional parameters in item key aliases Created: 2017 Feb 08  Updated: 2020 Sep 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.1, 3.2.2, 3.2.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Simon Lawrence Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All Agents



 Description   

Item aliases should support positional parameters.

Since 3.2 item aliases support parameters (ZBXNEXT-3206).
So it is possible to have something like
Alias=alias.service.discovery[*]:service.discovery
in the agent config file.

This feature is promoted as a means of having multiple discovery rules with the same key linked to a host, each rule discovering a different subset of items due to filtering.

However, currently there is no easy way to create item prototypes for each of these discovery rules that have the same item key.
For example you may want to monitor the state of discovered services, so for each discovery rule you want an item with a key of service.info[{#SERVICE.NAME}].

A neat workaround would be to add support for positional parameters to aliases.

The item prototypes for each discovery rule could then have a key such as:
alias.service.info[a_unique_string,my_real_service_name]

..and in the agent config file, an alias statement such as
Alias=alias.service.info[*]:service.info[$2]



 Comments   
Comment by Mickael Martin (Cyres) [ 2020 Sep 09 ]

I like this idea.





[ZBXNEXT-3145] support "subjectAltName" extension in certificates Created: 2016 Feb 16  Updated: 2016 Feb 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.0.0
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: certificates, encryption
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

As mentioned initially in (58) in ZBXNEXT-1263, there is a trend to move away from "commonName" (see http://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl/27931596#27931596 and http://unmitigatedrisk.com/?p=381) in favor of "subjectAltName". The current implementation only checks "commonName" (in "Subject" only!) and ignores "subjectAltName". This means that if a Web server certificate omits "commonName" and uses "subjectAltName", this certificate cannot be reused for Zabbix if a user wants to verify the hostname.






[ZBXNEXT-3021] make zabbix_get use Zabbix server's configuration file Created: 2015 Oct 26  Updated: 2024 Jan 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: encryption, zabbix_get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3492 Implement -c parameter (path to confi... Closed

 Description   

With the introduction of TLS in ZBXNEXT-1263, it now makes sense for zabbix_get to use TLSCAFile, TLSCRLFile, TLSCertFile, and TLSKeyFile parameters from Zabbix server configuration file, similar to how zabbix_sender reuses Zabbix agent configuration file.



 Comments   
Comment by Aleksandrs Saveljevs [ 2015 Oct 26 ]

It also makes sense for zabbix_get to use the same parameters from Zabbix proxy configuration file, but with Zabbix proxy there is more confusion: it has TLSConnect, TLSPSKIdentity, TLSPSKFile parameters (used for server communication), which the user might confuse with zabbix_get's --tls-connect, --tls-psk-identity, --tls-psk-file (used for agent communication).

Comment by Omniton [ 2016 Oct 10 ]

would be useful to support agent's config file as well in case of PSK encryption and running zabbix_get on agent side (zabbix_get -s localhost ..)

Comment by richlv [ 2017 Jan 06 ]

omniton, what parameters would be useful for zabbix_get in the agent config file ?

Comment by richlv [ 2017 Jan 06 ]

similar issue about zabbix_sender : ZBXNEXT-3651

Comment by Omniton [ 2017 Jan 06 ]

what I have to use on agent side (psk-based encryption) to check some item:
zabbix_get -s localhost -k <item.key> --tls-psk-file /etc/zabbix/zabbix_agentd.psk --tls-psk-identity "PSK 001" --tls-connect psk

It would be helpful if zabbix_get can read parameters from config file. In this case same command would be:
zabbix_get -s localhost -k <item.key> -c /etc/zabbix/zabbix_agentd.conf

Comment by Orion Poplawski [ 2024 Jan 11 ]

This would be appreciated.





[ZBXNEXT-3016] use PSK and certificate authentication instead of matching IP address in Server Created: 2015 Oct 22  Updated: 2015 Oct 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P)
Affects Version/s: 3.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: authentication, encryption, passive
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-12 Allow Server=*.*.*.* in agent conf Closed

 Description   

Feature request ZBXNEXT-1263 introduces support for encrypted TLS communications between Zabbix components using PSK and certificates.

Currently, passive agents and proxies use Server configuration file parameter to determine whether the connection is coming from a trusted Zabbix server. However, with TLS in place, it is possible to make that requirement optional, so that whoever has a valid PSK or trusted certificate can be treated as a valid Zabbix server. This may especially help in dynamic environments.



 Comments   
Comment by Aleksandrs Saveljevs [ 2015 Oct 22 ]

Note that setting Server=0.0.0.0 does not seem to work, which is requested in ZBXNEXT-12.

Comment by Aleksandrs Saveljevs [ 2015 Oct 22 ]

Actually, server IP is not checked at all for passive proxy, see ZBX-4089.

Comment by Aleksandrs Saveljevs [ 2015 Oct 22 ]

To clarify a bit how this is different from ZBXNEXT-12, suppose we have "TLSAccept=unencrypted,psk". If we have an incoming unencrypted connection, then we want to use Server. Otherwise, if we have a PSK connection, then we may wish to ignore Server.





[ZBXNEXT-2912] Optional parameter to affect period considered by statistics collector Created: 2015 Aug 20  Updated: 2015 Aug 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.10
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: average, collector, items, statistics
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

How about supporting an optional Item parameter to affect the period considered by the Zabbix agent's statistics collector?
I could also think of another parameter to affect the calculation method.

system.stat[cpu,pc,1m,avg]

By this one could have an Item update interval of a minute or even longer but wouldn't miss values between Item checks.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Aug 21 ]

Just notes ...
As I remember zabbix agent collects 900 values (60 seconds*15 minutes to cover avg1, avg5, avg15 params) for several CPU metrics by default.
Those buffers have probably fixed size in memory which allocated on agent start.

I recall when we introduced more than 8 (or 9) hard drives monitoring support - zabbix devs introduced sort of dynamic memory allocation, which actually is re-allocation of memory segments when required, to keep used memory as less as possible.
It's possible to find such details in documentation I think.





[ZBXNEXT-2931] Add proper backtrace support on BSD systems when dumping crash data Created: 2015 Aug 31  Updated: 2018 Feb 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Andris Zeila Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: debugging, freebsd, troubleshooting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

FreeBSD, NetBSD, OpenBSD


Attachments: File freebsd_backtrace_x64.diff    

 Description   

On BSD systems fatal signal handler is running on its own stack so backtrace() function does not give meaningfull result. To print proper stack trace we should take information from signal context and do manual stack unwinding.

See the attached patch for stack trace prototype on 64 bit BSD systems.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Sep 01 ]

There were several issues in the past where we could not get backtrace on FreeBSD with the same details on Linux.
Good thing it will be really available now.





[ZBXNEXT-5175] Enable SNMP auth with OS data Created: 2019 Apr 14  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 4.0.5, 4.0.6
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Ignacio Facundo Aguirre Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: agent, snmp, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

GNU/Linux Debian (and almost any other GNU/Linux distro)



 Description   

Hi, it would be great if Zabbix could take the SNMP "auth" data (be it v1, v2c, or v3) from the OS, like any textual OID if the MIBs are correctly configured (like this).

I have the SNMP "auth" data for all my devices in $HOME/.snmp/hosts, soy I can do things like:

$snmpwalk router1.example.com 1.3.6.1

without specifying any particular info in the CLI beacause that info is in the file router1.example.com.conf in the $HOME/.snmp/hosts directory (or /etc/snmp/hosts).

It could be a new Type in Items, like plain "SNMP" or "SNMP from OS" to be more specific.

This way there would be no need to change the SNMP config in Zabbix, all the info is in one place per device.






[ZBXNEXT-5617] Execution time on Query/UserParamater Metrics Created: 2019 Dec 04  Updated: 2020 Jan 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Sven Solberg Assignee: Michael Veksler
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Following on from my Forum post:  https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/391176-execution-times-for-queries-and-or-userparameter

I have a need to query database servers and report on the responsiveness of the server.  The current (complicated) method would be to have the agent/server run a query (via odbc or via the user agent) and the pull back multiple items in JSON format.

The JSON result would need to have multiple calculations performed before being constructed and sent back to the sever for processing, these items would be the timing values (manually calculated) and the actual results (assuming that timeouts, errors etc were handled appropriately)

A much nicer method would be to have Zabbix collect metrics on the metrics!

For example, I need to query tablespace free space on an oracle instance.  The query normally takes 0.02 of a second.  If the server is busy, this can take longer... say... 4 or 5 seconds.  On occasions it can take 33 seconds if the server is under extreme load.  The query would complete, but Zabbix would record a timeout, but it would be useful to record the fact that it took 33 seconds.

This information could be be added as an extra column in the database and passed back from agent as general metadata. Most people would not need this level of information, but it could provide valuable insights in large organisations.

 



 Comments   
Comment by Alexei Vladishev [ 2020 Jan 31 ]

It might be implemented as some metadata passed along with item value. The metadata may also include much more detailed timing information also for troubleshooting purposes. So that we could see clearly where Zabbix spent most of the time doing value collection and processing.





[ZBXNEXT-8389] Zabbix Agent Fleet Management Created: 2023 Apr 04  Updated: 2023 Apr 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Installation (I), Packages (C)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Facundo Vilarnovo Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Similar to what elastic is doing with fleet management:
https://www.elastic.co/guide/en/fleet/current/fleet-overview.html

Please consider implementing a way to have a centralized version updating task for agents from frontend view.






[ZBXNEXT-8597] Add parameter for command line tools to get actual configuration parameters Created: 2023 Jul 26  Updated: 2023 Jul 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.19, 6.4.4
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Elina Kuzyutkina (Inactive) Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 2
Labels: agent, agent2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Agent configuration is set in a config file, but it can be overwrite by others included config files loaded after.
So it will be good to be able to get final value for such parameters as Timeout, DebugLevel, LogType, LogFile, etc. (the once that can be considered as safe to query) using zabbix_agentd or zabbix_agent2 command line tools

Regards, Elina






[ZBXNEXT-5954] Add ability to choose between software and physical swap on Solaris using system.swap.size key Created: 2020 May 15  Updated: 2020 May 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.31, 4.0.20, 5.0.0
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Edgar Akhmetshin Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Solaris 10 x86_64/sparc
Solaris 11 x86_64/sparc


Issue Links:
Causes

 Description   

system.swap.zize[,pfree] uses 'swap -l' output to provide data
please add support to show result from 'swap -s'






[ZBXNEXT-6420] encoding html contents in web monitoring Created: 2020 Oct 21  Updated: 2023 Dec 28

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Alexey Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 4
Labels: encoding, web-scenario, web.page.get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ubuntu 18.04


Attachments: PNG File image-2020-10-21-13-16-11-595.png     PNG File image-2020-10-21-13-30-44-684.png     PNG File screenshot-2023-10-25_01.PNG    
Issue Links:
Duplicate
duplicates ZBX-23490 Required pattern in Web scenario chec... Closed
is duplicated by ZBX-18762 HTTP agent does not work with sites c... Closed

 Description   

Steps to reproduce:

  1. Create Web scenarios
  2. In steps have "Required string" in cyrillic
  3. Wait receiving the history in Items.

Result:
In the history "Last error message of scenario "web-responce"" see "required pattern "правила" was not found on http://site.ru", but in html code the page have this is text.

It don't work if web page use windows-1251.

If web page use UTF-8 all ok!

 

I'm create Items "web.page.get["site.ru",,]" and in the html have questions marks instead cyrillic symbols:

 

how i'm can edit encoding for correct work finding the string?

Expected:
curl settings

 



 Comments   
Comment by Alexey [ 2020 Oct 26 ]

help me, friends!

Comment by Aigars Kadikis [ 2020 Nov 02 ]

Do you have a correct character set installed in the database level?:

show create database zabbix\G
show create table history_text\G 

The database should have:

DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

The table should have:

DEFAULT CHARSET=utf8 COLLATE=utf8_bin

Comment by Alexey [ 2020 Nov 02 ]

Yes:

mysql> show create database zabbix\G
*************************** 1. row ***************************
       Database: zabbix
Create Database: CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */
1 row in set (0.00 sec)

and:

mysql> show create table history_text\G 
*************************** 1. row ***************************
       Table: history_text
Create Table: CREATE TABLE `history_text` (
  `itemid` bigint(20) unsigned NOT NULL,
  `clock` int(11) NOT NULL DEFAULT '0',
  `value` text COLLATE utf8_bin NOT NULL,
  `ns` int(11) NOT NULL DEFAULT '0',
  KEY `history_text_1` (`itemid`,`clock`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
1 row in set (0.00 sec)

Problems only with encoding the pages windows-1251.

Command "curl https://site.ru" also has question marks, solves the problem only "iconv" in shell

Comment by Aigars Kadikis [ 2020 Nov 05 ]

Indeed there is no way to store the HTML of https://pikabu.ru/ in Zabbix database.

The item goes to the unsupported state with the message:

Server returned invalid UTF-8 sequence 
Comment by Alexey [ 2020 Dec 06 ]

Comment by Alexander Vladishev [ 2021 Jan 04 ]

Currently Zabbix does not support character encoding other than UTF-8 for item web.page.get[]. А workaround to solve this problem is to do the conversion with JS in preprocessing steps.

We cannot consider this a bug. Therefore, I am moving this ticket to the ZBXNEXT project.

Comment by Constantin Oshmyan [ 2021 Jun 02 ]

sasha wrote:

А workaround to solve this problem is to do the conversion with JS in preprocessing steps.

It seems that the error is occurred still before the preprocessing steps could be available to catch this problem?

Comment by Constantin Oshmyan [ 2023 Oct 25 ]

Just reminder: this problem does still exist (at least, in the current version 6.0.x).

The workaround ("to do the conversion with JS in preprocessing steps") is not possible, as the error (and transition of item to unsupported state) is occurred before the preprocessing; so it's noting to do in the preprocessing

Just example of result is on the screenshot:

Comment by Constantin Oshmyan [ 2023 Dec 28 ]

Was this problem resolved in ZBX-23490?





[ZBXNEXT-5883] Support more built in keys in Windows agent Created: 2020 Apr 09  Updated: 2020 May 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.4.7, 4.4.8rc1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Edgars Melveris Assignee: Michael Veksler
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2020-04-10-16-36-34-264.png     PNG File image-2020-04-10-16-37-57-073.png    
Issue Links:
Duplicate

 Description   

Currently there are some items, that are supported on Linux, but are not supported on Windows. There is a list of items supported by platform:
https://www.zabbix.com/documentation/current/manual/appendix/items/supported_by_platform
But it's possible to easily implement some of those keys also in windows.
For example, in inventory documentation we recommend using these items for populating inventory:

system.hw.chassis[full|type|vendor|model|serial] - default is [full], root permissions needed
system.hw.cpu[all|cpunum,full|maxfreq|vendor|model|curfreq] - default is [all,full]
system.hw.devices[pci|usb] - default is [pci]
system.hw.macaddr[interface,short|full] - default is [all,full], interface is regexp
system.sw.arch
system.sw.os[name|short|full] - default is [name]
system.sw.packages[package,manager,short|full] - default is [all,all,full], package is regexp

But only one of them is supported by Windows platform.
It's possible to get the same information using WMI:
https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-systemenclosure

It would be simpler and more convenient for Zabbix users if as many as possible built in keys would work the same way on all platforms.



 Comments   
Comment by Kaspars Mednis [ 2020 Apr 10 ]

Also, process monitoring can be improved, currently all metrics are not available out of box. And some processes can spawn multiple instances like (example by chrome which can be tested on every system)

SELECT Name FROM Win32_PerfFormattedData_PerfProc_Process where name like 'Chrome%'
chrome#1
chrome#2
....
chrome#22

WMI provides CPU usage by process, handle count and more, which is currently not possible with built in Zabbix agent keys.

SELECT * FROM Win32_PerfFormattedData_PerfProc_Process where Name = 'System' 
 {     
      "CreatingProcessID":0,
      "ElapsedTime":"1195352",
      "HandleCount":1258,
      "IDProcess":4,
      "IODataBytesPersec":"0",
      "IODataOperationsPersec":"0",
      "IOOtherBytesPersec":"0",
      "IOOtherOperationsPersec":"0",
      "IOReadBytesPersec":"0",
      "IOReadOperationsPersec":"0",
      "IOWriteBytesPersec":"0",
      "IOWriteOperationsPersec":"0",
      "Name":"System",
      "PageFaultsPersec":0,
      "PageFileBytes":"131072",
      "PageFileBytesPeak":"188416",
      "PercentPrivilegedTime":"0",
      "PercentProcessorTime":"0",
      "PercentUserTime":"0",
      "PoolNonpagedBytes":0,
      "PoolPagedBytes":0,
      "PriorityBase":8,
      "PrivateBytes":"131072",
      "ThreadCount":150,
      "VirtualBytes":"3559424",
      "VirtualBytesPeak":"33566720",
      "WorkingSet":"147456",
      "WorkingSetPeak":"1982464",
      "WorkingSetPrivate":"28672"
   }
] 
Comment by Kaspars Mednis [ 2020 Apr 10 ]

proc_info[process,<attribute>,<type>]

vmsize (default) - size of process virtual memory in Kbytes
wkset - size of process working set (amount of physical memory used by process) in Kbytes

Why it reports kilobytes ? I need to create additional preprocessing step to report it in Bytes and display correctly in frontend

Comment by Andy Booth [ 2020 Apr 10 ]

Zabbix guys: Love it or hate it, Windows will be widely deployed for a while yet, so there should be functional parity in the Windows Zabbix Agent with Linux etc.

This doesn't mean that you have to use the same underlying mechanisms to obtain the info, but if you expose it to the Zabbix server in the same way as other agents then it makes Zabbix config a lot easier for Zabbix admins.

A LOT of info is available from WMI.  Your docs give some basic introductory info, but they lack worked examples & clear guidance on common use cases.

An updated official Zabbix Windows template would be an easy way to boost the out of box support for Windows (e.g. using things like the example below).

examples:

items: 

dependent item: OS caption, from wmi_os:

inventory info can be pulled from the other WMI items above.

While we're here, the stock inventory fields are not that useful.  We really need the ability to customise them.

 





[ZBXNEXT-3889] Force re-read of log.count and logrt.count so that the total of matched lines is sent each time not the increase Created: 2017 May 24  Updated: 2017 May 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.5
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Paul Morris Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

change log.count (or give it an extra parameter) to force reread of the file being monitored so that the count of matched regular expressions is the total rather than number of additions (i.e. delta):

I have a script that runs and generates a log file for which I want to match lines (such as ERROR). This script gets run a few times a day i.e. every few hours. Presently when the script runs, and a line is matched on the newly created logfile, zabbix will generate a trigger, but the next iteration, there are no new lines in the file, so the count gets set to zero (as it is a delta increase) and the trigger is cancelled. As the script runs a few times a day it is unfeasible to set the agent to read the file for the same interval as the script as that would tie having to start the agent at the same time as the script. Presently I would have to "touch" the file to force the reread and therefore send the total each and every time.



 Comments   
Comment by Andris Mednis [ 2017 May 24 ]

Maybe vfs.file.regexp[] or vfs.file.regmatch[] could help instead of log.count[] ?

Comment by Paul Morris [ 2017 May 24 ]

Thank you! That will help me. Perhaps change documentation so that attention is drawn to those in the "Monitoring Logfiles" section rather than just log and logrt.





[ZBXNEXT-3097] Unicode names are not supported for Zabbix logs on Windows Created: 2016 Jan 14  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Andris Zeila Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: logmonitoring, unicode, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows



 Description   

Zabbix should use _wfopen() function to create/open log files on Windows to support unicode names. We can add zbx_fopen() function like it was done with zbx_open():

int	__zbx_open(const char *pathname, int flags)
{
	int	ret;
	wchar_t	*wpathname;

	wpathname = zbx_utf8_to_unicode(pathname);
	ret = _wopen(wpathname, flags);
	zbx_free(wpathname);

	return ret;
}





[ZBXNEXT-3025] printing supported item keys without values Created: 2015 Oct 28  Updated: 2015 Oct 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: bash, keys, testing
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix agent supports "-p" or "--print" option to print the list of supported items:

$ zabbix_agentd -p | head -20
agent.hostname                                [s|Zabbix server]
agent.ping                                    [u|1]
agent.version                                 [s|3.0.0alpha4]
system.localtime[utc]                         [u|1446017639]
system.run[echo test]                         [m|ZBX_NOTSUPPORTED] [Remote commands are not enabled.]
web.page.get[localhost,,80]                   [t|HTTP/1.1 200 OK
Date: Wed, 28 Oct 2015 07:33:59 GMT
Server: Apache/2.4.10 (Debian)
Vary: Accept-Encoding
Content-Length: 7830
Connection: close
Content-Type: text/html;charset=UTF-8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
...

This is useful for manual execution, but for automated parsing it might be useful to omit the values. One example use case might be Zabbix bash completion, see https://github.com/zabbix/zabbix-bash-completion .

Printing values (e.g., for web.page.get[] above) makes it harder to parse item keys out of that list. Also, there are potential problems when item values are expensive to obtain, give errors or that simply hang with default parameters.



 Comments   
Comment by richlv [ 2015 Oct 29 ]

ZBXNEXT-3028 asks for machine readable (maybe json) output of the -p flag





[ZBXNEXT-2929] Get sensor readings through libsensors library on Linux Created: 2015 Aug 28  Updated: 2019 Oct 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.0alpha2
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: items, libraries, sensors, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux



 Description   

Currently sensor[] item on Linux relies on our own code... Well, honestly speaking it's more or less libsensors code adapted to our coding guidelines. From time to time it stops working because of new kernel versions, new drivers, new hardware etc. as we can see in ZBX-282 and ZBX-8899 / ZBX-9678. Unfortunately, response from developers is not as prompt as it should be and users need to invent workarounds and write home-made patches which is annoying.

Let's fully rely on libsensors in this close to hardware and therefore very complicated area. From developer perspective this seems to be all pro's and no con's solution. From user perspective this will mean additional dependency during compilation but no more headache with patches/workarounds and better support for new hardware. Moreover, users will be able to fine-tune sensor output via libsensors config files (voltage sensor labels, scaling factors and so on).

Take my machine for example. Typing sensors -u in terminal yields:

f8000-isa-0a00
Adapter: ISA adapter
+3.3V:
  in0_input: 3.376
3VSB:
  in1_input: 3.360
Vbat:
  in2_input: 3.280

It is not convenient that I cannot get voltages using their human-readable labels:

sensor[f8000-isa-0a00,+3.3V]                  [m|ZBX_NOTSUPPORTED] [Cannot obtain sensor information.]
sensor[f8000-isa-0a00,3VSB]                   [m|ZBX_NOTSUPPORTED] [Cannot obtain sensor information.]
sensor[f8000-isa-0a00,Vbat]                   [m|ZBX_NOTSUPPORTED] [Cannot obtain sensor information.]

I can however query voltages using their original names:

sensor[f8000-isa-0a00,in0]                    [d|1.688000]
sensor[f8000-isa-0a00,in1]                    [d|1.680000]
sensor[f8000-isa-0a00,in2]                    [d|1.640000]

But values I get need to be scaled to get actual real world voltages. Scaling factors (or sometimes complicated mathematical expressions to rescale sensor readings) and info on what sensor readings mean what are known exclusively to hardware manufacturers. They pass this information to libsensors developers and eventually users can see them in sensors.conf.default provided with lm-sensors package:

chip "f71858fg-*" "f8000-*"

    label in0 "+3.3V"
    label in1 "3VSB"
    label in2 "Vbat"

    compute in0  @*2, @/2
    compute in1  @*2, @/2
    compute in2  @*2, @/2

Very good thing is that users can edit labels and fine-tune rescaling factors for their hardware (see http://lm-sensors.org/wiki/VoltageLabelsAndScaling for more info) as they wish which is very convenient. And more reasonable labels and real-world readings will be fed to Zabbix without need to rescale them.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Dec 06 ]

Unfortunately, it looks like lm-sensors.org died.

Comment by richlv [ 2016 Dec 06 ]

oh, indeed. the linked page : https://web.archive.org/web/20150826091212/http://www.lm-sensors.org/wiki/VoltageLabelsAndScaling

looks like the site is not coming back, see https://github.com/groeck/lm-sensors/issues/3

Comment by Glebs Ivanovskis [ 2019 Oct 30 ]

Link to their new web site: https://hwmon.wiki.kernel.org/voltagelabelsandscaling





[ZBXNEXT-3724] Zabbix Agent / SQLite3 Created: 2017 Feb 27  Updated: 2017 Feb 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Alexey Asemov Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be very nice to have some possibility in Zabbix Agent to read data from SQLite3 databases, both for discovery and value retrieval. This way, it would be very quick to access bunches of script or API generated stats without hammering bash/other scripts for these.

Something like:

SQLite3Parameter=mystats.value[*],/data/stats/mydb.sq3,SELECT value FROM stats WHERE (key1='$1') AND (key2='$2') AND (field='$3')

SQLite3Discovery=mystats.key_discovery,/data/stats/mydb.sq3,SELECT DISTINCT key1 AS KNAME,key2 AS KID FROM stats

The idea should be clear from the example. Second one should return JSON with something like {"#KNAME":..., "#KID":...} according to the field naming.



 Comments   
Comment by Volker Fröhlich [ 2017 Feb 27 ]

Easy enough to script using the sqlite shell and something like http://zabbix.org/wiki/Csv-to-lld, or even generate the JSON in SQLite in the first place.

Comment by Alexey Asemov [ 2017 Feb 27 ]

Scripting is indeed easy, but forking (and reinitializing) foreign processes per each value request is no good.

Just imagine situation where we need to read like 10 values per 1000 virtual hosts each minute, this counts to 10000 script/sqlite3 process runs per minute. Using direct database reads, we can easily avoid this fork storm. Of course, we can preprocess these stats into ~10000 files and read file contents then, but that's bad enough as well in terms of manageability.

This all boils down to Zabbix Agent being unable to request/read multiple values at once from scripts. If this can somehow be possible (passing multiple argument sets to be read to the final script to get multiple outputs), that could be another solution. But this seems even more complex

Comment by Marc [ 2017 Feb 27 ]

Should be easily implementable as loadable module

Alexey, you might be possibly also interested in ZBXNEXT-3006.





[ZBXNEXT-3341] Automatically map unsupported characters in performance counter path instance name Created: 2016 Jul 19  Updated: 2016 Oct 21

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.3
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Morten Egebæk Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File ZBXNEXT-3341.patch     File ZBXNEXT-3341.patch     Text File zabbix_agentd _x86.log     Text File zabbix_agentd.log     File zabbix_agentd_x64.exe     File zabbix_agentd_x64.exe     Text File zabbix_agentd_x64.log     File zabbix_agentd_x86.exe     File zabbix_agentd_x86.exe    

 Description   

We have a Network interface discovery where we make these : (Network interface discovery)

perf_counter["\510({#IFNAME})\544",300]
perf_counter["\510({#IFNAME})\388",300]

BUT when there is this interface (as seen in Device Manager and the same in list for net.if.discovery):
Intel(R) 82574L Gigabit Network Connection
the interface name in Performance Monitor is :
Intel[R] 82574L Gigabit Network Connection

therefore for discovered interfaces we get this error:
ZBX_NOTSUPPORTED: Cannot obtain performance information from collector.
because the interface name is with () but the item in perf_counter item needs to be specified with [ ] to be working.



 Comments   
Comment by Aleksandrs Saveljevs [ 2016 Jul 19 ]

More generally, this issue can be summarized as being able to post process values received in LLD JSON, which is a special case of ZBXNEXT-1443, so moving the issue to ZBXNEXT.

Comment by Aleksandrs Saveljevs [ 2016 Jul 19 ]

One potential solution may be to use macro functions introduced in ZBXNEXT-1638, like so:

perf_counter["\510({{#IFNAME}.tr("()", "[]")})\544",300]
perf_counter["\510({{#IFNAME}.tr("()", "[]")})\388",300]
Comment by Aleksandrs Saveljevs [ 2016 Jul 19 ]

Meanwhile, as a workaround, you can try discovering your interfaces with a script.

Comment by Oleksii Zagorskyi [ 2016 Jul 19 ]

As I know "net.if.discovery" key should return network interfaces exactly as they are named in perfmon.
Can we get profs that it's not true ?

Comment by Morten Egebæk [ 2016 Jul 19 ]

the net.if.discovery works perfect, byt it's the perf_counter where the () is replaced with []

The Counter in Zabbix:Intel(R) 82574L Gigabit Network Connection - Packets Received Errors
the perf counter: Intel[R] 82574L Gigabit Network Connection - Packets Received Errors

Comment by Oleksii Zagorskyi [ 2016 Jul 19 ]

clarify please who and what replaced ?

Comment by Morten Egebæk [ 2016 Jul 19 ]

zabbix: perf_counter["\510(Intel(R) 82574L Gigabit Network Connection)\530",300]
Perfmon perf_counter["\510(Intel[R] 82574L Gigabit Network Connection)\530",300]
if i use "perf_counter["\510(Intel[R] 82574L Gigabit Network Connection)\530",300]" as a normal Item it works

Comment by Oleksii Zagorskyi [ 2016 Jul 19 ]

do you want to say that during lld-discovery created item keys get (R) instead of [R] ?

Comment by Morten Egebæk [ 2016 Jul 19 ]

no the interface is with (R) but the item i perfmon is with [R]
Can it be translatet to [R] within the LLD

something like : perf_counter"\510({{#IFNAME}.tr("()", "[]")})\388",300

Comment by Glebs Ivanovskis (Inactive) [ 2016 Jul 19 ]

Based on this agent should probably do so:

If the instance name is automatically generated and might contain the characters "(", ")", "#", "\", or "/", use the character mapping in the following table.

Character Mapped character
( [
) ]
# _
\ _
/ _
Comment by Morten Egebæk [ 2016 Jul 19 ]

that is correct, but i don't work:

the counter in Windows is : \Network Interface(Intel[R] 82574L Gigabit Network Connection)\Bytes Total/sec
but the zabbix is \Network Interface(Intel(R) 82574L Gigabit Network Connection)\Bytes Total/sec

and i get a "Cannot obtain performance information from collector."

Comment by Morten Egebæk [ 2016 Jul 19 ]

The Log files shows this:
816:20160719:142729.411 In add_check() key:'perf_counter["\510(Intel(R) 82574L Gigabit Network Connection)\528",300]' refresh:120 lastlogsize:0 mtime:0
816:20160719:142729.411 End of add_check()

->
816:20160719:142735.802 active check "perf_counter["\510(Intel(R) 82574L Gigabit Network Connection)\528",300]" is not supported: Cannot obtain performance information from collector.

->

816:20160719:142735.802 counter path converted to '\\BCAVES12\Network Interface(Intel(R) 82574L Gigabit Network Connection)\Packets Received Errors'
816:20160719:142735.802 In get_perf_counter_value_by_path() path:\\BCAVES12\Network Interface(Intel(R) 82574L Gigabit Network Connection)\Packets Received Errors interval:300
816:20160719:142735.802 In add_perf_counter() counter:'\\BCAVES12\Network Interface(Intel(R) 82574L Gigabit Network Connection)\Packets Received Errors' interval:300
816:20160719:142735.802 add_perf_counter(): unable to add PerfCounter '\\BCAVES12\Network Interface(Intel(R) 82574L Gigabit Network Connection)\Packets Received Errors': [0x800007D1] The specified instance is not present.
816:20160719:142735.802 End of add_perf_counter(): SUCCEED
816:20160719:142735.802 get_perf_counter_value_by_path(): unable to add PerfCounter '\\BCAVES12\Network Interface(Intel(R) 82574L Gigabit Network Connection)\Packets Received Errors': [0x800007D1] The specified instance is not present.
816:20160719:142735.802 End of get_perf_counter_value_by_path():FAIL
816:20160719:142735.802 End of PERF_COUNTER():unknown

Comment by Morten Egebæk [ 2016 Jul 19 ]

When i try truh typeperf i get an error on () but not on []:

C:\Windows\system32>typeperf "\\BCAVES12\Network Interface(Intel(R) 82574L Gigabit Network Connection)\Bytes Total/sec"
"(PDH-CSV 4.0)"
"07/19/2016 14:34:17.509","-1"
"07/19/2016 14:34:18.509","-1"
"07/19/2016 14:34:19.525","-1"
Error:
The data is not valid.

C:\Windows\system32>typeperf "\\BCAVES12\Network Interface(Intel[R] 82574L Gigabit Network Connection)\Bytes Total/sec"
"(PDH-CSV 4.0)","\\BCAVES12\Network Interface(Intel[R] 82574L Gigabit Network Connection)\Bytes Total/sec"
"07/19/2016 14:34:28.353","2061.744397"
"07/19/2016 14:34:29.368","1775.246758"
"07/19/2016 14:34:30.368","1959.545897"
"07/19/2016 14:34:31.368","3192.053730"
The command completed successfully.

so it seeams that the character mapping is not working

Comment by Glebs Ivanovskis (Inactive) [ 2016 Jul 19 ]

Dear me@wwi.dk!

Can you please test attached agent binaries? They are compiled from the current trunk (without encryption) with attached patch that automatically maps characters in performance counter instance name.

Would be very nice if you'd provide the log file of the test with DebugLevel=4.

Comment by Morten Egebæk [ 2016 Jul 20 ]

Here are the logs, the app is Crashing (it's testet on a Windows 2012R2)
25692:20160720:080325.784 Unhandled exception c0000005 detected at 0x00417D63. Crashing ...
25692:20160720:080325.785 ====== Fatal information: ======
25692:20160720:080325.785 Program counter: 0x417d63
25692:20160720:080325.786 === Registers: ===
25692:20160720:080325.787 edi = 1 = 1 = 1
25692:20160720:080325.787 esi = 9fb290 = 10465936 = 10465936
25692:20160720:080325.788 ebp = 10fedf4 = 17821172 = 17821172
25692:20160720:080325.788 ebx = 9f6708 = 10446600 = 10446600
25692:20160720:080325.789 edx = 0 = 0 = 0
25692:20160720:080325.789 eax = 0 = 0 = 0
25692:20160720:080325.790 ecx = 0 = 0 = 0
25692:20160720:080325.790 esp = 10fedb8 = 17821112 = 17821112
25692:20160720:080325.790 efl = 10246 = 66118 = 66118
25692:20160720:080325.791 csgsfs = 232b5300 = 590041856 = 590041856
25692:20160720:080325.791 === Backtrace: ===

Comment by Glebs Ivanovskis (Inactive) [ 2016 Jul 20 ]

Oops... Seems like it is crashing if there is no instance name in performance counter path. Added a condition to check that. Please test updated binaries.

Comment by Morten Egebæk [ 2016 Jul 20 ]

That worked

here is the log file..

Comment by Glebs Ivanovskis (Inactive) [ 2016 Jul 20 ]

I'm glad to hear that!

Thank you very much for testing!

Comment by Glebs Ivanovskis (Inactive) [ 2016 Aug 16 ]

In general case proposed patch will not work.

Syntax for performance counter path is the following:

\\computer\object(parent/instance#index)\counter

If any of computer, object, parent, instance, index or counter contains '\', '/', '#', '(' or ')' it will spoil the operation of PdhParseCounterPath().

So, for example we have network interface
Intel(R) PRO/1000 MT Network Connection (as we see it in Device Manager and how it returned to net.if.discovery key)
and performance counter
\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Current Bandwidth:

  • perf_counter[\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Current Bandwidth] works perfectly with and without patch;
  • perf_counter[\Network Interface(Intel(R) PRO_1000 MT Network Connection)\Current Bandwidth] works only with patch applied;
  • perf_counter[\Network Interface(Intel(R) PRO/1000 MT Network Connection)\Current Bandwidth] does not work even with patch applied.

Indeed, in the last case we can't say whether "Intel(R) PRO/1000 MT Network Connection" should be treated as one-piece instance or as parent="Intel(R) PRO" and instance="1000 MT Network Connection".

Generally speaking, we can't map characters in LLD macros in perf_counter[] parameter too, because user might be discovering whole counter path.

One possible solution is to change perf_counter[path,<interval>] syntax to perf_counter[<computer>,object,<parent>,<instance>,<index>,counter,<interval>]. This will be explicit, but ugly.

Solution proposed by asaveljevs is more elegant and more general-purpose, but will require significantly more effort to implement.

Comment by Glebs Ivanovskis (Inactive) [ 2016 Aug 18 ]

I've done some code browsing and here is what I've found out.

Adding macro function is relatively easy, it boils down to one else if (...) in zbx_calculate_macro_function() and one function doing dirty job. But current token parser understands macro functions only for simple macros, no user macros and no LLD macros. Managing locations and macros, for which we support new functions, need interventions in huge and complicated substitute_simple_macros() function. And as a bonus there is a fact that LLD macros and all other macros are processed in two passes using two different functions...

Comment by Oleksii Zagorskyi [ 2016 Oct 21 ]

some zabbix users use custom lld script to get correct interface names from WMI ...





[ZBXNEXT-3323] Support for multiple metadata lines in agent configuration Created: 2016 Jun 27  Updated: 2016 Jun 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Rodrigo Mosconi Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3324 Support for multiple metadata lines i... Closed

 Description   

Support for multiple Hostmetada lines in agent configuration is usefull for better integration with some configuration management tools. Example:

  1. The configuration system always put a line with the operating system:
    HostMetadata Linux
  2. And one line per service/application/enviroment
    HostMetadata JBOSS
    HostMetadata APPNAME
    HostMetadata HML


 Comments   
Comment by Alexei Vladishev [ 2016 Jun 27 ]

Why don't you put it in one line:

HostMetadata=Linux/JBOSS

or

HostMetadata=Linux/APPNAME

Comment by richlv [ 2016 Jun 27 ]

as alexei mentioned, it is a common approach to use a separator, so something like "Linux|JBOSS|HML" would do.
you might want to use a leading & trailing separator, too - "|Linux|JBOSS|HML|". that way in your actions you could check for "|HML|" and not match "HMLZOMG"
you'd still be limited to 255 characters, but so far nobody has requested that limit to be extended.

Comment by Rodrigo Mosconi [ 2016 Jun 27 ]

For some configuration management (CM for short) tools is easier to append a line.

Comment by richlv [ 2016 Jun 27 ]

while it might be a valid point in some cases, alone it's probably not worth changing zabbix for that. the tools could write data to a file that a simple script would the parse into the zabbix config.
even if zabbix supported that, there would be a question on how to pass/interpret that data. seems like making the config management tools create metadata line would be much easier.





[ZBXNEXT-3188] Avoid frequent creation of network connections Created: 2016 Mar 10  Updated: 2019 Dec 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.0.1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 10
Labels: connections, performance, tcp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Zabbix may create and close quite some network connections during operation, because it does not maintain permanent connections - neither between its components nor to monitored entities.

In some areas this has been mitigated by requesting respectively exchanging data in a bulk over a single network connection.

However, this is not the case for most agent-less checks and as well not for Zabbix agent (passive) checks.
Especially the latter has the tendency to cause lots of network connections being created per monitored host.

While extending the use of bulk-requests might be an obvious option, it could also be worth to introduce a new process type "Connection manager" (Iirc suggested by wiper).

Such a Connection manager could possibly be implemented as a kind of "TCP connection pool". Instead of creating a connection directly, it gets requested from the connection pool, which returns the corresponding socket. If the socket does not exist in the pool yet, it gets created first and then returned.

The pool size could be configurable to a fixed volume. Setting it to zero could disable this feature completely, what leads to previous resp. current behavior.
TCP sockets could be closed when not used for a (configurable?) period.
If the pool is exhausted the system could either fall back to legacy behavior or close the connection not been used for the longest time.

I haven't done something like that before and could imagine, that it is not that easy to implement as special care has likely to be taken for maintaining the different protocol contexts/handles.

Finally this request is about the "best" way to avoid or at least reduce frequent TCP connection creation and not about a "Connection manager". Further I'd consider it even more related to Zabbix agent (passive) checks. So any good idea is very welcomed!

Anyway, when there is a decent solution to cover more aspects, even if only in future steps, this is appreciated too, of course



 Comments   
Comment by Marc [ 2016 Mar 10 ]

Actually, if implementing a connection pool, then this does probably not need a dedicated process.

Edit:
Could be also nice to pool up to <n> sessions per communication relation. That may allow to still support parallel checks to that extend.
If all allowed connections are in use, then the respective check has to wait for a free socket (but no longer than the configured timeout)

Comment by Eric A. Borisch [ 2019 Dec 05 ]

I'd like to bring this up again in the context of the 'green field' agent2. One of the stated benefits (goals?) is to "reduce the number of TCP connections". At least with 4.4.3 and in my (all active checks) configuration, I see no reduction in connections. (Not currently TLS, but I would like to move to it...)

I would much rather see a connection held open (especially with TLS overheads) with the expectation of reuse. You could certainly have a configurable timeout, but I would be fine with it being held open for the life of the agent, and only recreated on network outage or server restart.

Sorry for using an old ticket, but it's a perfect match, and provides some historical context. I can open up a new request ticket if that is preferred.





[ZBXNEXT-3162] configuration file parameter reloading Created: 2016 Feb 23  Updated: 2022 Jan 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.0.0
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 29
Labels: configfile, reload, runtimecontrol
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate
is duplicated by ZBXNEXT-5528 Change zabbix_server settings withou... Closed

 Description   

it would be useful to reload parameters that are specified in the configuration file for a running daemon - for example, changing poller count or timeout.

this reloading should be available as a runtime control option and also happen upon receiving HUP

some parameters might be more complicated - maybe cache size changes could be challenging - but those could be split out in other issues later.



 Comments   
Comment by Strahinja Kustudic [ 2016 Sep 14 ]

It would also be great for reloading the agent after you add/change a UserParameter.

Comment by Marc [ 2017 Mar 17 ]

ZBXNEXT-3746 asks for control option to reload loadable modules.

Comment by Naruto [ 2017 Apr 11 ]

Reload of the configuration file would be nice as well.

Comment by Don Pobre [ 2017 Oct 27 ]

just what I'm looking for too.. is there by any chance this can be done? Thanks.

Comment by dimir [ 2021 Oct 14 ]

Reloading the list of user parameters without restarting Zabbix Agent was implemented in ZBXNEXT-6936





[ZBXNEXT-1624] Allow to check memory based on pid Created: 2013 Feb 14  Updated: 2019 Aug 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.5
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Alessandro De Maria Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: items
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,

could you please allow some checks (like proc.mem ) to also select their processes by PID rather than process name?
I need to check the memory for many instances of the same process and the current proc.mem implementation is not effective.

Regards
Alessandro



 Comments   
Comment by Oleksii Zagorskyi [ 2013 Feb 15 ]

Interesting, in which real cases the PID can be more effective than process name ?
Can we predict PID permanently ?

Comment by richlv [ 2013 Feb 15 ]

when wanting to monitor individually multiple processes with same name, like "zabbix_server"
we can not predict pid, but this could be handled manually, by lld or api.

Comment by Alessandro De Maria [ 2013 Feb 15 ]

Sorry re-reading the question I realise that with with no context it might seem complete rubbish I apologise!

In my case I have several processes named "q".
The only thing that changes is the TCP port they are binding to.

I have created a UserParameter as such

UserParameter=proc.fuser[*],sudo fuser $1 2>/dev/null | awk '{ print $$1 }' || echo NA

That detects the PID.

I was wondering if that PID I collect could be used somehow to detect stats about the process.

If it doesn't make sense please feel free to close this ticket and ignore my rant

Comment by Marc [ 2013 Sep 03 ]

If corresponding pid can be made available by a pid file, then something similar to ZBXNEXT-1887 for proc.mem could help.

Comment by BENOIT DESFEUX [ 2019 Aug 07 ]

Dears,

Is this feature exist ?

I m interessing because i create a userparameter for a discovery rule to  have the pid of java process

Simple "pgrep java "

zabbix is on redhat 7 version 4.0.7

Host on solaris

So i want to use a item protype like proc.memPID

I see a pach in another post. Can i use it ?

Thanks for your help

Benoit

 





[ZBXNEXT-1463] Replace SysV shared memory functions with POSIX shared memory functions in server, proxy and agent. Created: 2012 Oct 11  Updated: 2017 Feb 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Andris Mednis Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: posix
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

UNIX/Linux



 Description   

Replace SysV shared memory functions with POSIX shared memory (e.g. shm_open()) functions to prevent issues like ZBX-5662.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2017 Feb 02 ]

ZBXNEXT-3687 makes an attempt to solve the problem while staying with SysV functions. All those interested are welcome to try out development branch or the patch attached there.





[ZBXNEXT-1541] Permitting Zabbix to change Syslog facility Created: 2012 Dec 12  Updated: 2012 Dec 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Jairo Eduardo Lopez Fuentes Nacarino Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: agent, logging, patch, server, syslog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Patched for source tarball of Zabbix 2.0.3.


Attachments: File zabbix-2.0.3-conf-syslogfacility-06.patch    

 Description   

Hello, my name is Jairo and I am currently working for Miracle Linux in Japan on Zabbix development.

We have extended the Zabbix server and agent to be able to use Syslog for logging purposes if it is so required by users. By default the operation is the same as it has always been. The configuration files now accept the SyslogFacility= variable, permitting the user to use the default daemon based logging or the Syslog LOG_LOCAL facilities from 0 to 7.

Permitted syntax is SyslogFacility=local0 or SyslogFacility=0 for 0 to 7. The default is SyslogFacility=daemon.

For the SyslogFacility variable to be taken into account the configuration variable LogFile must not be present.

We thank you for your time and hope to receive comments!



 Comments   
Comment by richlv [ 2012 Dec 12 ]

updated summary to better reflect the request





log time format improvements (ZBXNEXT-490)

[ZBXNEXT-1453] timezone offset for log time format Created: 2012 Oct 05  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request (Sub-task) Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: logmonitoring, logtimeformat, timezone
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently log time format treats logged time as utc, which often is not true.
then frontend applies timezone offset, and it's all wrong.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Mar 31 ]

More precisely, Zabbix treats logged time as Zabbix server local time.





[ZBXNEXT-1428] log[] item slould be able to fetch multiple sequental lines Created: 2012 Sep 17  Updated: 2021 Mar 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 2.0.2
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Igor Urazov Assignee: Unassigned
Resolution: Unresolved Votes: 22
Labels: logmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-16125 Getting set of lines when monitoring log Closed

 Description   

Extremely useful for logs with Java exceptions.



 Comments   
Comment by richlv [ 2012 Sep 17 ]

how would that differ from the current implementation ?

Comment by Igor Urazov [ 2012 Sep 17 ]

Here is sample log entry:
2012-09-17 00:00:00,117 ERROR [AlarmManager] (com.ni.framework.exception.NISystemException) Error while sending email ::
javax.mail.MessagingException: Could not connect to SMTP host: smtprelay, port: 25;
nested exception is:
java.net.ConnectException: Connection refused

I want to match all messaging exceptions and then set up triggers for different reasons.

Or match the whole exception with call stack and put in trigger class which caused it (which is at the bottom of stack).

Comment by Constantin Oshmyan [ 2014 Sep 03 ]

The parsing of multi-line messages could be very useful feature.
The main problem with it is a mechanism allowing to distinguish one message from another. It is necessary an accurate definition of what is a "message".

For example, a competitive product "IBM Tivoli Monitoring" has "Universal Agent" component that could be set up to parse a multi-line messages in log files or script outputs via a RECORDSET directive. It uses the number of possibilities to define a "message":

  • just using counter (maximum number of lines per single message);
  • describing some delimiter (if it is used between different messages);
  • using template describing either the beginning or the end of message;
  • using an XML tag.

As Zabbix-agent already uses a regular expressions for log monitoring, it seems for me that the most useful for Zabbix could be the using of regular expression to define the beginning of message. Ideally, with the additional parameter specifying the maximum number of lines per message.

Example
Real log file of some Java Application (Novell Role-Based Provisioning Module running on IBM WebSphere) has the following part:

[7/14/14 13:09:00:611 EEST] 00000096 SystemOut     O INFO  [RBPM] [com.novell.soa.persist.DatabaseSchemaUpdate:analyzeSchema] Checking schema for table SEC_SYNC_CLEANUP_QUEUE....found
[7/14/14 13:09:02:001 EEST] 00000076 NGUtil$Server I   ASND0002I: Detected server servantPL3_srv1 started on node vmwastest1Node01
[7/14/14 13:09:02:301 EEST] 00000075 NGUtil$Server I   ASND0002I: Detected server cusPL4_srv4 started on node vmwastest4Node01
[7/14/14 13:09:02:302 EEST] 00000075 NGUtil$Server I   ASND0002I: Detected server cusPL5_srv2 started on node vmwastest2Node01
[7/14/14 13:09:02:302 EEST] 00000075 NGUtil$Server I   ASND0002I: Detected server irPL5_srv4 started on node vmwastest4Node01
[7/14/14 13:09:03:001 EEST] 00000096 SystemOut     O ERROR [RBPM] [com.sssw.fw.servlet.EboBootServlet:init] Runtime exception initializing.
com.novell.soa.persist.PersistenceException: java.lang.IllegalStateException: Expected to return only foreign keys for base table name: PORTALPORTLETHANDLES and got results for table: null
        at com.novell.soa.persist.DatabaseSchemaUpdate.unappliedChangesets(DatabaseSchemaUpdate.java:346)
        at com.novell.soa.persist.DatabaseSchemaUpdate.validateDatabaseSchema(DatabaseSchemaUpdate.java:212)
        at com.sssw.fw.servlet.EboBootServlet.init(EboBootServlet.java:98)
        at com.sssw.portal.servlet.EboPortalBootServlet.init(EboPortalBootServlet.java:59)
        at javax.servlet.GenericServlet.init(GenericServlet.java:161)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:342)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1366)
        at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:614)
        at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:584)
        at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:425)
        at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
        at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
        at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
        at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
        at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
        at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1177)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
        at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:776)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl$5.run(ApplicationMgrImpl.java:2195)
        at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5474)
        at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5600)
        at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2200)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:446)
        at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:389)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:117)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:995)
        at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:502)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)
Caused by:
java.lang.IllegalStateException: Expected to return only foreign keys for base table name: PORTALPORTLETHANDLES and got results for table: null
        at liquibase.change.core.DropAllForeignKeyConstraintsChange.generateChildren(DropAllForeignKeyConstraintsChange.
java:104)
        at liquibase.change.core.DropAllForeignKeyConstraintsChange.generateStatements(DropAllForeignKeyConstraintsChange.java:54)
        at liquibase.change.AbstractChange.warn(AbstractChange.java:78)
        at liquibase.changelog.visitor.ValidatingVisitor.visit(ValidatingVisitor.java:77)
        at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:58)
        at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:134)
        at liquibase.Liquibase.listUnrunChangeSets(Liquibase.java:583)
        at liquibase.Liquibase.reportStatus(Liquibase.java:596)
        at com.novell.soa.persist.DatabaseSchemaUpdate.unappliedChangesets(DatabaseSchemaUpdate.java:323)
        ... 33 more
[7/14/14 13:09:03:007 EEST] 00000096 SystemOut     O INFO  [RBPM] [com.sssw.portal.servlet.EboPortalBootServlet:init] Identity Manager Roles Based Provisioning Module Version 4.0.2
[7/14/14 13:09:03:007 EEST] 00000096 SystemOut     O INFO  [RBPM] [com.sssw.portal.servlet.EboPortalBootServlet:init] Patch E
[7/14/14 13:09:03:008 EEST] 00000096 SystemOut     O INFO  [RBPM] [com.sssw.portal.servlet.EboPortalBootServlet:init] Driver Version 2.2
[7/14/14 13:09:03:008 EEST] 00000096 SystemOut     O INFO  [RBPM] [com.sssw.portal.servlet.EboPortalBootServlet:init] Build Revision 41620
[7/14/14 13:09:04:048 EEST] 00000096 SystemOut     O INFO  [RBPM] [com.novell.soa.notification.impl.jms.JMSConnectionMediator:init] Starting JMS notification system
[7/14/14 13:09:04:051 EEST] 00000096 SystemOut     O WARN  [RBPM] [com.novell.soa.notification.impl.NotificationEngine:<init>] Could not properly initialize JMS persistence for the notification system. Will revert back to non-persistent asynchronous notification system.

This part has an error message that begins with "[7/14/14 13:09:03:001 EEST]" timestamp, has the "ERROR" string in the same line, and lasts up to "... 33 more" string in the last line (46 lines total). It is useless to monitor this file on the line-by-line basis: the first line (containing the keyword "ERROR") is useless without the next several lines (the top of Java stack trace). At the same time, it is not necessary to analyze all 46 lines - the really useful information usually is in the first several lines.

So, in this example it could be useful to have something like following:
Item

log[/opt/IBM/WebSphere.../SystemOut.log," ERROR ",UTF-8,,skip,,"^\[1?\d/[1-3]?\d/\d{2} \d{2}:\d{2}:\d{2}:\d{3} .*\] \x{8} ",11]

An additional 7-th parameter is a Regular Expression defining that the result could be a multi-line message starting with a line matching this RE. In this example the RE describes a WebSphere's timestamp in square brackets and a ThreadId as a 8 Hex-digits.
The 8-th parameter defines the maximum of lines to transfer to Zabbix server as the item value. The message could be shorter, but if the message is longer - then a Zabbix agent processes only this specified maximum.

In result, the value of item in this example will be the just 11 lines of error message: initial line from WebSphere (containing "ERROR [...] Runtime exception initializing.") and the first 10 lines of the Java exception stack trace:

[7/14/14 13:09:03:001 EEST] 00000096 SystemOut     O ERROR [RBPM] [com.sssw.fw.servlet.EboBootServlet:init] Runtime exception initializing.
com.novell.soa.persist.PersistenceException: java.lang.IllegalStateException: Expected to return only foreign keys for base table name: PORTALPORTLETHANDLES and got results for table: null
        at com.novell.soa.persist.DatabaseSchemaUpdate.unappliedChangesets(DatabaseSchemaUpdate.java:346)
        at com.novell.soa.persist.DatabaseSchemaUpdate.validateDatabaseSchema(DatabaseSchemaUpdate.java:212)
        at com.sssw.fw.servlet.EboBootServlet.init(EboBootServlet.java:98)
        at com.sssw.portal.servlet.EboPortalBootServlet.init(EboPortalBootServlet.java:59)
        at javax.servlet.GenericServlet.init(GenericServlet.java:161)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:342)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1366)
        at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:614)
Comment by Ronald Rood [ 2016 Jun 06 ]

why not send the data as a single xml record, on 1 line? That also gives more meaning to the timestamp in the log item.

Comment by richlv [ 2016 Jun 06 ]

Ronald, if you mean that the originating application should do that, it often can not be controlled.
if you mean that agent should concatenate such lines, support for that would still have to be implemented. whether it should be done that way could be debatable - line breaks are often important, too (they could be replaced with \n, but then representation and parsing becomes somewhat tricky...)

Comment by Ronald Rood [ 2016 Jun 07 ]

Hi Rich,
yes, that could be true but it would also give more meaning to the timestamp that is included in one 1 line. Now it populates only the line in the database that has the timestamp in it, not the complete logical unit, that is for all the lines that are part of the same xml message. At least in my application - Oracle databases - I would be happy to be able to join all those lines to 1 single message. This also would allow me to filter on the agent. Now I can not - or I don't know how - because I do want the line[s] containing error message[s] and the line containing the timestamp. The timestamp is needed because it still happens too often that the agent decides to re-load the complete log file. Having the timestamp gives me a chance to recognize that this happened.

Comment by Sune Mølgaard [ 2018 Mar 07 ]

Perhaps a partial implementation would be the way to start, where, if we take Java as the reference case, we could "just" say that every line that follows a timestamp-starting line, until the next timestamp-starting line, is the actual item.

That seems to be the structure of Java log files, and would probably hold true for quite a lot of other things as well...

Comment by Glebs Ivanovskis [ 2019 May 14 ]

Here is how Logstash handles such scenario. Basically it allows to "glue" lines matching/not matching a certain pattern to previous/following line.

Comment by Constantin Oshmyan [ 2019 Oct 14 ]

alexei asked in Telegram channel on the current ZabbixConf-2019 to remind him about this ZBXNEXT. I'm reminding

Comment by Ulrich Müller [ 2021 Mar 08 ]

Any news on this topic? I also would like to scan the Oracle alert log. It's multiline. But it will prove very useful for other logs as well like Apache Tomcat Catalina logs / Java logs etc.

Comment by Constantin Oshmyan [ 2021 Mar 08 ]

Unfortunately, it seems that this issue has too small number of votes up to now...

Comment by Ulrich Müller [ 2021 Mar 08 ]

Sad! There are so many custom logs which this behavior. Let's hope some people give upvote here.





[ZBXNEXT-1230] Agent monitor / key for system interrupts like mpstat on linux Created: 2012 May 23  Updated: 2012 Oct 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Steve mushero Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We have many very high performance server that run out of interrupt cycles on the single CPU that handles interrupts for a NIC card. This does not show up on normal CPU stats which average all CPUs together, so on an 8 core machine we might see 12.5% CPU, but CPU1 is 100% on SI/Soft Interrupts and the network dies.

I see we now can monitor Si in addition to user, idle, nice, system, but more importantly is to monitor max of all CPUs, so if a CPU has high SI above 80%, we can trigger on that.

Thus, extend current CPU system.cpu.util[<cpu>,<type>,<mode>] with a CPU value of 'max' to get max value of any CPUs - from that I can get what I need.

This type of thing is a critical feature for high-performance servers, including on VMs/clouds which much less efficient NIC interrupt handling, often dying at 10,000 packets/second or less.

For now maybe we'll system.cpu.util[,softirq,avg1] * system.cpu.num[], and also track total interrupts but no way to that (mpstat -I SUM 1)






[ZBXNEXT-901] Solaris device support for vfs.dev.read and vfs.dev.write Created: 2011 Aug 23  Updated: 2016 May 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.6
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Doubletwist Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: item, solaris
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Solaris 10 [SPARC or i386]



 Description   

vfs.dev.read and vfs.dev.write were recently fixed to allow more flexible device names to be used as an argument. Something similar needs to be done for Solaris. As it stands now, the only device names it accepts are things like "md#", "sd#", "ssd#". The problem is that sometimes these mappings can change during a reboot, especially the 'ssd#' devices when the underlying device is something like an iSCSI volume.

At the very least, the argument should accept the disk device [ie. "c0t0d0", "c0t1d0s1", "c5t500000E0125A7270d0"].
Even better would be the ability to use a zfs device or zpool as an argument as well [ie. "rpool", or "tank/data" ], or even to use a mounted path [/home, /var]

I don't know how the server actually pulls this data, perhaps it uses iostat? By device the device names in iostat are as currently required [md10, sd1, ssd4]. It is possible to map the sd# to the actual disk device in Solaris:

paste -d= <(iostat -x | awk '{print $1}') <(iostat -xn | awk '{print $NF}') | tail +3

Which just gives a list like this:

md40=md/d40
md41=md/d41
md42=md/d42
sd0=c1t0d0
sd1=c1t1d0
sd3=c0t0d0

Hopefully that will be helpful.



 Comments   
Comment by richlv [ 2016 May 18 ]

this issue might benefit from "solaris" label and some formatting fixes

Comment by Aleksandrs Saveljevs [ 2016 May 23 ]

Label added, formatting fixed.





[ZBXNEXT-3694] Zabbix Agentd configuration inline PSK Created: 2017 Feb 09  Updated: 2017 Feb 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Christian Burkard Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: agent
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

This feature will be crucial to enable PSK Agent encryption on pfSense firewalls.



 Description   

There is no easy way to add a PSK file on the filesystem of a pfSense firewall. An idea could be to create a configuration variable inside zabbix_agentd.conf where not a PSK file but the PSK is added directly. It surely should not become the default way to configure PSKs, but it would help in this corner case.






[ZBXNEXT-3644] Manage maintenance using zabbix agent Created: 2017 Jan 04  Updated: 2017 Jan 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F)
Affects Version/s: 3.2.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Marc Sowinski Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: agent, frontend, maintenance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Many monitoring tools have feature to activate/deactivate nodes monitoring remotly.
For instance, when database backup is launched, database is offline during backup. As we don't know exactly at what time the backup is started and finished (cause this is usually manage by a tool scheduler), it's difficult to set an appropriate maintenance period.
Other monitoring tools allow to send kind of trap/notification to inform tool to suspend monitoring send a new trap/notification to inform that backup is finished and tool can now reactivate the monitoring. I don't see that feature in zabbix. May be using zabbix_sender/zabbix trapper could be usefull to have such feature.
Regards,
Marc






[ZBXNEXT-3675] Supporting longer hostnames in net.tcp.service Zabbix Agent items Created: 2017 Feb 01  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Chris Kistner Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS/RHEL/Ubuntu with Zabbix Agent 3.2.3 (and older ones too) with Amazon Aurora



 Description   

Currently the Zabbix Agent item "net.tcp.service" results in a value of "Down (0)" when using a FQDN longer than say 64 characters.

We're in the situation where our FQDN of the host that we'd like to check is more than 64 characters, because Amazon Aurora's cluster endpoint is constructed like: "<Our custom Aurora cluster ID>.cluster-cl51l5wnyxzg.us-east-1.rds.amazonaws.com"

We can easily reproduce the issue by simply running the following from commandline:

zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t 'net.tcp.service[tcp,our-longish-cluster-id.cluster-cl51l5wnyxzg.us-east1.rds.amazonaws.com,3306]'

which outputs

net.tcp.service[tcp,our-longish-cluster-id.cluster-cl51l5wnyxzg.us-east-1.rds.amazonaws.com,3306] [u|0]

The closest ticket that I got to this issue was ZBXNEXT-1520, but its a database schema issue.

As an interim solution we've simply gone and created a CNAME DNS record under our own domain just for the use with net.tcp.service.






[ZBXNEXT-3001] Indication when log item's send/parse limit has been reached Created: 2015 Oct 07  Updated: 2015 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.10
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: logging, logmonitoring, troubleshooting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

How about logging an appropriate message by Zabbix agent, when exceeding a log item's send- resp. parse-limit?

Currently it is not obvious, if the Zabbix agent isn't able to keep pace due to an inappropriate value for <maxlines> or unexpected/increased message volume.






[ZBXNEXT-1631] recalculate (refresh) agent's "HostnameItem" value periodically Created: 2013 Feb 19  Updated: 2015 Sep 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.5
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: activeagent, hostname
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

There is an idea that would be useful to recalculate (refresh) the HostnameItem value periodically.

For example if we use an unified approach and for all agent config files we use: HostnameItem= system.hostname[host]
And when I change name for this host (OS settings) I would want that zabbix agent will start to use this updated name immediately to get list of active checks.
I mean WITHOUT REQUIRED AGENT RESTART.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Sep 18 ]

ZBX-7225 is related





[ZBXNEXT-789] Do not ignore <ip> argument for net.dns and net.dns.record (Windows) Created: 2011 May 19  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Rudolfs Kreicbergs Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: item, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-815 net.tcp.dns / net.tcp.dns.query shoul... Closed

 Description   

ZBXNEXT-467 does not add support for for <ip> argument for Windows. The fix might depend on the minimum system requirements



 Comments   
Comment by Rudolfs Kreicbergs [ 2011 May 19 ]

This can be done by a different DnsQuery call:
res = DnsQuery(wzone, type, DNS_QUERY_BYPASS_CACHE, pSrvList, &pDnsRecord, NULL);

However, pSrvList is of type PIP4_ARRAY, which is not available on Windows 2000. See http://msdn.microsoft.com/en-us/library/ms682139%28VS.85%29.aspx.





[ZBXNEXT-548] Support of multiple server address connection from agent in active mode (failover) Created: 2010 Nov 01  Updated: 2018 Aug 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Michael Kolomiets Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: highavailability, patch, redundancy, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File zabbix_multiserver.patch    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-584 Support multiple server in active che... Closed

 Comments   
Comment by Michael Kolomiets [ 2010 Nov 01 ]

Patch tested on version 1.8.3

Comment by richlv [ 2012 Feb 08 ]

there's another patch at ZBXNEXT-584 as well

Comment by richlv [ 2012 May 03 ]

note that this issue is left open as it asks for failover - multi-server support in 1.8.13 does not provide that yet

Comment by Rostislav Palivoda [ 2017 Jul 31 ]

Please explain setup you are going to use for failover. Agent will contact another proxy? In the environment exists single Zabbix server?

Comment by Michael Kolomiets [ 2017 Jul 31 ]

Hi!
Agents have access to single zabbix server via two network interfaces on server, each from them from different ISP.





[ZBXNEXT-2051] Implement ability to get interface speed Created: 2013 Dec 02  Updated: 2014 Aug 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Denis Volkov Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently zabbix agent does not provide data on interface speed. Documentation says that agent provides only current data. So for example if someone wants to create trigger on "network utilization reached 90% of interface speed" he should set the limits manually for every interface.

SNMP provides this data (IF-MIB::ifSpeed - 1.3.6.1.2.1.2.2.1.5), but I don't want to install both zabbix and snmp agents on one host.



 Comments   
Comment by Marc [ 2014 May 23 ]

Isn't this information (at least on Linux) provided via the driver to privileged users only?
Personally, I'd prefer the Zabbix agent to support Items out-of-the-box only for data that can be collected as unprivileged user.

Comment by richlv [ 2014 May 23 ]

well, we already have some items that work as root only - search "root" in item list

Comment by Denis Volkov [ 2014 May 23 ]

Unprivileged user:

merlyel@test01:~$ /sbin/ethtool eth0|grep Speed
Speed: 100Mb/s

ethtool throws some errors, but still shows speed

Comment by Denis Volkov [ 2014 May 23 ]

Snmp-agent also works under unprivileged user and shows the speed

Comment by Marc [ 2014 May 23 ]

merlyel,
haven't investigated that in detail. The ethtool version in RedCent appears to call PHY interface what afaik is not allowed for unprivileged users.
According to snmp-agent I thought it worked, because it is started as root, opens the necessary file descriptors and then drops privileges / substitute user context - haven't drilled down either

Anyhow, You're right.
The interface speed might be available via /sys file system:

vfs.file.contents[/sys/class/net/{#IFNAME}/speed]

richlv,
yes. It's just a personal preference to keep the list small

Comment by Denis Volkov [ 2014 Aug 11 ]

Also it would be good to get other interface parameters:
RX packets:186672110278 errors:0 dropped:0 overruns:0 frame:0
TX packets:171589600480 errors:0 dropped:0 overruns:0 carrier:0
Errors, drops, overruns could indicate the problem on the host and so should be monitored.





[ZBXNEXT-1874] Support for log[*] and logrt[*] to be tested by zabbix_agentd Created: 2013 Aug 23  Updated: 2013 Oct 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.7
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: active, agent, items, log, logrt, testing, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-1962 Passive log checks (eventlog item for... Closed

 Description   

It would be really nice if zabbix_agentd allows to test log based items as well as passive items.
Either by writing values to stdout for one interval only (ignoring 'skip') or by continuously monitoring a file with fixed interval, e.g. 30 sec (maybe only if 'skip' is passed).

Currently people have to wait for:

  • server getting configuration changes from database,
  • proxy getting configuration changes from server
  • agent getting configuration changes from proxy


 Comments   
Comment by Marc [ 2013 Aug 24 ]

Maybe active checks might be supported generally by running in foreground and writing evaluated data to stdout.





[ZBXNEXT-1914] vfs.dev.read|write for bytes and bps in Linux Created: 2013 Sep 18  Updated: 2014 Nov 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Cristian Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: linux
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2491 vfs.dev.{write,read}[<device>,{bps,by... Closed

 Description   

Is useful to have in Linux as well the possibility to get the vfs.dev.read and vfs.dev.write for bytes and bps, not just for other OSes.



 Comments   
Comment by Volker Fröhlich [ 2014 Oct 27 ]

http://linux.die.net/man/1/iostat

"""
Blk_read/s

Indicate the amount of data read from the device expressed in a number of blocks per second. Blocks are equivalent to sectors with kernels 2.4 and later and therefore have a size of 512 bytes. With older kernels, a block is of indeterminate size.
"""

As a workaround you can just multiply by 512.





[ZBXNEXT-770] warn about repeated parameters in daemon config files Created: 2011 May 02  Updated: 2023 Nov 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: configuration, parameters, repeated
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File zabbix-7.0.0-without-go-agent.patch    

 Description   

when a valid configuration parameter is specified multiple times, later appearances silently override previous ones.

while overriding might be desired (think config file inclusion), being silent about it can be confusing.

it would be preferred to log repeated valid config parameters at debuglevel 3 (because they would only be logged upon startup and thus won't pollute the logfile that much, and also because non-accidental use is expected to be a minority).

repeated "UserParameter" options in agentd config file, of course, should not be logged, but repeating a userparameter key should. in that case it is also expected that latter occurrence overrides previous appearances.



 Comments   
Comment by dimir [ 2011 May 02 ]

Actually, UserParameter options aren't overriden internally, they are all added to the list of commands. It's just that they are prepended so the latter parameter in config file comes always first. I guess command (or metric) replacement functionality would be useful.

UPD: Correction. Simple UserParameters are replaced properly. It's only Flexible UserParameters that are not.

Comment by richlv [ 2011 May 03 ]

userparameter key handling filed as ZBX-3776

Comment by dimir [ 2011 May 09 ]

As ZBX-3776 was recently fixed now duplicate UserParameter keys are treated as critical errors. Same thing will be soon with PerfCounters (ZBX-3105). So the issue is left with other, simple parameters (e. g. "ListenPort") and perhaps Aliases.

Comment by dimir [ 2011 May 16 ]

We have decided to silently overwrite simple parameters and treat UserParameter, Alias and PerfCounter duplicates (duplicate key) as critical (report error and exit). See ZBX-3105 for details.

Comment by richlv [ 2011 May 18 ]

any reasoning on overriding params silently ?
"real life" users very often end up with param specified multiple times and struggle with that for a long time. warning seems to be a much better approach.

Comment by dimir [ 2023 Nov 23 ]

The reason being basically that current implementation does not allow easy integration of such check.

However, here's quite a simple implementation. We must ignore options of type TYPE_MULTISRING and TYPE_CUSTOM:

$ sbin/zabbix_server -T -c /etc/zabbix/zabbix_server.conf
Validating configuration file "/etc/zabbix/zabbix_server.conf"
zabbix_server [1185626]: Warning: parameter DebugLevel is listed more than once at line 2, previous values are ignored
zabbix_server [1185626]: Warning: parameter DebugLevel is listed more than once at line 3, previous values are ignored
Validation successful

$ head -3 /etc/zabbix/zabbix_server.conf
DebugLevel=3
DebugLevel=4
DebugLevel=2

Here is the patch for pre-7.0.0: zabbix-7.0.0-without-go-agent.patch

Note! The agent2 implementation is missing.





[ZBXNEXT-1772] Use /proc/self/mountinfo for filesystem discovery in Linux >= 2.6.26 Created: 2013 May 31  Updated: 2016 Oct 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.6, 2.1.1
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Volker Fröhlich Assignee: Unassigned
Resolution: Unresolved Votes: 14
Labels: bind, lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux



 Description   

/proc/mounts allows no distinction between regular mounts and bind mounts. That leads to having the same filesystem discovered multiple times. On some platforms this can potentially be worked around by parsing /etc/mtab, but that's not as reliable, as it does not represent the kernel's view.

Bind mounts were introduced in Linux 2.4.0 (man 2 mount). /proc/self/mountinfo was introduced in 2.6.26 to solve the problem of not being able to recognize bind mounts. Please also refer to this discussion: https://bugzilla.redhat.com/show_bug.cgi?id=491924, particularly comment #20.

The findmnt utility might bring some inspiration for how using different sources of information, including mountinfo, can be implemented.
http://man7.org/linux/man-pages//man8/findmnt.8.html



 Comments   
Comment by Oleksii Zagorskyi [ 2013 Jun 01 ]

Looks like related to ZBX-5676

Comment by Dmitry Verkhoturov [ 2015 Sep 15 ]

Could someone please review that one? Discovering bind mounts adding a mess in big infrastructure, it's really easy to fix this one.

Comment by Dmitry Verkhoturov [ 2015 Dec 07 ]

Workaround (linux only):

$ cat /etc/zabbix/conf.d/mountstate.conf
# vfs.fs.discovery_except_bind takes /etc/mtab, filters lines with bind in mount options and "none" mount device, and prints as json for zabbix low level discovery
UserParameter=vfs.fs.discovery_except_bind,x=`awk '$1 !~/none/ && $4 !~/bind/ {print "{\"{#FSNAME}\":\"" $2 "\",\"{#FSTYPE}\":\"" $3 "\"},"}' /etc/mtab | sed -e '$s/.$//'` ; echo "{\"data\":[${x}]}"




[ZBXNEXT-794] windows agent should work when compiled under cygwin Created: 2011 May 26  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: compilation, cygwin, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently, it is possible to compile an agent under Cygwin. It even works when run with "-p"!

Unfortunately, there are two problems with it.

The first problem is that it terminates soon after start. It creates a PID file and a log file, and then disappears.

The second problem is that the platform it compiles for is "unknown" (i.e., the Windows-specific items are not available).

Apparently, since there are checks for Windows header files in configure.in, sometime in the ancient times Zabbix supported or tried to support Cygwin. That support should be brought back.



 Comments   
Comment by Aleksandrs Saveljevs [ 2011 May 26 ]

Note that potentially this opens a possibility to run Zabbix server and Zabbix proxy on Windows, too.





[ZBXNEXT-1074] Increase range of values for RefreshActiveChecks Created: 2012 Jan 06  Updated: 2022 Jul 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Bob Underthetruck Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: flexibility, performance, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-7852 Incremental active check refresh for ... Closed

 Description   

In zabbix_agentd.conf, RefreshActiveChecks has to be set between 60seconds and 3600seconds. I think, in order to reduce network traffic, this range of values could be something like 60s - 1day.



 Comments   
Comment by Alexei Vladishev [ 2022 Jul 13 ]

It will be implemented under ZBXNEXT-7852 in Zabbix 6.4.





[ZBXNEXT-2042] inconsistent alias & userparam syntax Created: 2013 Nov 20  Updated: 2017 May 31

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.0
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: aliases
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

userparameters use comma to delimit item key from command, aliases use colon to delimit item key from substituted key.

this is quite confusing and inconsistent.

of course, can only be fixed in a major version with a proper upgrade note.



 Comments   
Comment by Alexei Vladishev [ 2013 Nov 25 ]

It's not a bug.





[ZBXNEXT-1880] Option to monitor pruned logs by log[*] Created: 2013 Aug 27  Updated: 2013 Aug 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.7
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: log, logmonitoring, prune, retention
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please consider to add an option to support the monitoring of pruned logs.

Without such option it can be hard to monitor for example log files from IBM TSM Backup-Archive Clients.
These clients allow an option to prune log entries older than a specified number of days, what may lead to a lower log file size - thus by Zabbix seen as new file/data.

Details about the mentioned "schedlogretention" option may be found here:
http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/topic/com.ibm.itsmfdt.doc/ans50000366.htm?path=1_1_2_12_120#opt6076

One idea to achieve this in an efficient way could be to use binary search for evaluating the original end of log file:
https://en.wikipedia.org/wiki/Binary_search

The search "key" could be 'Local time'. Thus the following preconditions should be met:

  • Item has "Log time format" set
  • Last 'Local time' value is known.
  • Log size is lower than lastlogsize but greater than 0.

Caveats:
For cases where same 'Local time' may be evaluated between check intervals one has to decide between:

  • miss entries (beginning after the last occurrence of a key hit)
  • duplicate entries (beginning after the first occurrence of a key hit)
  • undefined/both (beginning after first key hit)
  • and maybe others...





[ZBXNEXT-1887] Extend proc.num[*] to consider passed pid file Created: 2013 Sep 02  Updated: 2014 Dec 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.7
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: item, newitemkey, patch, proc.num
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zbxNext1887-2.2.7.patch    

 Description   

Maybe it's due to the fact that I'm using OpenVZ everywhere
What about extending proc.num[*] by an optional parameter pointing to a pid file whose pid has to match beside other criterieas?



 Comments   
Comment by Marc [ 2013 Sep 03 ]

About the background:
OpenVZ is a container based virtualization technology (similar to BSD jails, Solaris zones, chroot, ...).
A container sees only its own processes. However, the hardware node (kernel, hypervisor) runs the processes thus processes of every container are seen.
Monitoring processes on HNs by Zabbix that might run in CTs is pratically not possible.

A more general use case might be the possibility of monitoring different instances of identical processes

Comment by Marc [ 2014 Dec 26 ]

The attached patch zbxNext1887-2.2.7.patch adds an optional parameter for a PID file in Linux environments.





[ZBXNEXT-4333] Track tcp or udp port packets Created: 2018 Jan 11  Updated: 2018 Jun 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.14
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Nathan Rutland Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RHEL 6 and 7



 Description   

Need to be able to track packets to specific ports across several machines for auditing and we use Zabbix everywhere. We need this in Zabbix. We need it by port because that is how we are currently segmenting our data.

There is a mix of RHEL6 and RHEL7 machines, so I don't want to try and do iptables / firewalld counters for this.

I have a feeling I might need to break this traffic out to separate sub/virtual interfaces and track it that way with Zabbix. Is there any plan to be able to do this outside of looking at an interface? Also, are there any issues with monitoring sub interfaces?



 Comments   
Comment by richlv [ 2018 Jan 11 ]

this does not look like a specific feature request. you might want to see http://zabbix.org/wiki/Getting_help for support options.





[ZBXNEXT-5115] TLSPSKIdentityItem, identity=hostname Created: 2019 Mar 18  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Jan Ostrochovsky Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It could be useful for agent to support configuration parameter e.g. TLSPSKIdentityItem, with similar behaviour as HostnameItem, and in frontend possibility to opt for using the same string for PSK identity, as set for host name, on server/frontend side in host configuration.

Host name and PSK identity are both forced to be unique in whole ZABBIX, therefore it would be simplier to have the possibility use host name as PSK identity.

This would make also mass update of agent encryption simplier.

Changing host name on agent side without corresponding change on server side will cause agent unavailability, which is out-of-box detected and problem generated (in current state, just active items stop gathering data, what is less straightforward automatically detectable).



 Comments   
Comment by Glebs Ivanovskis [ 2019 May 26 ]

There is also very similar ZBXNEXT-3148. On the other hand, ZBXNEXT-3777 proposes a different solution.





[ZBXNEXT-4996] allow setting environment variables for external scripts/userparameters/alertscripts Created: 2019 Jan 31  Updated: 2021 Apr 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 4.0.4rc2
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Michael Veksler
Resolution: Unresolved Votes: 8
Labels: security
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-6405 Externalscripts: Add configurable env... Closed

 Description   

Currently passing potentially sensitive information to scripts/commands (including user parameters, external checks and alertscripts - probably also global scripts) is possible by passing them as positional parameters. Unfortunately, that exposes this information in the processlist.

It would be great if environment variables could be set for all all the places where Zabbix runs a command. This would allow to pass values to commands without exposing them in the processlist.



 Comments   
Comment by dimir [ 2019 Jan 31 ]

Hint:

$ man setenv
SETENV(3) Linux Programmer's Manual SETENV(3)

NAME
setenv - change or add an environment variable

SYNOPSIS
#include <stdlib.h>

int setenv(const char *name, const char *value, int overwrite);

int unsetenv(const char *name);
Comment by Markus Fischbacher [ 2019 May 07 ]

I +1 this request but would also add something additionally.

Using environment variables for controlling some behaviour es common and it would also simplify some scenarios if docker/containers are used. Also I tend to think adding the _FILE logic for environment variables which pointing to files like in container secrets would dramatically up the usage.

That and using environment variables as macros in the frontend so you could replace statically entered passwords and even roll out variables with things like terraform.

Comment by Justin Addams [ 2021 Apr 08 ]

+1 for this.





[ZBXNEXT-2653] provide more information if both active & passive items are disabled Created: 2014 Dec 31  Updated: 2015 Sep 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.4.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: logging, troubleshooting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when ServerActive is not specified and StartAgents is set to 0, agent refuses to start up as expected :

zabbix-agentd [13624]: ERROR: either active or passive checks must be enabled

but it is not immediately clear which parameters control this. a suggestion - changing the message to something like this :

ERROR: either active or passive checks must be enabled (parameters ServerActive and StartAgents)






[ZBXNEXT-2506] support axfr record type for zone transfer in net.dns[] and net.dns.record[] items Created: 2014 Oct 09  Updated: 2024 Jan 08

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.4.1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: dns
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

AXFR record type is useful to get a list of DNS records for a zone:

$ dig -t axfr example.com @192.168.1.1 | head -10

; <<>> DiG 9.9.5-4-Debian <<>> -t axfr example.com @192.168.1.1
;; global options: +cmd
example.com.             86400   IN      SOA     ns1.example.com. admin.example.com. 2011100600 3600 1800 604800 3600
example.com.             86400   IN      NS      ns1.example.com.
alice.example.com.       86400   IN      A       192.168.1.2
bob.example.com.         86400   IN      A       192.168.1.3
bob.example.com.         86400   IN      A       192.168.1.4
bob.example.com.         86400   IN      AAAA    38a1::3
bob.example.com.         86400   IN      AAAA    38a1::4
...

Not all DNS servers allow zone transfer, because that might not be good from a security perspective.

So AXFR support in Zabbix agent would be useful for monitoring the DNS security setup, as well as zone content, too.



 Comments   
Comment by Artjoms Rimdjonoks [ 2024 Jan 05 ]

In ZBXNEXT-8721 net.dns.get was added, which greatly increased the scope of the supported record types.
However, the AXFR / zone transfer support was not added.

FYI akalimulin

<arimdjonoks> development of axfr support still would require a new untrivial code to be added, so it will stay for hold for now, due to low demand





log time format improvements (ZBXNEXT-490)

[ZBXNEXT-2304] Placeholder improvements Created: 2014 May 15  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request (Sub-task) Priority: Minor
Reporter: Don Harrop Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: log, logrt, logtimeformat
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

N/A



 Description   

When using rsyslog log files formatted in RFC5424 (http://tools.ietf.org/html/rfc5424), date stamps are prepended with facility/severity/version information. Currently the placeholder syntax can't deal with arbitrary positions so the following causes problems for timestamp parsing.

<6>1 2014-05-01T00:10:40.427496-07:00 localhost kernel - - - [644618.429326] ata1.00: configured for UDMA/133
<86>1 2014-05-15T06:05:01.363510-07:00 localhost crond 7443 - - pam_unix(crond:session): session opened for user root by (uid=0)

Perhaps using selectable regex patterns (similar to currently functionality in adm.regexps.php) would be appropriate for time stamp parsing.






[ZBXNEXT-2361] The "all" identifier for vfs.dev....[all,...], net.if....[...,bytes] would be more meaningfull (on Linux) if some restrictions are applied Created: 2014 Jun 30  Updated: 2014 Jul 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.4
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Rolf Fokkens Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: patch, regexps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux OS


Attachments: Text File zabbix-2.2.4-devfilter.patch    

 Description   

"all" results in cumulative stats for all devices. Both for disk and network (on Linux) this results in multiple times counting the same device:

  • Network devices (e.g. eth0) may be part of other (stacked) devices like eth0.8 (for vlan's) or bridges.
  • Disk devices (e.g. sda) may be part of other (stacked) devices like sda1 (partition) LVM devices and RAID devices.
    So because many things may be counted multiple times, the resulting cumulative count becomes somewhat meaningles.

The attached patch illustrates how this can be solved by allowing users to specify a regexp in the agent config to make the agent filter only useful devices.



 Comments   
Comment by Rolf Fokkens [ 2014 Jun 30 ]

We're using this patch for our own zabbix systems, monitoring Linux systems with the following filtering:

NicFilter=^(eth[0-9]+|enp[0-9]+s[0-9]+|em[0-9]+)$
DiskFilter=^(hd|sd|vd).$




[ZBXNEXT-2223] Configurable Linux fs discovery source - either /proc/mounts or /etc/mtab Created: 2014 Mar 24  Updated: 2014 Oct 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Tomasz Potęga Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: lld, nfs, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zabbix-2.2.2-fs-list-item-key.patch     File zabbix-2.2.2-fs-list-source.patch     File zabbix-2.2.3-fs-list-item-key.patch    

 Description   

The Linux file system discovery code uses '/proc/mounts' contents as the source of the mounted file systems list.
While this represents kernel's true view of the available filesystems, it quite often differs from the view of user space utilities (like 'mount' or 'df'), which read '/etc/mtab' instead.
One of the problems is listing automatically mounted NFS snapshot volumes (these never make it to '/etc/mtab') - and triggering 'file system full'-sort of checks that many Zabbix users define.
Thus, it might be preferrable to choose '/etc/mtab' as the source for the discovery.

An agentd configuration option letting users choose the discovery source would solve such problems. One could specify:

FSListSource: /etc/mtab

With the default being still like:

FSListSource: /proc/mounts

You will find a proposed patch for 2.2.2 attached.



 Comments   
Comment by Paweł Sasin [ 2014 Mar 26 ]

Many thanks! I've been looking for such solution since AutoDiscovery was implemented at our site!

Our NAS appliances use snapshoting for backup purposes and the snapshots have 0B of free space by default. If a single NAS share is mounted on 10 hosts, then a single snapshot caused 10 autodiscovered filesystems to be tracked and alerted about. And we do backups twice a day. Nobody cared about lack of free space alerts anymore...

Now, this patch seems to have sorted this issue out.

Comment by richlv [ 2014 Mar 26 ]

it might be slightly better to expose this as an item parameter, thus keeping control on how filesystems are discovered on the server

Comment by Tomasz Potęga [ 2014 Apr 14 ]

As this option is Linux specific - wouldn't it be better to leave the GUI OS-agnostic?
Guess one would have a set of OS targeted agent configuration files anyway (for UserParameters, etc.)...

Comment by richlv [ 2014 Apr 14 ]

well, many item keys and their parameters already are platform specific, and including it in the item key would allow to have all the config centralised

Comment by Tomasz Potęga [ 2014 Apr 14 ]

Oh, an item key - well yes, that might be a good idea. Don't know why I thought you were talking about a user interface option. I'll give it a look.

Comment by Tomasz Potęga [ 2014 Apr 14 ]

Does it look better now (zabbix-2.2.2-fs-list-item-key.patch)?

Comment by richlv [ 2014 Apr 15 ]

well, i can't comment on code much
a full patch would also have to update item key selection for the frontend.

Comment by Tomasz Potęga [ 2014 May 05 ]

"vfs.fs.discovery" is missing from the key selection popup, thus the only place involved seems to be the description of "Mounted filesystem discovery" in the "OS Linux" template. Would this suffice?

Comment by richlv [ 2014 May 07 ]

indeed, we don't have key selection for discovery rule properties, so that would be enough, yes

Comment by Tomasz Potęga [ 2014 May 12 ]

Item descriptions updated.

Comment by Paweł Sasin [ 2014 May 26 ]

How about including this patch into mainline? Is there any chance?

Comment by Volker Fröhlich [ 2014 Oct 17 ]

See ZBXNEXT-1772





[ZBXNEXT-3170] Add IP address support in net.if.discovery Created: 2016 Mar 01  Updated: 2016 May 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.1
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Alexander Afonyashin Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: interfaces, ipaddress, lld, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File net.c.diff    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-2926 Add {#IFIP} to low discovery network Closed

 Description   

net.if.discovery lacks support of reporting IP addresses for discovered interfaces. Check attached patch. It reports only ipv4 addresses and only on Linux hosts.



 Comments   
Comment by Alexander Afonyashin [ 2016 Mar 01 ]

Patch needs to be improved to add IFADDR6 address reporting. It also skips interfaces without ipv4 addresses.

Comment by Alexander Afonyashin [ 2016 Mar 05 ]

Improved version with ipv4/ipv6/noaddr interface support.

Comment by Alexander Afonyashin [ 2016 Mar 05 ]

$ zabbix_agentd -t net.if.discovery

net.if.discovery                              [s|{"data":[{"{#IFNAME}":"lo","{#IFADDR}":"127.0.0.1","{#IFADDR6}":"::1"},{"{#IFNAME}":"eth0","{#IFADDR}":"X.X.X.X","{#IFADDR6}":"fe80::224:21ff:feXX:XXXX%eth0"},{"{#IFNAME}":"br0","{#IFADDR6}":"fe80::14b6:61ff:feXX:XXXX%br0"}]}]
Comment by Andrey Melnikov [ 2016 Mar 09 ]

real ipv6 config always carry 2 addresses - fe80::xxxx and configured. Which address agent should return? First, second, both?

Comment by Oleksii Zagorskyi [ 2016 Mar 10 ]

The example does't contain {#IFADDR} macro for br0 interface.
It's not very good to include exclude macros. More correctly would be include it but with empty value.
I'm not sure here, but such approach may cause some problems like described in ZBXNEXT-3139

Comment by Oleksii Zagorskyi [ 2016 Mar 10 ]

In duplicated ZBXNEXT-2926 is a concern what to do for interfaces which have multiple IP addresses.

Comment by Glebs Ivanovskis (Inactive) [ 2016 May 12 ]

First of all, please have a look at Zabbix coding guidelines.

Your patch relies heavily on ifaddrs.h. Is it present on all platforms Zabbix supports?

I would suggest converting this patch into a loadable module. It will be easier for people to deploy and use it (no need to apply the patch and recompile Zabbix from sources with every upgrade) and it will be great for gathering more feedback faster.





[ZBXNEXT-3149] Support of TLS session resumption Created: 2016 Feb 17  Updated: 2016 Feb 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.0.0
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: encryption, performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

How about implementing RFC-5077 aka TLS session resumption to mitigate resource/performance impact of the great ZBXNEXT-1263 feature?






[ZBXNEXT-2641] Handling of the file by which filesize is 0 by a log monitoring Created: 2014 Dec 18  Updated: 2015 Sep 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.13, 2.2.7, 2.4.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Yoshinori Komuro Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: logmonitoring, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File for_2.0.13.patch    

 Description   

Several Application are written on an old file after log rotates.
Sometimes, mtime of file before rotation becomes newer than mtime of file after rotation.
Therefore Agent reread old file.
I want to exclude files of 0byte from a monitoring target.



 Comments   
Comment by Aleksandrs Saveljevs [ 2014 Dec 22 ]

Can this be considered a duplicate of ZBXNEXT-91?

Comment by Yoshinori Komuro [ 2014 Dec 24 ]

No.
I don't want to keep lastlogsize after reboot.
I want to remove 0 byte files from target files.
Sometimes mtime of old file is bigger than new file, because some application continue writting log to old logfiles.
So I don't want to read new file until switch new file.





[ZBXNEXT-2645] Extend vfs.dev.* item for additional options supported on Linux platfrom Created: 2014 Dec 22  Updated: 2015 Sep 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: linux, newitemkey, vfs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Issue Links:
Duplicate

 Description   

Zabbix can parse and use /proc/diskstats to support all available metrics:

The /proc/diskstats file displays the I/O statistics
of block devices. Each line contains the following 14
fields:
1 - major number
2 - minor mumber
3 - device name
4 - reads completed successfully
5 - reads merged
6 - sectors read
7 - time spent reading (ms)
8 - writes completed
9 - writes merged
10 - sectors written
11 - time spent writing (ms)
12 - I/Os currently in progress
13 - time spent doing I/Os (ms)
14 - weighted time spent doing I/Os (ms)
For more details refer to Documentation/iostats.txt






[ZBXNEXT-2599] proc.num on linux includes OS threads in process count Created: 2014 Oct 23  Updated: 2014 Nov 19

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: David Nolan Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: patch, proc.num
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux zabbix-agent


Attachments: Text File proc.num-ignore-threads.patch    

 Description   

On Linux, if the process being counted has spawned an OS-level thread, that appears as a process in /proc and is included in the proc.num output. This makes proc.num[<daemon>] return a number >1 occasionally for daemon's that periodically spawn a thread.

The attached patch compares the thread group ID from /proc/<pid>/status to the pid and if they do not match ignores the thread.



 Comments   
Comment by Alexander Vladishev [ 2014 Oct 30 ]

Related issue with FreeBSD: ZBX-4704

Comment by Igors Homjakovs (Inactive) [ 2014 Nov 06 ]

David, which Linux distibution are you using and what kernel version?

Comment by David Nolan [ 2014 Nov 06 ]

This is on a Ubuntu based amazon image, with kernel 3.13.0-29-generic

Comment by Igors Homjakovs (Inactive) [ 2014 Nov 07 ]

Thank you David.

I would appreciate if you could give us some information about the multi-threaded process that return proc.num count >1 on your system. Is it some open source product or your own code?

I assume, in your case, the spawned processes have different PIDs, but share the same TGID, is that correct?

According to the documentation:

With NPTL, all of the threads in a process are placed in the same thread group; all members of a thread group share the same PID.

Comment by David Nolan [ 2014 Nov 07 ]

Igors,

This is an application implemented in Go. Go does not use pthreads by default, it provides its own threading implementation. Most goroutines (application threads) exist within a single OS thread, but when Go detects one goroutine is blocking it automatically spawns another OS thread and migrates all other goroutines to that thread.

Thus the behavior that we see is that proc.num[someapp] will be 1 most of the time, but during those moments where Go has spawned a second thread it will be 2 (or higher). The additional threads have different PIDs but the same TGID. So a zabbix trigger on proc.num[someapp]#1 will fire in error during those times.

Comment by Igors Homjakovs (Inactive) [ 2014 Nov 13 ]

David,

We were unable to replicate the situation when Go spawns an OS thread with different PID, when goroutine is blocked, keeping the same TGID.
This means that in some cases, similar to the one you have, Go's threading implementation spawns a new process instead of a thread.

Normally, it is expected that each process, or independently scheduled execution context, has its own process descriptor. On the other hand, threads in the same group have a common PID. Therefore, the result returned by proc.num[] cannot be considered as incorrect, since it shows that there are multiple processes of the same app at the certain period of time.

Since in your case, this behaviour is unwanted, we would recommend you to execute the script that parses the PIDs and TGIDs and then compares them.

Comment by David Nolan [ 2014 Nov 18 ]

Unfortunately we are experiencing this problem in our production environments, and the propose patch fixed the problem and eliminated spurious alerts. From some further reading it seems like this should be easy to replicate with a C program that just calls clone() directly rather then going through any of the user mode thread libraries.

Would you consider adding a variant of proc.num which only reports the thread group masters? perhaps proc.thread_masters, with all the same semantics as proc.num with the addition of the code to ignore processes where PID != TGID? The goal here is to have a builtin test that can verify "one and only one copy of daemon X is running", so you can detect cases where two master processes have been started

Comment by richlv [ 2014 Nov 18 ]

moving to feature requests. maybe a new parameter to proc.num could be considered

Comment by Igors Homjakovs (Inactive) [ 2014 Nov 19 ]

David, we understand your concern and appreciate your feedback. As with clone(), in my case, as i mentioned earlier, the new thread is created with the same PID. I would appreciate if you could replicate this issue on your host with a small C or Go program and send me your results. Then we can speed up the fixing of this issue.





[ZBXNEXT-2277] support native process states for proc.num[] on AIX Created: 2014 Apr 25  Updated: 2014 Apr 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: aix, newitemkey, proc.num, process
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Item proc.num[] supports a parameter called <state>, which can be one of "all", "run", "sleep", "zomb". During ZBX-5243 it was found that it might as well be that since AIX 4 SSLEEP and SRUN are no longer used on AIX. Hence, these parameters are of little value.



 Comments   
Comment by Aleksandrs Saveljevs [ 2014 Apr 25 ]

More information and a suggested patch is available in ZBX-5243.





[ZBXNEXT-2386] include debuglevel in log messages Created: 2014 Jul 17  Updated: 2019 Sep 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: logging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sub-task

 Description   

it would be useful to include short indication on which loglevel is responsible for each line - it would simplify debugging and log configuration

note that currently this can not be used as an indicator that there is an error or so, as log messages are not classified like that.






[ZBXNEXT-4075] Ability to independently adjust logging level per compilation unit Created: 2017 Sep 01  Updated: 2018 Jan 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 4.0.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Glebs Ivanovskis (Inactive) Assignee: Andris Mednis
Resolution: Unresolved Votes: 3
Labels: logging, troubleshooting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Runtime control of logging level per process type or per process is the best troubleshooting and debugging feature ever. Unfortunately, as more and more debug logging is added to various places of Zabbix it's usefulness diminishes as it is getting harder and harder to find the needle in a haystack. Log files grow and rotate too quickly, messages of different processes get too interlaced and so on...

For example, TLS code produces lots of debug, which is good for troubleshooting encryption, but if TLS is fine and I'm only interested in "trapper got '...'" messages it just makes my life more difficult.

Idea is to have more granular control of logging level.



 Comments   
Comment by Andrea Biscuola (Inactive) [ 2017 Sep 01 ]

I was wondering for a while to move the runtime control of the zabbix server to a control socket with a dedicated utility instead of using the, non POSIX compliant, signal we use right now. This will allow to implement features like this in a more safe and flexible way.

My proposal: ZBXNEXT-4076

Comment by Glebs Ivanovskis (Inactive) [ 2017 Sep 01 ]

I propose a proposal fight!

Comment by richlv [ 2017 Sep 01 ]

this sounds like what was suggested in item (1) in ZBXNEXT-136 . wine debug channels still might serve as an inspiration : https://wiki.winehq.org/Debug_Channels

Comment by Oleksii Zagorskyi [ 2017 Sep 01 ]

Something like tokens, for example http://net-snmp.sourceforge.net/wiki/index.php/Debug_tokens_5.4.2.1

Comment by Andrea Biscuola (Inactive) [ 2017 Sep 04 ]

Simply being able to increase/decrease the log level on a per-process type basis will be an improvement compared to the current situation. For example, increase the logging level for the "history syncers"

zalex_ua But ... that's possible currently! Clarify please.

glebs.ivanovskis It is not possible on all platforms.

abs True that it's possible, but as Gleb said, the support for this feature is limited.

glebs.ivanovskis Not only this feature, but sadly also crash dumps

Comment by alex dekker [ 2017 Nov 28 ]

Log entries should at least include a tag/label for what component of the server generated them. Log is a bit of a firehose and having something to grep would be helpful.

Comment by richlv [ 2018 Jan 07 ]

loglevel by peer ip sought in ZBXNEXT-4319





[ZBXNEXT-4030] CPU utilization in an environment with a variable number of CPUs Created: 2017 Aug 15  Updated: 2017 Aug 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.7
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: cpu
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File system-cpu-util.png    

 Description   

Similar to ZBX-11857, we have an ARM board running Linaro Linux. The system is smart in that it activates CPUs depending on load.

Unfortunately, in such an environment with dynamic number of CPUs, it is non-trivial to measure CPU usage. Consider a scenario, where we start with an idle system with 1 online CPU and gradually increase CPU load to put 2, 3, and 4 CPUs online and consume them fully. As can be seen in the screenshot below, Zabbix reports 50% utilization with 1 CPU fully loaded, and then it reports 100% utilization with 2, 3, and 4 CPUs loaded to capacity:

This is not particularly useful for performance testing, because it is not possible to distinguish between 2 and 4 CPUs fully loaded. However, this behavior is somewhat consistent with other Linux tools like top and vmstat, as will be shown in the comments later. It is also a problem without an obvious solution, because if we have 2 CPUs loaded out of 4, but only 2 are online, then depending on how we look at it and depending on whether the other 2 can actually be brought online, both 50% or 100% are acceptable.

So what is desired, is probably a mode for system.cpu.util[] that would count offline CPUs as idle or count the time spent offline as a separate state (e.g., system.cpu.util[,offline]). Below, a solution idea is proposed.

Currently, Zabbix seems to read CPU statistics from /proc/stat on Linux:

# grep cpu /proc/stat
cpu  7539 0 236984 837919 3226 19 1297 0 0 0
cpu0 3177 0 58211 610349 2960 19 1220 0 0 0
cpu1 1130 0 57962 60488 153 0 14 0 0 0
cpu2 1394 0 59148 70361 26 0 4 0 0 0
cpu3 1838 0 61663 96721 87 0 59 0 0 0

Here is a brief description of the format:

proc/stat
  kernel/system statistics.  Varies with architecture.  Common entries include:

  cpu  3357 0 4313 1362393
     The amount of time, measured in units of USER_HZ (1/100ths of a second on most architectures, use sysconf(_SC_CLK_TCK) to	obtain	the
     right value), that the system spent in various states:

     user   (1) Time spent in user mode.

     nice   (2) Time spent in user mode with low priority (nice).

     system (3) Time spent in system mode.

     idle   (4) Time spent in the idle task.  This value should be USER_HZ times the second entry in the /proc/uptime pseudo-file.

     ...

Now, suppose that cpu1 was online and idle during the last second. Then, its fourth number will be increased by USER_HZ (presumably, 100). If, however, cpu1 was offline, no numbers will be increased.

If cpu1 switched between online and offline during the last second, then a reasonable conjecture is that the increase in numbers will not add up to USER_HZ. This is approximately how we can infer that the CPU was offline based on these statistics and calculate its amount.

It should also be noted here separately that, if cpu1 was online for just a little while and only "user" usage was increased (e.g., by just 5 out of 100), then system.cpu.util[1,user] will probably report 100% for that period, which is not perfectly true.



 Comments   
Comment by Aleksandrs Saveljevs [ 2017 Aug 15 ]

For comparison, here is the behavior of top.

Two CPUs loaded to ~98% and two offline:

top - 12:41:09 up  2:34,  1 user,  load average: 15.38, 15.15, 14.30
Tasks: 167 total,   3 running, 164 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.8 us, 98.8 sy,  0.0 ni,  0.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
...

Three CPUs loaded to ~98% and one offline:

top - 12:41:58 up  2:35,  1 user,  load average: 15.45, 15.19, 14.36
Tasks: 174 total,   4 running, 170 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.0 us, 98.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
...

It can be seen that no distinction is possible between these two cases, except looking at detailed CPU statistics (pressing 1).

The vmstat utility behaves similarly in the above scenario:

# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0      0 1453288  17068 125640    0    0     9     2  108  150  1 27 72  0  0
 2  0      0 1453264  17068 125644    0    0     0     0  457  418  3 97  0  0  0
 2  0      0 1453264  17068 125648    0    0     0     0  606  546  1 99  0  0  0
 2  0      0 1453264  17068 125656    0    0     0     0  472  409  1 100  0  0  0
 2  0      0 1453264  17076 125652    0    0     0    12  566  552  2 98  0  0  0
# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 5  0      0 1452844  17116 125800    0    0     9     2  109  150  1 27 71  0  0
 3  0      0 1452828  17116 125808    0    0     0     0  731  586  1 99  0  0  0
 3  0      0 1452828  17116 125812    0    0     0     0  611  497  2 97  1  0  0
 3  0      0 1452704  17124 125808    0    0     0    12  720  606  1 99  0  0  0
 3  0      0 1452704  17124 125824    0    0     0     0  620  488  4 96  0  0  0
Comment by Aleksandrs Saveljevs [ 2017 Aug 15 ]

In order to do performance testing, we currently solve this by forcing all CPUs to always be online:

stop mpdecision

echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
Comment by Aleksandrs Saveljevs [ 2017 Aug 15 ]

Also, for performance testing, it would be nice to have shorter intervals for system.cpu.util[] like system.cpu.util[,user,5s] instead of the predefined 1, 5, and 15 minutes. However, that is a separate ZBXNEXT and could probably be covered by ZBXNEXT-1918.





[ZBXNEXT-5367] Extend net.if metrics on Linux using sysfs net Created: 2019 Aug 13  Updated: 2022 Jun 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Vitaly Zhuravlev Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please extend net.if metrics and net.if.discovery on Linux using sysfs net

https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt

At least the following macros should be added into net.if.discovery in addition to {#IFNAME}:
{#IFOPERSTATUS}
{#IFALIAS}
{#IFTYPE}
 
At least metrics such as:
"speed", "duplex", "type", "ifalias", "operstate", "carrier" as well as probably many others, must be added and should be accessible under net.if.* metrics branch. 
Lists should be finalized in the spec.



 Comments   
Comment by XinWang [ 2022 Jun 09 ]

agree, like prometheus node exporter

node_network_info{address="",broadcast="",device="wg0",duplex="",ifalias="",operstate="unknown"} 1
node_network_info{address="",broadcast="",device="wg1",duplex="",ifalias="",operstate="unknown"} 1
node_network_info{address="00:00:00:00:00:00",broadcast="00:00:00:00:00:00",device="lo",duplex="",ifalias="",operstate="unknown"} 1
node_network_info{address="3c:ec:ef:45:14:84",broadcast="ff:ff:ff:ff:ff:ff",device="eno5",duplex="unknown",ifalias="",operstate="down"} 1
node_network_info{address="3c:ec:ef:45:14:85",broadcast="ff:ff:ff:ff:ff:ff",device="eno6",duplex="unknown",ifalias="",operstate="down"} 1
node_network_info{address="3c:ec:ef:45:14:86",broadcast="ff:ff:ff:ff:ff:ff",device="eno7",duplex="unknown",ifalias="",operstate="down"} 1
node_network_info{address="3c:ec:ef:45:14:87",broadcast="ff:ff:ff:ff:ff:ff",device="eno8",duplex="unknown",ifalias="",operstate="down"} 1
node_network_info{address="3c:ec:ef:45:1c:38",broadcast="ff:ff:ff:ff:ff:ff",device="eno1",duplex="full",ifalias="",operstate="up"} 1
node_network_info{address="3c:ec:ef:45:1c:39",broadcast="ff:ff:ff:ff:ff:ff",device="eno2",duplex="full",ifalias="",operstate="up"} 1
node_network_info{address="3c:ec:ef:45:1c:3a",broadcast="ff:ff:ff:ff:ff:ff",device="eno3",duplex="unknown",ifalias="",operstate="down"} 1
node_network_info{address="3c:ec:ef:45:1c:3b",broadcast="ff:ff:ff:ff:ff:ff",device="eno4",duplex="unknown",ifalias="",operstate="down"} 1





[ZBXNEXT-5704] Automatic download of scripts from template Created: 2020 Jan 20  Updated: 2020 May 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Benoit Machiavello Assignee: Michael Veksler
Resolution: Unresolved Votes: 2
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

hi,

many templates need a script to run on the agent side to work.

on large infrastructures, deploying and maintaining these scripts is not necessarily practical.

It would be perfect if it was possible to add the script to execute to the template. The Zabbix agent would only have to download the script when assigning a template, or to update it (for example by checking once a day if there is a new version).

 



 Comments   
Comment by patrik uytterhoeven [ 2020 Jan 20 ]

i don't think it's a good idea if zabbix agents start to update scripts by itself as things can change and break.

It would make more sense if scripts are kept centralised on the zabbix server with an option to update/sync them on the server side whenever you want.

On the other hand we still need to deploy agents and update agents this is done with cfgmgmt tools like ansilbe puppet chef, .... these tools are very capable in deploying the scripts.

if zabbix was able to update it's agents/proxies by itself then this would a handy to include.

Comment by Benoit Machiavello [ 2020 Jan 20 ]

The problem with this tools is to have them sync with zabbix need. When you add a template to a new host, your tool doesn't know.

I know it's possible to do deployment of scripts, but you have to maintain different tools. I think it will be easier if Zabbix is self-sufficient

 

I don't know what you understand by "things can change and break."

If you need a new version of the script for a new version of the template, your agent had to update

Comment by Sven Solberg [ 2020 Jan 21 ]

Actually, I think this is a great idea.

Splunk Enterprise has a (paid for) feature whereby you can create applications (Exchange monitoring, AD monitoring, amongst many others) and assign hosts into an "Exchange Application" group.  This then downloads a templated scripts for client based scripts.

You can have various groups for dev, testing, production etc... move a host from one to the other and have the automatically pull down the latest code when the agent next checks for updates (or actively told - "Get your new info!")

That would be an amazing feature on Zabbix!!





[ZBXNEXT-5391] Add support for Pressure Stall Information Created: 2019 Aug 31  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Kyle G. Assignee: Michael Veksler
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

See https://major.io/2019/01/27/using-the-pressure-stall-information-interface-in-kernel-4.20/

 

PSI aggregates and reports the overall wallclock time in which the tasks in a system (or cgroup) wait for contended hardware resources.



 Comments   
Comment by Glebs Ivanovskis [ 2019 Aug 31 ]

kyleg, this can be implemented as a loadable module. Would you be interested in testing it?





[ZBXNEXT-5286] Additional element {#IFALIAS} to net.if.discovery on Win32 Created: 2019 Jun 25  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.28, 4.0.9, 4.2.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Boris P. Korzun Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: LLD, Windows, agent, items, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows Vista or greater


Attachments: Text File zabbix_win32_net_alias.patch    
Issue Links:
Causes
caused by ZBX-16257 Incorrect network interface descripti... Closed

 Description   

Zabbix agent uses other information for {#IFNAME} element in net.if.discovery after 3.0 release (ZBX-10063). It's suggested to add {#IFALIAS} element for obtain pre-3.0 information - MIB_IF_ROW2.Alias (ZBX-16257).



 Comments   
Comment by Boris P. Korzun [ 2019 Jul 25 ]

I suggest the patch that returns 'Alias' as {#IFALIAS} also.

But I don't know about net.if.list. I don't use it.





[ZBXNEXT-164] Zabbix agent parameter "most busiest process" Created: 2009 Dec 09  Updated: 2024 Feb 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Lukas Macura Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: item, newitemkey, process
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-88 Windows Agent ability to capture top ... Closed

 Description   

Would be nice to have item which will return bussiest process. Basic problem is, that we can monitor if process is runing, we can monitor load of server, but there is no possibility to return which process is eating CPU. In other words, similar functionality as command top. Item would return name of process based on index.

proc.topname[1]
would return process name which is bussiest on system

proc.top[1]
would return percent of cpu used by bussiest process.

proc.topname[3]
would return third bussiest process.

It is not strict that it should work like this but would be nice to know what happened on system. In most situations, some services or processes do not log int syslog when there is deadlock and we only know that CPU is high. And, there is situation when it is not problem if some process eats 100%CPU (eg. boinc), but it can be significant problem if some process do same thing (eg. less). Would be nice to make trigger based on this.



 Comments   
Comment by Alexei Vladishev [ 2012 Oct 21 ]

A quick workaround:

UserParameter=top,top -n 1 -b|head -20

Comment by Oleksii Zagorskyi [ 2015 Oct 03 ]

Related to ZBXNEXT-2998





[ZBXNEXT-1395] Loose agent because of the timeout in agent mounted disk discovery reply Created: 2012 Aug 31  Updated: 2014 Nov 12

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.0, 2.0.2
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Maxim Semenov Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: floppy, timeout, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

windows os with floppy drive



 Description   

Zabbix Agent windows Mounted filesystem discovery problem

If I enable this feature zabbix falls to network errors.
[CODE] 1386:20120829:180101.758 enabling Zabbix agent checks on host [host]: host became available
1382:20120829:180107.819 Zabbix agent item [vfs.fs.discovery] on host [host] failed: first network error, wait for 15 seconds
1386:20120829:180125.933 Zabbix agent item [vfs.fs.discovery] on host [host] failed: another network error, wait for 15 seconds
1386:20120829:180144.032 Zabbix agent item [vfs.fs.discovery] on host [host] failed: another network error, wait for 15 seconds
1386:20120829:180202.144 temporarily disabling Zabbix agent checks on host [host]: host unavailable[/CODE]

It looks like that this is timeout issue.
Is it possible to grow timeout time for low level discovery?

When I run zabbix_get from command line it takes about 6 seconds to get data from host.

[B]WORKAROUND:
Timeout occurs in case of floppy disk presence. I have disabled floppy disk drive in system and timeouts gone away.
Hope this knowledge will help somebody else[/B]

It would be wonderful to skip disk A: or have ability to increase timeout for discovery.



 Comments   
Comment by Alexei Vladishev [ 2012 Aug 31 ]

There is no way to increase timeout for discovery items only. Note that all items (discovery or not) process timeout in exactly the same manner. You may increase Timout parameter in zabbix_agentd.conf and zabbix_server.conf, but it is absolutely not recommended solution.

I am closing it because it is not a bug report.

Comment by Maxim Semenov [ 2012 Aug 31 ]

The problem is:
If you activate "Mounted filesystem discovery"(from default template) for the hosts with floppy disk drive and Windows installed, then we start to get messages like "Zabbix agent on HOST is unreachable for 5 minutes"

This problem because of the function GetVolumeInformation (diskspace.c file) trying to get info about floppy disk drive filesystem. It gets about 5-6 second, so we get timeout.
Think that it's a good idea to exclude disk "a:" from filesystem check in agentd.

Comment by Maxim Semenov [ 2012 Aug 31 ]

The problem is:
If you activate "Mounted filesystem discovery"(from default template) for the hosts with floppy disk drive and Windows installed, then we start to get messages like "Zabbix agent on HOST is unreachable for 5 minutes"

This problem because of the function GetVolumeInformation (diskspace.c file) trying to get info about floppy disk drive filesystem. It gets about 5-6 second, so we get timeout.
Think that it's a good idea to exclude disk "a:" from filesystem check in agentd.

This is not a bug, bun if you want to add file system discovery to a number of windows servers with floppy drives, you will get a lot of "Zabbix agent on HOST is unreachable for 5 minutes" problems. And this is not good.

Comment by richlv [ 2012 Aug 31 ]

i'm not quite sure whether it's a good idea to hardcode such exceptions, especially given the demise of floppy drives. nevertheless, moving to feature requests first

Comment by Oleksii Zagorskyi [ 2012 Nov 08 ]

Just a link - a forum thread (in Russian) http://www.zabbix.com/forum/showthread.php?p=120902
http://www.zabbix.com/forum/showthread.php?p=124056

Comment by Antonio Salazar [ 2013 May 20 ]

I don't think this should be triaged as a minor feature request.

vfs.fs.discovery is not a simple item, but a metaitem where actual items are derived from. The file system discovery always timing out if certain devices are installed invalidates the purpose of autodiscovery because no storage item will be created, this makes file system autodiscovery unreliable.

It's telling that you have to disable storage devices to make storage autodiscovery work.

Comment by Antonio Salazar [ 2013 May 20 ]

I've found file system discovery works if the item type of the discovery rule is changed from "zabbix agent" to "zabbix agent (active)", even if the manual for 2.2 states

The type of check to perform discovery; should be Zabbix agent for file system discovery.


Maybe the documentation should mention this special case?

This makes sense as the server timeout is only for passive checks, active checks can take all the time they need. I guess all hosts that can be passive checked are capable of active checks, so this issue is not that serious after all.

Comment by richlv [ 2014 Apr 12 ]

note that manual has been updated to mention both 'normal' (passive) agent & active agent as valid choices for this discovery rule

Comment by richlv [ 2014 Apr 12 ]

additionally, ZBX-4284 talks about having an algorithm to disable only the items that are timing out. while it won't solve the main problem here, it would prevent host from being reported as being down

Comment by Oleksii Zagorskyi [ 2014 Nov 12 ]

features used in ZBXNEXT-2006 might be considered to improve current case, if it still will be actual.





[ZBXNEXT-1360] Please add support of cached memory for Solaris agents Created: 2012 Aug 13  Updated: 2022 Aug 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.2
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Igor Urazov Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: agent, memory, solaris, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2142 Report ARC size on ZFS-based system Closed

 Description   

Right now Zabbix agents doesn't support fetching of cached (ZFS ARC cache) memory on Solaris. You can get this value by executing "kstat zfs:0:arcstats:size" from shell.



 Comments   
Comment by Nikita Afanasev [ 2016 Nov 02 ]

Do you have an ETA for this issue?

Comment by Martin Brochu [ 2018 Feb 14 ]

We also have this issue where we seem to be unable to report memory usage correctly!

Comment by Sascha Guilliard [ 2018 Aug 13 ]

same problem on linux, cache information should be available in /proc/spl/kstat/zfs/arcstats

Comment by Mircea [ 2022 Aug 18 ]

Still having the same problem on Linux. That's almost 6 years now





[ZBXNEXT-231] Current Disk Queue Length Created: 2010 Feb 12  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Roberto Rios Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows & *nix servers



 Description   

In my windows servers, I'm monitoring a counter called "current disk queue length". Basically, accordingly with MS: "Current Disk Queue Length is the number of requests outstanding on the disk at the time the performance data is collected."

I like it because it's simple.

My question is, does linux has something like this counter?

I was looking into IOSTAT, but none of the counters provided seems to be equal to current disk queue lenght. The most similar is "avgqu-sz", but it's an average and the windows one is the actual value measured when the zabbix agent was contacted.

Please could you register a feature request? Meanwhile you can create a simple user parameter, which would parse output of /proc or vmstat.

So my request is to create an item that could monitor, either in windows and linux, the disk I/O. Something like vfs.dev.diskqueue[device].



 Comments   
Comment by Steve mushero [ 2011 Feb 02 ]

Yes, avgqu-sz is an average, but over 1 second; not sure you can use data more quickly than that, i.e. instant queue may not help much if it's going up and down every 10ms; I'd think an average over time would be best.

For real-time, look at field 9 of /sys/block/hda/stat, etc. See: http://www.mjmwired.net/kernel/Documentation/iostats.txt





[ZBXNEXT-358] multiple old files in log rotation Created: 2010 May 13  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: logging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix should support multiple old files in log rotation. That is, not just a single "zabbix_server.log.old" file, but "zabbix_server.log.0", "zabbix_server.log.1", etc.






[ZBXNEXT-69] bundle connections Created: 2009 Sep 05  Updated: 2017 Feb 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Roger Berger Assignee: Unassigned
Resolution: Unresolved Votes: 23
Labels: agent, performance, protocols
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

all



 Description   

OK, I am not a programmer so maybe my idea is not possible or stupid.
As far as I understand how it works now is that the server connects the agent and asks the agent the data of an item. All off my servers have about 50 items, which connect every 30 seconds.
If you let the agent bundle the data and send all data at once, that would need less connections, less running agents and would make it possible to use compression (and with that offcourse less datatraffic).



 Comments   
Comment by Mike Willis [ 2012 Sep 20 ]

Is there any status update on this issue?
Are there any plans to work on this issue in the future?

I am in the process of evaluating Zabbix for use by a major healthcare provider.
However, there are multiple layers of IPS and security monitoring systems in place.
Zabbix appears to create a new connection for each monitored item per monitored agent.
The default Linux server template runs about 200 connections per minute per agent.
Is there any way to reduce this to something alot smaller?

I can understand that different items might have different update intervals, but is there any way to allign these checks? IE: if I set 50 items to 30 sec update and 50 items to 60 sec update, with the normal ICMP checking and webserver checking this would be more like 5-6 connections per minute per host.

Please advise if there is a workaround or planned improvement.

Thank you,

-Mike

Comment by richlv [ 2012 Sep 20 ]

from which version did that template come ? 1.8 one had lots of insanely low intervals, bunch of mostly useless items etc. 2.0 templates should be better in that regard

Comment by Mike Willis [ 2012 Sep 20 ]

Thanks for responding richlv.

This is in relation to zabbix-server-mysql-1.8.14-1.el6.x86_64 (CentOS 6.3 addons repo)
After doing some more reading it may be better for me to do active checks. However,
I'm going to need to figure out how to auto add/link critical passive checks (ping/http etc..). I think I can do this by creating a new Linux passive template and adding it to the "Auto Registration Action".

With the default Linux template my connections per second dropped to about 20/minute. down from 200/minute.
This will likely meet my connections/sec requirement. I'm a little concerned that alerts might not be generated if the agent is pingable from the zabbix-server but the agent to zabbix-server communication is interrupted (IE: host doesn't check in/agent dies etc...).

Any thoughts?

Thanks,

-Mike

Comment by richlv [ 2012 Sep 26 ]

hmm, better let's avoid unrelated discussions on issues. please use zabbix forums, irc & other channels for community support

Comment by Alexei Vladishev [ 2012 Oct 10 ]

It is likely to be implemented in the future, no ETA.

Comment by Sigismondo Boschi [ 2015 Feb 26 ]

My two coins: I would allow also persistent connections between the server and the agent, eventually settable with a configuration option.
In fact I had a problem on a system where occasionally it was not possible to perform connections: existing connections was still working, but it was not possible to establish new connections. In this case an already connected zabbix agent would have been able to provide statistical data and give support for the problem solving. Given the current approach, the zabbix server has not been able to retrieve any data.





[ZBXNEXT-481] possibility to specify several regular expressions in an item Created: 2010 Aug 19  Updated: 2016 Dec 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: globalregexps, items, regexps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Suppose we wish to monitor Web server log files and we have three requirements:

(1) we do not want to see accesses from our own IPs (e.g., 12.34.56.78, 34.56.78.12, and 56.78.12.34);
(2) we do not want to see particular domains (e.g., test1.example.com, test2.example.com, and test3.example.com);
(3) we wish to see lines that contain all of "aaa", "bbb", and "ccc".

Currently, the only reasonable way to do this is to create a single big regular expression (e.g., MY_BIG_REGEXP) in "Administrator" -> "General" -> "Regular expressions" and then specify this regular expression in an item, like so:

log[mylogfile.txt,@MY_BIG_REGEXP]

This sometimes lacks flexibility, which is highly inconvenient. Suppose there is a file hislogfile.txt. We wish to (1) exclude IP addresses 12.34.56.78, 34.56.78.12, and 56.78.12.34 as before, (2) exclude different domains this time: demo1.example.com, demo2.example.com, and demo3.example.com, (3) see lines that contain "aaa", "bbb", and "ccc" as before. And if there is also herlogfile.txt, in which we wish to do (1) and (2) as in the second case, but instead of (3) we wish to see "xxx", "yyy", and "zzz", this leads to three big regular expressions that have a lot of duplicate information.

What would be highly cool to do, is create five regular expressions:

(1) NOT_OUR_IPS, which excludes our IP addresses;
(2) NOT_TEST_DNS, which excludes testX.example.com;
(3) NOT_DEMO_DNS, which excludes demoX.example.com;
(4) AAA_BBB_CCC for "aaa", "bbb", and "ccc";
(5) XXX_YYY_ZZZ for "xxx', "yyy", and "zzz".

We could then combine them in different ways, like so:

log[mylogfile.txt,@NOT_OUR_IPS@NOT_TEST_DNS@AAA_BBB_CCC]
log[hislogfile.txt,@NOT_OUR_IPS@NOT_DEMO_DNS@AAA_BBB_CCC]
log[herlogfile.txt,@NOT_OUR_IPS@NOT_DEMO_DNS@XXX_YYY_ZZZ]

This is vastly more flexible and convenient than having to create big regular expressions that have duplicate information. For instance, if we get a new IP address (e.g., 78.12.34.56), we only have to add it to NOT_OUR_IPS, rather than all big regular expressions.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Dec 22 ]

Since the result of matching or not matching global regular expression is basically a boolean, even more flexibility would be achieved if logical operators and parentheses were allowed.





[ZBXNEXT-434] log / logrt items should be able to collect specified number of lines before and after the matching line to improve readability (error context) Created: 2010 Jun 30  Updated: 2015 Dec 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Nyyr Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: expressions, logmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

log / logrt items do not support multi-line regexps (or at least I was not able to get any working) and when determining severity / cause of an error it would be nice to see what happened prior to the error, i.e. to see a few lines in the log before
the error entry. Something like "grep -B 10 -A 10 error"



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Dec 02 ]

ZBXNEXT-968 for multi-line regexp support.
But current request is a different thing.





[ZBXNEXT-438] should be possible to build zabbix_get and zabbix_sender independently from agent Created: 2010 Jul 02  Updated: 2017 Jul 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: build, sender, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: DEV-591
Story Points: 3

 Description   

Currently, the only way to build zabbix_get and zabbix_sender is to configure with --enable-agent.

Drawbacks:

(1) compilation takes noticeably longer on slower machines;
(2) it is not exactly intuitive that we should specify --enable-agent to compile zabbix_get and zabbix_sender;
(3) on platforms where agent is not yet supported, we might still want zabbix_sender, and if agent compilation fails then we also do not get zabbix_sender (without additional effort).



 Comments   
Comment by Marc Schoechlin [ 2012 Mar 29 ]

I fully agree - it would be neat to have control about building user utilities.

I want to have zabbix_server and zabbix_get on zabbix-proxies (i.e. for debugging purposes).

Just provide a dedicated configure switch to compile user tools separately.

i.e.
--with-usertools
--without-usertools





[ZBXNEXT-2258] zabbix_agentd -p should report HostMetadata Created: 2014 Apr 13  Updated: 2014 Apr 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Harri Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: metadata
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hopefully I am not too blind to see, but for verification it would help a lot, if "zabbix_agentd -p" could show the HostMetadata before the host tries to register itself on the server.






[ZBXNEXT-2248] Change case for system.hostname Created: 2014 Apr 10  Updated: 2014 Oct 24

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Ryan Armstrong Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: casesensitivity, hostname
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File hostname.patch    
Issue Links:
Duplicate
duplicates ZBXNEXT-1080 Match agent's Hostname+FQDN with a ho... Closed

 Description   

I distribute a common agent configuration file and use 'hostnameitem=system.hostname' to set agent.hostname on each system. Our hosts (5000+) are imported and populated via configuration management but unfortunately the character casing does not always match the configuration on the servers.

To fix this, I convert all hostnames to lower case in config management and attempted to do the same in the agent config. Unfortunately, any item key used in 'hostnameitem' must not use an external script and must use a natively support key. I have not found any in-built option for case conversion.

Can you please consider adding a key parameter/option for case conversion?



 Comments   
Comment by richlv [ 2014 Apr 12 ]

you can use system.run in hostnameitem - does that help ?
in any case, seems to be a duplicate of ZBXNEXT-1080

Comment by Ryan Armstrong [ 2014 Apr 14 ]

I neglected to clarify; this issue is most relevant on Windows, where system.run is not supported.

Comment by Ryan Armstrong [ 2014 Apr 14 ]

I don't feel that this is a duplicate issue as ZBXNEXT-1080 relates to netbios name vs. FQDN, while either of these results are still affected by casings.

This issue is that if the operator who built a server configured it with caps in the hostname, we have to match the casing on the Zabbix server config. Forcing both sides to upper/lower is a major convenience gain and encourages adoption from larger organisations using configuration management.

Comment by richlv [ 2014 Apr 14 ]

https://www.zabbix.com/documentation/2.2/manual/appendix/items/supported_by_platform seems to claim that system.run is supported on all platforms, though

Comment by Ryan Armstrong [ 2014 Jul 25 ]

system.run is support on Windows yes, but there is no command available to return the hostname converted to lower case.

Comment by Ryan Armstrong [ 2014 Jul 25 ]

I've attached a patch for Windows and Linux that accepts a new parameter, 'lc' or 'uc' to convert to lower or upper case respectively.





[ZBXNEXT-2105] log process type in each log entry Created: 2014 Jan 09  Updated: 2014 Jan 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 2.2.1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: logging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when a daemon crashes, it logs backtrace. unfortunately, it does not include process type that crashed. to find it out, we need to see the startup messages, which often are rotated away by that time.

initial suggestion was to log process name when crashing, but asaveljevs suggested including process type in every log message.

these process types probably should be shortened to 3 letters (2 are not enough - history syncer and heartbeat sender would be too similar).

before implementing, full list of mappings should be created - for example :

  • history syncer - HSN
  • heartbeat sender - HBS


 Comments   
Comment by richlv [ 2014 Jan 09 ]

(1) while implementing this, let's finally document logfile format, too





[ZBXNEXT-2147] merge s/t types in agent output for -p/-t Created: 2014 Feb 07  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.1
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: agent
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

turns out, s/t types in agent output for -t/-p are nearly identical. this is confusing, and it is suggested that they be merged.



 Comments   
Comment by richlv [ 2014 Feb 07 ]

citing asaveljevs from ZBX-7597 :

asaveljevs Labels "s" and "t" come from C code and correspond to GET_STR_RESULT() and GET_TEXT_RESULT(). The difference might be historical, but nowadays both are unlimited in length and do not correspond to "Character" and "Text" item value types.

asaveljevs The only difference, according to sasha, seems to be that when a TEXT result is converted into STR result, we only take the first line (see function get_result_str_value()). This feature, however, might not be actually used and in the future we might consider leaving just one of them.

asaveljevs As an example, the result of "vfs.fs.discovery" is of "s" type and it is longer than 255 characters.





[ZBXNEXT-1952] Os400 operating system monitoring Created: 2013 Oct 07  Updated: 2013 Oct 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Arturs Kenins Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: IBM, OS/400
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix for OS400



 Description   

We need to monitor OS400 operating system. Main functionality of OS, jobs, jobs status.






[ZBXNEXT-1664] Inaccurate timekeeping in disk metrics Created: 2013 Mar 13  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.5
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Nathan Scott Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: diskio, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux, FreeBSD (at least) affected.


Attachments: File disk-metric-timestamps.patch    

 Description   

As discussed elsewhere, the code in zabbix_agent that extracts kernel disk statistics on Linux makes some assumptions about time that are not correct. This jira request discusses one such issue, and the attached patch strives to fix it.

The rate conversion calculations being performed in apply_diskstat are using a timer resolution in seconds, as a result of the time(2) use in process_diskstat. While this may appear harmless, it is possible that different calls to time() as we pass over the device list will produce different values (near the second boundary) and this would result in incorrect rate conversion calculations by apply_diskstat.

There is also no need to request the time inside the loop which iterates over all monitored devices, this can be moved to a single time request outside the loop. If the CPU or other metrics also need accurate timestamping someday (it is somewhat surpising that no timestamps at all are inserted into the CPU metric shmem segment, for example, to reflect when the sample was actually taken), this timestamp would also be available to those.






[ZBXNEXT-1715] new item to return ip addresses Created: 2013 Apr 22  Updated: 2016 Mar 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: ipaddress, newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

agent has built-in items to return mac/hw addresses and interfaces on a system, but there is no way to get a list of ip addresses.

this would be useful when one would like to test all ip addresses for some open port, or to determine internal ip address of an auto-registered host behind nat.

a couple of different items could be of use - one that returns plain list of the addresses (like mac address one does), and another that returns ip addresses in lld json structure (allowing to filter out 127.0.0.1 etc)



 Comments   
Comment by Oleksii Zagorskyi [ 2016 Mar 10 ]

Far, but still related - ZBXNEXT-3170 asks to include IP address to net.if.discovery.
Decision, what to do with multiple addresses, could be applied here too.





[ZBXNEXT-1720] internal checks for Zabbix agent Created: 2013 Apr 24  Updated: 2021 Jul 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.6
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Bart Verwilst Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: internalmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently there is no way to know if the configured amount of pollers is enough to handle all requests coming from the server. Some kind of '% of time busing serving requests by pollers' would be very handy here.



 Comments   
Comment by richlv [ 2013 Apr 24 ]

same for active item processes etc

Comment by Steve mushero [ 2013 Aug 23 ]

We'd love this as we often use 200-500 items per server, especially for big HAProxy system, or lots of JMX and no way to know if we have enough agent processes running (we use passive).

Comment by Alexei Vladishev [ 2014 Sep 25 ]

Just to make it clear, is it about agent side?

Comment by richlv [ 2014 Sep 25 ]

i'm not the reporter, but the summary says it's for the zabbix agent

Comment by Backoffice Team [ 2019 Dec 27 ]

I think 5.0 would be great to launch this feature.

Currently we still have no way to monitor how much of StartAgents we are actually using, missing a way to easily prevent gaps and data loss due to failure to collect it.

Since this ticket was created, we now have Zabbix Agent 2 (lauched in zabbix 4.4). For [roadmap|https://www.zabbix.com/roadmap], there are features such windows support and improved plugin support.

Proxy and Server have already internal data that monitors and make that data available, we are suggesting in this ticket that it could also be the case for the agent. Having items like `zabbix[process,<type>,<mode>,<state>]` would fix this gap. Ex:

zabbix[process,<type>,<mode>,<state>]
zabbix[process,agent,avg,busy]
zabbix[process,active,avg,busy]

 





[ZBXNEXT-1197] Hardware and software details monitoring by Zabbix Agent under Windows Created: 2012 Apr 25  Updated: 2015 Nov 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: inventory, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Zabbix Agent should be extended to support native collection of profile-related data, for example:

Hostname
OS (Name, short and full details)
Software (list of installed packages)
MAC Addresses (comma delimited)
CPU info
HW Architecture
Device Hardware (list of PCI devices)
Device Chassis (if available)
Device Vendor (if available)
Device Model (if available)
Device Serial number (if available)

These items are supported under Linux already (ZBXNEXT-677).



 Comments   
Comment by richlv [ 2012 Apr 25 ]

i believe "hostname" should be supported already for a long time

<zalex> Yes, and some detailed description already available here http://www.zabbix.com/documentation/2.0/manual/appendix/install/windows_agent#configuration

Comment by Wesley Kirk [ 2014 Oct 17 ]

MAC Address, especially, why is it so hard for the Zabbix agent on Windows 7, et al, to get this info. It's easy on the command line using "ipconfig /all".

Comment by Aleksandrs Saveljevs [ 2015 Nov 13 ]

MAC addresses asked for specifically in ZBXNEXT-2290.





[ZBXNEXT-1199] include subconfig files in defined sequence Created: 2012 Apr 26  Updated: 2021 Jan 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 1.8.12
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Harri Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: configuration, trivial, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debain Squeeze, amd64



 Description   

zabbix_agentd.conf says "Include=/etc/zabbix/zabbix_agentd.conf.d". AFAICS the subconfig files are read in an unpredictable sequence. If you add or edit a config file, then the sequence of untouched files might change by chance, depending upon the underlying file system.

This makes it very difficult to override a subconfig file (e.g. the company-wide default for all clients) by a local config file. You cannot be sure which config file is read last. To get reproducible results I would suggest to include the subconfig files in an alphabetical sequence, as usual.

Of course it would be possible to add another Include line to the company-wide config file and to introduce another config directory, but sorting the files would be smarter (IMHO).

Probably proxy and server have the same problem.



 Comments   
Comment by richlv [ 2012 Apr 26 ]

alphabetic sounds god. case sensitive or not ?

Comment by richlv [ 2012 Apr 26 ]

(1) it should also be documented

Comment by Aleksandrs Saveljevs [ 2013 Oct 30 ]

Related issue: ZBX-5836.

Comment by Harri [ 2013 Nov 03 ]

case sensitive, using the C locale. Editor backup files should be ignored; probably thats the difficult part.

Comment by Harri [ 2014 Mar 29 ]

Apache2 supports an option "IncludeOptional", e.g.

IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

Maybe a similar feature would be possible in Zabbix? Advantages:

  • the user can define a naming convention
  • its not an error, if there is no file
Comment by Marc [ 2014 Mar 29 ]

According to ZBXNEXT-497 /etc/zabbix/userparams.d/*.conf should already work - although with error messages

Comment by Harri [ 2021 Jan 21 ]

AFAICS ZBX-5836 has been closed with a documentation change, but this is not very useful. You still don't know which value overrides the others. Sorry to say, but in this case Zabbix is unreliable and works only sometimes by chance.





[ZBXNEXT-1143] Can logrt support some directory name written in regular expression ? Created: 2012 Mar 09  Updated: 2019 Sep 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.10
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Toshiyuki Ishii Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: log, logmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File zabbix_agentd.log    
Issue Links:
Duplicate

 Description   

It is a simple question of Zabbix internal behavior.

The logrt is suported some file name written by regular expression.
Can it be supported directory name that contained regular expression?

----------------------------------------------------------------------------------------
Self test environment

Zabbix server / Agent :1.8.7-2

item : logrt[/var/log/test/....-..-../....-..-..\.log]
trigger :

{Zabbix:logrt[/var/log/test/...-..-../....-..-..\.log].str(test)}

=1
target file: /var/log/test/YYYY-MM-DD/YYYY-MM-DD.log
(real file name : /var/log/test/2012-03-09/2012-03-09.log)

The permission of target file is 755 ,ownership is zabbix:zabbix.

See attached file "zabbix_agentd.log"
----------------------------------------------------------------------------------------

According to http://fossies.org/dox/zabbix-1.8.10/logfiles_8c_source.html,
the target file that is separated by "Directory" and "File name"
It seems that the rotation log file detection by regular expression works only in "File name".
Is that right?



 Comments   
Comment by Alexander Vladishev [ 2012 Mar 09 ]

According to documentation of Zabbix doesn't support regular expressions in directory names.
http://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes/zabbix_agent#supported_item_keys

It not a bug. An issue moves into ZBXNEXT.

Comment by richlv [ 2012 Mar 13 ]

i also added a note in http://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes/log_items#important_notes to make this more clear





[ZBXNEXT-1002] dns caching by zabbix daemons Created: 2011 Oct 17  Updated: 2021 Aug 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.8.8, 2.0.0
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Miguel Di Ciurcio Filho Assignee: Unassigned
Resolution: Unresolved Votes: 22
Labels: cache, dns, gethostbyname, ipv6, performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 10.04


Issue Links:
Duplicate
is duplicated by ZBX-17396 Non-existing DNS entries in Server= i... Closed

 Description   

I have configured agentd to connect to the Zabbix server by using a hostname, instead of an IP. It seams to me that for every item queried, gethostbyname() is called.

192.168.1.15 - DNS server in /etc/resolv.conf
192.168.1.13 - Host where the agent is running
zabbix.elabsis.com - Zabbix server

tcpdump sample from the 192.168.1.13:

17:12:15.075198 IP 192.168.1.15.53 > 192.168.1.13.46016: 25749* 1/2/2 A[|domain]
17:12:15.083781 IP 192.168.1.13.45727 > 192.168.1.15.53: 14928+ A? zabbix.elabsis.com. (36)
17:12:15.084509 IP 192.168.1.15.53 > 192.168.1.13.45727: 14928* 1/2/2 A[|domain]
17:12:15.153713 IP 192.168.1.13.42149 > 192.168.1.15.53: 8538+ A? zabbix.elabsis.com. (36)
17:12:15.154379 IP 192.168.1.15.53 > 192.168.1.13.42149: 8538* 1/2/2 A[|domain]
17:12:15.172920 IP 192.168.1.13.47295 > 192.168.1.15.53: 19772+ A? zabbix.elabsis.com. (36)
17:12:15.173582 IP 192.168.1.15.53 > 192.168.1.13.47295: 19772* 1/2/2 A[|domain]
17:12:16.371257 IP 192.168.1.13.33089 > 192.168.1.15.53: 48187+ A? zabbix.elabsis.com. (36)
17:12:16.371979 IP 192.168.1.15.53 > 192.168.1.13.33089: 48187* 1/2/2 A[|domain]
17:12:16.374865 IP 192.168.1.13.36497 > 192.168.1.15.53: 9540+ A? zabbix.elabsis.com. (36)
17:12:16.375738 IP 192.168.1.15.53 > 192.168.1.13.36497: 9540* 1/2/2 A[|domain]
17:12:16.434436 IP 192.168.1.13.43697 > 192.168.1.15.53: 12163+ A? zabbix.elabsis.com. (36)
17:12:16.435174 IP 192.168.1.15.53 > 192.168.1.13.43697: 12163* 1/2/2 A[|domain]
17:12:17.662556 IP 192.168.1.13.43674 > 192.168.1.15.53: 50570+ A? zabbix.elabsis.com. (36)
17:12:17.663198 IP 192.168.1.15.53 > 192.168.1.13.43674: 50570* 1/2/2 A[|domain]
17:12:17.684247 IP 192.168.1.13.42368 > 192.168.1.15.53: 9102+ A? zabbix.elabsis.com. (36)
17:12:17.684994 IP 192.168.1.15.53 > 192.168.1.13.42368: 9102* 1/2/2 A[|domain]
17:12:17.698499 IP 192.168.1.13.60401 > 192.168.1.15.53: 960+ A? zabbix.elabsis.com. (36)
17:12:17.699178 IP 192.168.1.15.53 > 192.168.1.13.60401: 960* 1/2/2 A[|domain]
17:12:17.727855 IP 192.168.1.13.51960 > 192.168.1.15.53: 8929+ A? zabbix.elabsis.com. (36)
17:12:17.728542 IP 192.168.1.15.53 > 192.168.1.13.51960: 8929* 1/2/2 A[|domain]
17:12:17.751009 IP 192.168.1.13.38707 > 192.168.1.15.53: 10705+ A? zabbix.elabsis.com. (36)
17:12:17.751738 IP 192.168.1.15.53 > 192.168.1.13.38707: 10705* 1/2/2 A[|domain]
17:12:18.916101 IP 192.168.1.13.38377 > 192.168.1.15.53: 33673+ A? zabbix.elabsis.com. (36)
17:12:18.916865 IP 192.168.1.15.53 > 192.168.1.13.38377: 33673* 1/2/2 A[|domain]
17:12:19.976746 IP 192.168.1.13.52731 > 192.168.1.15.53: 37538+ A? zabbix.elabsis.com. (36)
17:12:19.977385 IP 192.168.1.15.53 > 192.168.1.13.52731: 37538* 1/2/2 A[|domain]
17:12:20.007473 IP 192.168.1.13.49112 > 192.168.1.15.53: 1608+ A? zabbix.elabsis.com. (36)
17:12:20.008169 IP 192.168.1.15.53 > 192.168.1.13.49112: 1608* 1/2/2 A[|domain]
17:12:20.054203 IP 192.168.1.13.56993 > 192.168.1.15.53: 36012+ A? zabbix.elabsis.com. (36)
17:12:20.054905 IP 192.168.1.15.53 > 192.168.1.13.56993: 36012* 1/2/2 A[|domain]
17:12:20.109898 IP 192.168.1.13.54451 > 192.168.1.15.53: 13610+ A? zabbix.elabsis.com. (36)
17:12:20.110585 IP 192.168.1.15.53 > 192.168.1.13.54451: 13610* 1/2/2 A[|domain]
17:12:20.194716 IP 192.168.1.13.34243 > 192.168.1.15.53: 14421+ A? zabbix.elabsis.com. (36)
17:12:20.195350 IP 192.168.1.15.53 > 192.168.1.13.34243: 14421* 1/2/2 A[|domain]
17:12:20.198975 IP 192.168.1.13.49746 > 192.168.1.15.53: 37948+ A? zabbix.elabsis.com. (36)
17:12:20.199711 IP 192.168.1.15.53 > 192.168.1.13.49746: 37948* 1/2/2 A[|domain]
17:12:20.271991 IP 192.168.1.13.43933 > 192.168.1.15.53: 60673+ A? zabbix.elabsis.com. (36)
17:12:20.272650 IP 192.168.1.15.53 > 192.168.1.13.43933: 60673* 1/2/2 A[|domain]

After adding a dozen hosts using the hostname of the server, my internal DNS server is being hammered by the same requests over and over.

Using the IP address of the Zabbix server does not create any DNS traffic.



 Comments   
Comment by richlv [ 2011 Oct 18 ]

indeed, zabbix daemons don't do any dns caching, thus ip usage is suggested. alternatively, nscd or similar name server caching daemons could be used to reduce the amount of remote dns queries

Comment by Miguel Di Ciurcio Filho [ 2011 Oct 18 ]

Just a notice in case someone tries to use nscd in Debian or Ubuntu: hosts lookups are not cached by default.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=335476

http://sourceware.org/bugzilla/show_bug.cgi?id=4428

You must edit /etc/nscd.conf to enable it, but it is not that reliable.

Comment by Miguel Di Ciurcio Filho [ 2011 Oct 18 ]

I have just noticed that zabbix_server has the same issue. When connecting to hosts using DNS name, for every item queried there is name a resolution call.

Comment by Cisco Vila [ 2013 Feb 01 ]

Has there been any solutions to this? We are experiencing the same issues for Enterprise installations.

Comment by Marc [ 2013 Feb 07 ]

As mentioned before, use nscd.
Name service caching is task of the operating system respectively task of systems like nscd. Alternatively one could use a local DNS server for caching.

Caching domain names has no place to be within ZABBIX applications.

Comment by Oleksii Zagorskyi [ 2013 Mar 29 ]

I've just checked zabbix agent (2.0.5) under Windows XP x32 and Windows 7 x64 - grab packets by wireshark.
As expected there no problems - windows caches resolved DNS names by default.
It's true as for requesting list of active checks (ServerActive=DNSname) and for agent passive incoming TCP connections (Server=DNSname)

The are windows build-in useful commands which are self-descriptive:
> ipconfig /displaydns
> ipconfig /flushdns

Just a note - some 3rd party software can optionally? disable the caching.
I know at least one - Kaspersky antivirus provides possibility to disable it during installation.

Comment by Oleksii Zagorskyi [ 2013 Mar 30 ]

I've performed some additional experiments under Debian 6.0.7
Linux it0 3.2.0-3-amd64 #1 SMP Mon Jul 23 02:45:17 UTC 2012 x86_64 GNU/Linux
Agent is ~2.0.5 compiled with IPv6 support. I'm using only IPv4 addresses in the experiments.

Every time when an agent need to know Server's IP the agent host sends two DNS queries simultaneously: "Type: A (Host address)" and "Type: AAAA (IPv6 address)" and then gets two DNS answers respectively. (ZBX-4252 also mentions this and with some details)

For active checks: if BufferSend is default 5 seconds then agent 12 times per one minute performs queries to DNS server + one query for list of active checks.
This is true disregarding on count of monitored items and their update interval (I hope you don't overflow agent's BufferSize here )
So not so bad

But it more critical for passive checks. For every incoming TCP connection from zabbix server agent performs separate query to DNS server.
So you can calculate agent_items*update interval=number of queries for a period from every agent host to DNS server.

Comment by Oleksii Zagorskyi [ 2013 Mar 30 ]

ONLY about agent:

What if will cache only IP of resolved "Server" and "ServerActive" parameters and will refresh it with some "hardcoded|configured|TTL from DNS response" period ?

It will be maybe 1-5 values (remember about multiple servers for active checks support) which agent has to handle and it will resolve current issue.
It should be not so hard to implement, IMO.

I don't see much sense to cache any other IPs possibly used in items.

Comment by Oleksii Zagorskyi [ 2013 Mar 30 ]

I've just tested agent on a FreeBSD 8.1 x32 host.
Agent is also compiled with IPv6 support.

Behavior is the same - DNS query for every incoming TCP connection from server.
But order for queries a bit differs from Linux. Here is IPv4 query-response first and then IPv6 ones:

01:50:16.930705 IP 10.20.0.20.20708 > 10.20.0.10.53: 21340+ A? mon2 (33)
01:50:16.930886 IP 10.20.0.10.53 > 10.20.0.20.20708: 21340* 1/0/0 A 10.20.0.32 (49)
01:50:16.930929 IP 10.20.0.20.13973 > 10.20.0.10.53: 21341+ AAAA? mon2 (33)
01:50:16.931051 IP 10.20.0.10.53 > 10.20.0.20.13973: 21341* 0/1/0 (113)

I don't think I need to test something else.

Comment by Oleksii Zagorskyi [ 2013 Mar 30 ]

Just additional small test on Debian.
Zabbix server v2.0.5 compiled with and without IPv6 support for single passive item check where host monitored by DNS name:
with IPv6 - performs two queries to DNS;
without IPv6 - performs one query to DNS.

Comment by Oleksii Zagorskyi [ 2013 Mar 30 ]

heh, last comment about zabbix sources.

There is some difference - with IPv6 zabbix daemons use "getaddrinfo()" system call, but without IPv6 - another system call - "gethostbyname()".
See /src/libs/zbxcomms/comms.c lines 282 and 348

This is also mentioned in ZBX-6326

Comment by richlv [ 2014 Jan 14 ]

if we ever look into implementing this, it should be very well documented and there must be a way to drop this internal dns cache (like we can reload config for server) - lately i've hit some other software doing its own dns caching, and that can be mighty confusing

Comment by Volker Fröhlich [ 2014 Sep 30 ]

This issue is somewhat connected to ZBXNEXT-1862. One thing I find worth mentioning, is, that different caching solutions offer different feature sets. I remember comparing nscd, dnsmasq and bind at some point. I think to remember that one would not cache PTR records, the other one would not cache MX records, which can be relevant on the Zabbix server machine. My opinion matches Marc's: I don't consider it a Zabbix issue.

Comment by MightyDok [ 2015 Aug 07 ]

Russian hosting provider RTCOMM have DNS rate limit settings for domains, so with standard linux template zabbix server fault to query agent with error "ZBX_TCP_READ() failed: [4] Interrupted system call". I think we need this feature ASAP.

Comment by Dmitry [ 2017 Apr 18 ]

Lab:

  • LAN
  • ~100 agents
  • 2 DNS server (master-slave)
  • 1 zabbix-server 3.0.2 + mysql

Works for me:
1. Zabbix Server-related overload solve by nscd
2. Zabbix client-related overload by:

  • setting short hostname in Server= and ServerActive= (like Server=zabbix instead of Server=zabbix.mydomain)
  • enshure that /etc/resolv.conf has full domain at first place in 'search' parameter (like 'mydomain.myprovider myprovider', but not 'myprovider mydomain.myprovider'
  • add 'option rotate' to resolv.conf

Agent config + correct 'search' parameter make first zabbix agent lookup success. So, it doesnt try other suffixes (only 2 request per connection)
'option rotate' balance loading between master and slave DNS (may not affect on zabbix agent, but balance other requests)

Other way: configure nscd on each agent host. But nscd may cause of mistiming between real network and nscd cache
On zabbix server nscd's negative cache with 20min TTL increase unreachable pollers load

Comment by amg1127 [ 2017 Oct 21 ]

I agree with caching of IP addresses of hostnames supplied on "Server=" and "ServerActive=" parameters (Oleksiy Zagorskyi's suggestion above). For example:

  • When Zabbix agent is initializing and parsing its configuration file, it could resolve hostnames set by the administrator and keep IP addresses recorded in memory until the agent is killed by a TERM, HUP or USR1 signal.
  • When Zabbix agent accepts a connection request from a server or proxy that is willing to perform a passive check, it could match the client address to one of the cached IP addresses.

The network I manage has a Zabbix deployment composed by a Zabbix server, some geographically dispersed Zabbix proxies, more than 2700 monitored hosts and more than 400000 monitored items. Until my team implements Zabbix muthual authentication, we are relying on hostnames specified in "Server=" agentd parameter to provide monitoring access control. However, Zabbix infrastructure is currently consuming a relevant amount of resources from our internal DNS servers, because the absence of a cache produces one name resolution query for every passive metric collect.

Comment by Vitaly Zhuravlev [ 2018 Nov 30 ]

Another approach is to use systemd-resolved if you are on systemd





[ZBXNEXT-771] item system.sw.packages[] should support other package systems Created: 2011 May 02  Updated: 2013 Jun 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 1.9.4 (alpha)
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: freebsd, inventory, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Issue ZBXNEXT-677 introduces item system.sw.packages[] for listing installed packages. However, issue ZBXNEXT-677 covers only Linux and only a subset of available Linux package systems. This issue is to hold requests for other operating and package systems.



 Comments   
Comment by Oleksii Zagorskyi [ 2011 May 02 ]

In the FreeBSD list of software installed easy to take by command:
ls /var/db/pkg
output format is:
ap22-mod_auth_kerb-5.4_2
samba34-3.4.9
zope29-2.9.9

Maarten B in the ZBXNEXT-677 suggests a well solution for FreeBSD. But he did some typo Right is: 'pkg_info -E *'
Both commands: 'pkg_info -E *' and 'ls /var/db/pkg' works well and very fast under non-root account. They gives identical results.
I think 'pkg_info -E *' is better solution.

Comment by Marc [ 2013 Jun 06 ]

Support for AIX would be great too. Maybe via lslpp.

For RPMs:

# lslpp -L -c | awk -F : '$7 == "R" { print $2 }' | head -n 3
AIX-rpm-6.1.7.15-13
bash-3.0-1
cdrecord-1.9-7

For filesets:

# lslpp -L -c | awk -F : '$7 == "F" { print $2 "-" $3 }' | head -n 3
ICU4C.rte-6.1.7.16
Java5.sdk-5.0.0.430
Java5_64.sdk-5.0.0.430




[ZBXNEXT-739] Add ping to agent capabilities Created: 2011 Apr 12  Updated: 2023 Sep 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 69
Labels: ICMP, fping, item
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2528 Zabbix Agent Ping Closed
is duplicated by ZBXNEXT-950 Ability to let the agent ping another... Closed
is duplicated by ZBXNEXT-6691 A builtin agent/agent2 key for ICMP c... Closed

 Description   

I would like to see the zabbix agent to be able to ping hosts on it's own.
Now it requires a userparameter to achive, it would be nice to make it an internal item.



 Comments   
Comment by Alexei Vladishev [ 2011 Apr 12 ]

Note that the agent would require super-user privileges to do that.

Comment by Raymond Kuiper [ 2011 Apr 12 ]

Maybe we could use the same approach as with the server, fping installed with setuid?

Comment by Raymond Kuiper [ 2012 Aug 30 ]

Sooo, any progress on this?
Going the fping way would be great.

Comment by tagwolf [ 2014 Oct 22 ]

I have a workaround for this.

UserParameter=chk.fping[*],fping -c 3 $1 2>&1 | tail -n 1 | awk '{print $$8}' | cut -d/ -f2

But the fact that stuff like this needs to be worked around means these guys need more help and community code support as they cannot implement new features fast enough. This should not be a 3 year old ticket. Nor is it a minor feature . I don't know if it's a devops or an agile problem. But zabbix has a small window to make some major new things happen to satisfy the changing marketplace of SaaS and application monitoring. A UI overhaul, better (MODERN) graphing, and general expansion on their greatest strength in expressions.

I'm considering forking the code and making some changes in my personal feature request queue. In particular in the UI and in expression handling and item storage flexibility, item and string comparison evaluations, easier construction and better testing of triggers, inventory support, using zabbix as a ENC for puppet / chef, Server-Agent SSL, etc.

Jira is messing up my UserParameter line.... it's all one line, and no spaces in between the single quotes in awk.

Comment by Marc [ 2014 Oct 22 ]

tagwolf, instead to go for a fork may I encourage you to collaborate by providing small patches?
If so, you should take a look at the coding guidelines to assure your patches could be merged without much editing.

Btw, you might possibly want to add youre one-liner here. Another awesome event to collaborate are Bugsquash days.

For further arrangements or discussions look in at IRC or forums.

Comment by tagwolf [ 2014 Oct 22 ]

I'd love to do some patches according and have no problem following your coding standards.

If though I have a larger modification, who would I talk to about user stories, testing and possible integration with the main codebase?

Also I think it's awesome you guys are doing bugsquash days! I'll check them out.

Comment by richlv [ 2014 Oct 22 ]

it's probably best to start with really small patches and push those through the bugsquash days, otherwise large patches are unlikely to get any attention (unfortunately) - but the best place for such discussions is irc

Comment by Michael P [ 2014 Oct 29 ]

Hi

I improved the Userparameter a bit for those of you who want to know:
With this slight changes you get a 0 value from fping output in case the remote host is not reachable, therefore making it easier for a trigger to be defined (0 value means unreachable).

Instead of defining a fixed column ($$8) I use the last column with $NF. and as the middle value of every output is either avg latency, or received packets, it will always be a value can measure stuff.

UserParameter=chk.fping[*],/usr/bin/fping -c 3 $1 2>&1 | tail -n 1 | awk '{print $NF}' | cut -d '/' -f2

PS: on my FreeBSD machine i had to provide the full path, so please (to all) check the correct path to fping ('type fling') and always provide it.
PPS: But still, a built in function would be the best!

Best regards

Comment by Marc [ 2014 Oct 30 ]

Daywalker, you might want to take a look at User parameter one-liners too.

Comment by Arnis Rukis [ 2016 Mar 14 ]

Looking for simple way to mesure ping response times from host to host, for example from remote machine to zabbix server. To monitor situations where ping goes >100 ms for example.
icmppingsec do the job in one direction, but I need in reverse direction, too.

Comment by John Smith [ 2018 Oct 26 ]

Yes, ping. Of course. Absolutely needed. Very basic. Low hanging fruit. Please do it already. I have never seen any network monitoring setup that does not use ping - it is the first thing every experienced admin will implement across networks / host groups / etc. So with Zabbix you have currently this experience: ok, lets implement ping for all the things - oh, Zabbix does not support that out of the box, I need to fiddle around with manually editing config parameters and such, o my god.

Please implement that. Thanks. Or at least implement something similar that zabix-agent will do out of the box by default.

Comment by Glebs Ivanovskis [ 2019 May 12 ]

This request can be implemented as a loadable module (i.e. outside of Zabbix code base) if there is enough interest. ZBXNEXT-2735 mentions liboping, module can simply wrap it. Or to avoid granting capabilities to Zabbix binaries there can be a standalone daemon to do the pinging and the module will simply query that daemon.

Comment by Nicola Mauri [ 2020 Mar 10 ]

This feature is indispensable, for example, to check if a remote server is reachable from the intended client (not from zabbix server).

In the meanwhile, here's a similar workaround for Windows agents:

UserParameter=ping.host[*],ping -n 1 $1 > nul && echo 1 || echo 0
Comment by Victor Sudakov [ 2020 May 22 ]

For Unix you can use something as simple as

UserParameter=ping.host[*],/usr/bin/fping -q -r 3 $1 ; echo $?

Eliminates the need for screen-scraping fping output, "0" means host is reachable and "1" means not reachable.

But I agree it's high time to implement this in the agent.

Comment by dimir [ 2021 Jun 09 ]

FYI there is a patch for agent2 from one of community members, klimenko.andrei:

https://github.com/klimenk0aa/zabbix_agent2-ping

Comment by Raul Chiarella [ 2021 Sep 22 ]

It would be useful if we could use icmpping like we use net.tcp.service...

Comment by Raul Chiarella [ 2021 Sep 22 ]

@Nicola Mauri Hello.

So i tried your UserParameter for Windows but it didnt work... ping -n 1 192.168.1.1 > nul && echo 1 || echo 0 always returns 1 even when its disconnected.

Comment by Scott Jalbert [ 2021 Dec 07 ]

Yes I would also really like to see this implemented. 

I'm also struggling with getting the userparameter working successfully, works when connected but when timeout occurs item goes to Not Supported with info Timeout while executing shell script. Agent log contains below, and of course the trigger won't work. 

  7760:20211207:070606.891 Failed to execute command "ping 10.10.0.11 -n 1 |find "TTL=">NUL && echo 1 || echo 0": Timeout while executing a shell script.
  4116:20211207:070608.024 Failed to execute command "ping 10.10.0.12 -n 1 |find "TTL=">NUL && echo 1 || echo 0": Timeout while executing a shell script.

Comment by richlv [ 2022 Sep 22 ]

Try to set the ping timeout lower than the agent/server timeout - if the ping timeout is longer, the agent/server communication times out first.

Comment by Gary Herbstman [ 2023 May 23 ]

This simple common function should not be so difficult and inconsistent to implement. The agent should be able to run ping just like the server simple check.





[ZBXNEXT-8914] PoC: Evaluate  possibility to use binding variables in ORACLE DB monitoring. Created: 2023 Dec 26  Updated: 2024 Mar 22

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: 6.0.25
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Edgars Melveris Assignee: Alex Kalimulin
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Team: Team A
Sprint: Support backlog, S24-W10/11

 Description   

For example item like "Get tablespace stats" might work faster if we used bind variables

TABLESPACE_NAME = 'TABLESPACE_NAME'





[ZBXNEXT-3623] Decide in runtime which features of libcurl are available Created: 2016 Dec 21  Updated: 2024 Mar 28

Status: Manual Test Failed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.4.0alpha1
Fix Version/s: 7.0.0beta2, 7.0 (plan)

Type: Change Request Priority: Minor
Reporter: Glebs Ivanovskis (Inactive) Assignee: dimir
Resolution: Unresolved Votes: 5
Labels: authentication, email, smtp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File ZBXNEXT-3623-zabbix-7.0.0alpha9-curl-protocols.patch    
Issue Links:
Duplicate
is duplicated by ZBX-16300 Installed zabbix from RPM but its say... Closed
is duplicated by ZBX-16692 elasticsearch failing - cURL library... Closed
Sub-task
depends on ZBX-22649 Zabbix fails to compile with libcURL ... Confirmed
Team: Team A
Sprint: S2401-1, S2401-2, S24-W6/7, S24-W12/13, S24-W14/15
Story Points: 12

 Description   

libcurl has a very stable ABI, major so-version remains the same since 2006 while API is being actively enhanced.

Currently Zabbix decides which features of libcurl are available at compilation stage:

#	if 0x071004 >= LIBCURL_VERSION_NUM	/* version 7.16.4 */
#		define CURLOPT_KEYPASSWD	CURLOPT_SSLKEYPASSWD
#	endif
#	if 0x071400 <= LIBCURL_VERSION_NUM	/* version 7.20.0 */
#		define HAVE_SMTP_AUTHENTICATION	1
#	endif

Therefore, if Zabbix was compiled with old libcurl headers, upgrading libcurl will not enable missing features without Zabbix recompilation (ZBX-11629).

Zabbix should be able to adjust it's behaviour in runtime based on version information it can get from a libcurl binary currently loaded.



 Comments   
Comment by Glebs Ivanovskis [ 2019 Jun 26 ]

ZBX-15963, ZBX-16300, ZBX-16692 are related.

Comment by bunkzilla [ 2019 Oct 01 ]

This only seems logical that you'd want to base the code action based on what the running environment reflects.  This would save customers the extra hurdle of having to compile from source to use elasticsearch.

 

Comment by Glebs Ivanovskis [ 2019 Dec 18 ]

In addition, from libcurl tutorial:

Features libcurl Provides

It is considered best-practice to determine libcurl features at run-time rather than at build-time (if possible of course). By calling curl_version_info and checking out the details of the returned struct, your program can figure out exactly what the currently running libcurl supports.

Comment by dimir [ 2024 Jan 05 ]

Implementing this would avoid having issues like ZBX-22946

Comment by dimir [ 2024 Jan 05 ]

Especially so because now some distributions ship smaller libcurl-minimal packages, that miss many cURL features.

Comment by dimir [ 2024 Jan 05 ]

Related issue: ZBXNEXT-1896

Comment by dimir [ 2024 Jan 09 ]

An example of curl_version_info usage to detect if run-time cURL library supports "smtp" and "smtp" protocols required for sending "non-plain text" mail. Instead of "Unsupported protocol" user will see an error message like cURL library was compiled without support for "smtps" protocol:

ZBXNEXT-3623-zabbix-7.0.0alpha9-curl-protocols.patch

In case of "plain-text" (no SSL, no auth) Emil media type Zabbix does not use cURL but sends e-mail using TCP protocol.

Comment by dimir [ 2024 Jan 09 ]

Mini spec

In short, what needs to be done:

  • move cURL feature and protocol checks from auto-tools (build-time) to the code (run-time):
$ grep LIBCURL_ include/common/config.h.in 
#undef LIBCURL_FEATURE_ASYNCHDNS
#undef LIBCURL_FEATURE_IDN
#undef LIBCURL_FEATURE_IPV6
#undef LIBCURL_FEATURE_KRB4
#undef LIBCURL_FEATURE_LIBZ
#undef LIBCURL_FEATURE_NTLM
#undef LIBCURL_FEATURE_SSL
#undef LIBCURL_FEATURE_SSPI
#undef LIBCURL_PROTOCOL_DICT
#undef LIBCURL_PROTOCOL_FILE
#undef LIBCURL_PROTOCOL_FTP
#undef LIBCURL_PROTOCOL_FTPS
#undef LIBCURL_PROTOCOL_HTTP
#undef LIBCURL_PROTOCOL_HTTPS
#undef LIBCURL_PROTOCOL_LDAP
#undef LIBCURL_PROTOCOL_TELNET
#undef LIBCURL_PROTOCOL_TFTP
  • move other cURL version checks from auto-tools (build-time) to the code (run-time):
$ grep LIBCURL_VERSION_NUM include/common/zbxsysinc.h -B3 -A8
#       if !defined(HAVE_FUNCTION_CURL_EASY_ESCAPE)
#               define curl_easy_escape(handle, string, length) curl_escape(string, length)
#       endif
#       if 0x071004 >= LIBCURL_VERSION_NUM      /* version 7.16.4 */
#               define CURLOPT_KEYPASSWD        CURLOPT_SSLKEYPASSWD
#       endif
#       if 0x071400 <= LIBCURL_VERSION_NUM      /* version 7.20.0 */
#               define HAVE_SMTP_AUTHENTICATION 1
#       endif
#       if 0x071501 <= LIBCURL_VERSION_NUM      /* version 7.21.6 */
#               define ZBX_CURLOPT_ACCEPT_ENCODING      CURLOPT_ACCEPT_ENCODING
#       else
#               define ZBX_CURLOPT_ACCEPT_ENCODING      CURLOPT_ENCODING
#       endif
#       if 0x073700 <= LIBCURL_VERSION_NUM      /* version 7.55.0 */
#               define ZBX_CURLINFO_SPEED_DOWNLOAD      CURLINFO_SPEED_DOWNLOAD_T
#               define ZBX_CURLINFO_SPEED_DOWNLOAD_TYPE curl_off_t
#               define ZBX_CURLINFO_SPEED_DOWNLOAD_FMT  "%" CURL_FORMAT_CURL_OFF_T
#       else
#               define ZBX_CURLINFO_SPEED_DOWNLOAD      CURLINFO_SPEED_DOWNLOAD
#               define ZBX_CURLINFO_SPEED_DOWNLOAD_TYPE double
#               define ZBX_CURLINFO_SPEED_DOWNLOAD_FMT  ZBX_FS_DBL
#       endif 
  • it is also required to add few wrapper functions to:
    • get cURL version
    • check if protocol is supported
    • check if feature is supported

In addition it is suggested to increase curl version requirement to 7.19.0 or later. It was lowered to 7.13.1 in ZBX-15963 because we supported RHEL 5. In 7.0 we do not support it anymore and RHEL 6 has libcurl version 7.19 .

Probably all the places that need to be checked:

grep -E '#.*if([n]?def)?.*CURL' * -r

Approvals on the spec:

Comment by Juris Lambda [ 2024 Jan 18 ]

This report conflates features and interfaces.

The first test, # if 0x071004 >= LIBCURL_VERSION_NUM, works around the fact that the CURLOPT_SSLKEYPASSWD option was renamed to CURLOPT_KEYPASSWD in 7.16.4, and itself was a rename of CURLOPT_CERTPASSWD in 7.9.2. This is a pre-processor symbol, which is obviously not something that can be decided upon in runtime. This is done to avoid #ifdef dances at call sites, as one, and only one, path will ever be valid.

The same applies to the tests for CURLOPT_ACCEPT_ENCODING (which was called CURLOPT_ENCODING prior to 7.21.6), and the CURLOPT_SPEED_DOWNLOAD* symbols, which is due to CURLOPT_SPEED_DOWNLOAD being deprecated (not renamed) in favor of CURLOPT_SPEED_DOWNLOAD_T, which returns the result as a different type than the former (curl_off_t vs double), and again, is done to avoid duplicating code at call sites.

These are interface issues, and their discrepancies need to be resolved during the pre-processing stage, as we'll fail compilation otherwise (missing symbols, data type mismatching).

The only test that is out of place is the SMTP auth one, but only due to the way it is implemented (should be done via autoconf, which is what it is for, and not this odd version check in a header). In this case, the correct way to deal with this should be via attempting to set the CURLOPT_PROTOCOLS_STR option on the transfer handle to the protocol(s) we're interested in (SMTP and SMTPS in this case), and checking the return value from the curl_easy_setopt() call for the CURLE_UNSUPPORTED_PROTOCOL value.

As for run-time feature detection - all libcurl functions returning a CURLcode type can return CURLE_NOT_BUILT_IN, to indicate that support for a particular protocol or feature was not built into the linked libcurl. This is the most straight forward and robust manner to do this.

Another way to detect feature presence would be to interrogating the curl_version_info_data structure, as returned by a call to curl_version_info(), but due to the structure member presence being version dependent, this could be unreliable. Most notably, in the case when the struct definition during compile-time comes from an older version of libcurl than the version linked during run-time, making the later added members inaccessible to the application/wrapper library (admittedly, this would be an unusual situation). In my opinion, this is an inferior solution to just checking for CURLE_NOT_BUILT_IN, as this would require all handle setup code to have a preamble performing these checks, resulting in sprinkling functions with them, instead of just trying to do what needs to be done and failing in a straight forward manner.

Overall, I have to concede that the libcurl wrapping code is a hot mess of hacks and should be refactored, but that is not really in the scope of this particular issue.

Comment by Glebs Ivanovskis [ 2024 Jan 19 ]

This report conflates features and interfaces.

What do you mean? I would say, that it is Zabbix code that conflates features and interfaces.

The fact, that code is compiled with libcurl headers >= 7.55 (and has CURLOPT_SPEED_DOWNLOAD_T defined) does not mean that it will run with libcurl shared library >= 7.55 and using CURLOPT_SPEED_DOWNLOAD_T is the best approach.

I didn't say it explicitly in the issue Description, but I meant that in case Zabbix code does not have a libcurl header that defines CURLOPT_SPEED_DOWNLOAD_T, Zabbix code should define this constant itself using a value looked up in the latest libcurl headers, e.g. (based on https://github.com/curl/curl/blob/524253dc9078e69300c5390eda496603067f325f/include/curl/curl.h):

#       if 0x073700 <= LIBCURL_VERSION_NUM      /* version 7.55.0 */
#               define ZBX_CURLINFO_SPEED_DOWNLOAD_T    CURLINFO_SPEED_DOWNLOAD_T
#               define ZBX_CURLINFO_SPEED_DOWNLOAD      CURLINFO_DOUBLE + 9
#       else
#               define ZBX_CURLINFO_SPEED_DOWNLOAD_T    CURLINFO_OFF_T  + 9
#               define ZBX_CURLINFO_SPEED_DOWNLOAD      CURLINFO_SPEED_DOWNLOAD
#       endif 

At runtime I would expect Zabbix to try in turn both ZBX_CURLINFO_SPEED_DOWNLOAD_T and ZBX_CURLINFO_SPEED_DOWNLOAD before failing.

Of course, it is sufficient to check return values at call sites ("ask for forgiveness" and all that jazz), but it would be also nice and user-friendly to fail/detect issues as soon as possible. Over the years Zabbix already did the research, which versions of libcurl support what. curl_version_info_data is guaranteed to contain version number. It is a matter of a simple if on Zabbix startup to see if a certain libcurl-based functionality is supposed to work.

Comment by Juris Lambda [ 2024 Jan 22 ]

Hey, cyclone!

Allow me to clarify my earlier statement that "This report conflates features and interfaces". What I meant was runtime-features and source-interfaces.

These symbols (for example, CURLINFO_SPEED_DOWNLOAD_T) are resolved during the preprocessing stage, and depending on the version of the libcurl development header and library version on the build system, one or the other symbol may not be present; hence the conditional definition of ZBX_CURLINFO_SPEED_DOWNLOAD_T. This may be the case when the development header comes from a version of libcurl that didn't yet define CURLINFO_SPEED_DOWNLOAD_T (anything prior to 7.55.0), or the opposite case, when building with a header that no longer ships the old symbol (CURLINFO_SPEED_DOWNLOAD). The default preference is to use the newer option, if present. This is that best approach in action.

 

I'm not sure what you mean by the following:

The fact, that code is compiled with libcurl headers >= 7.55 (and has CURLOPT_SPEED_DOWNLOAD_T defined) does not mean that it will run with libcurl shared library >= 7.55 and using CURLOPT_SPEED_DOWNLOAD_T is the best approach.

As you yourself previously mentioned, libcurl's ABI is very stable, which is exactly why the above allows Zabbix to work with arbitrary versions of libcurl linked at runtime - newer or older. The immediate example of that here are the CURLOPT_CERTPASSWD / CURLOPT_SSLKEYPASSWD / CURLOPT_KEYPASSWD options, which changed names, but reused the value, to stay ABI compatible. Moreover, a library header version >= 7.55.x is much less likely to need as many of these wrappers to account for source interface changes than something like 7.13.1, which is the current minimum supported version. As soon as we raise the minimum version requirement, they should be removed.

 

Regarding:

I didn't say it explicitly in the issue Description, but I meant that in case Zabbix code does not have a libcurl header that defines CURLOPT_SPEED_DOWNLOAD_T, Zabbix code should define this constant itself using a value looked up in the latest libcurl headers, e.g. (based on https://github.com/curl/curl/blob/524253dc9078e69300c5390eda496603067f325f/include/curl/curl.h): [...] At runtime I would expect Zabbix to try in turn both ZBX_CURLINFO_SPEED_DOWNLOAD_T and ZBX_CURLINFO_SPEED_DOWNLOAD before failing.

As for the definition of the CURLINFO_SPEED_DOWNLOAD_T being done by Zabbix itself – I'm not entirely sure why we would want to do that. The development library installation already provides the header, and having a copy of a fragment, that then requires maintenance to stay in sync with upstream's choice of defining the symbol, is simply unnecessary. This is why we define the ZBX_CURLINFO_* symbols to whatever they resolve to, and only work around the fact that one or the other symbol may or may not be defined by the header.

To the second portion of the quote - this only applies to symbols that have been deprecated and not removed (as is the case with CURLINFO_SPEED_DOWNLOAD_T). We would still have to work with the fact that the installed library may be older than the runtime, and thus be unaware of the new option (as that symbol wasn't defined for the preprocessor) and type(s) (which were not defined by the interface header).
However, I agree that this is a good idea, and a case for which it could, or should, implement an attempt at fallback to the previous version of an option, if we intend to support a larger range of libcurl versions.

IMHO, at this point, I would consider creating a wrapper (i.e. libzbxcurl) for libcurl, that would perform the feature and option detection as needed, depending on the option requested. As the number of these cases is small, the wrapper would be terse and compact, and most cases would be mostly direct parameters passing. This would

  1. allow abstracting away these preproccesor symbol and type details,
  2. simplify Zabbix library and application code,
  3. and provide an extended interface to libraries and applications
    1. we kind of need to, as a result of the type abstraction

This will not, however, resolve the fact that the user code will still be dependent on what symbols were provided by the development header, and not all cases will always be covered.

Comment by Glebs Ivanovskis [ 2024 Jan 22 ]

allows Zabbix to work with arbitrary versions of libcurl linked at runtime - newer or older

Apparently, your definition of "work" is very generous.

I would advice you to read through ZBX-11629 to get a taste of how Zabbix "works with arbitrary versions of libcurl". In short:

  1. Zabbix SIA shipped packages compiled with ancient libcurl headers (hard to tell exact version, but apparently something older than 7.20).
  2. User installed these packages.
  3. User realized, that packages do not support SMTP.
  4. User read somewhere in Zabbix documentation, that to support SMTP Zabbix requires newer libcurl.
  5. User updates libcurl to 7.51 (which, theoretically, should be more than enough).
  6. SMTP still does not work.
  7. User is... confused, to put it mildly.

If you would compile Zabbix with newer libcurl headers and then downgrade libcurl, the situation would be symmetric, but equally bad - Zabbix would claim that SMTP is supported, but would fail to send emails.

Zabbix only "works with arbitrary versions of libcurl" only if you are ready to compile Zabbix from source yourself. If you upgrade or downgrade libcurl after compiling Zabbix, Zabbix will not adjust.

The whole point of this feature request is to make Zabbix aware of libcurl version that is currently loaded. Zabbix should be able to work with arbitrary versions of libcurl without recompilation.

Comment by Glebs Ivanovskis [ 2024 Jan 22 ]

The development library installation already provides the header, and having a copy of a fragment, that then requires maintenance to stay in sync with upstream's choice of defining the symbol, is simply unnecessary.

It is necessary for cases when available development headers are too old to too new to provide all potentially useful constants.

Speaking of staying in sync, I don't see a problem there.

  1. libcurl maintainers have no way of changing numeric values of the constants without affecting compatibility between versions.
  2. libcurl maintainers value compatibility very high and successfully maintain a stable ABI.

In my opinion it is safe to conclude, that numeric values of the constants will not change in the foreseeable future, hence there will be no need to sync them.

Comment by Juris Lambda [ 2024 Jan 23 ]

Hi, cyclone.

 

Regarding your first bullet point in your first comment:

  1. Zabbix SIA shipped packages compiled with ancient libcurl headers (hard to tell exact version, but apparently something older than 7.20).

We build against the version of libcurl development library as shipped by the distributions we build packages for. If the user chooses to install the package on a system that ships a different version and feature set of a library, the user should expect discrepancies.

What you're asking, in brief, requires that we

  1. declare a minimum supported version of libcurl,
  2. build with a newer (or latest) version of libcurl,
  3. maintain support for use of deprecated and/or removed option macros starting from the minimum supported version.

We do (1) already, as the autoconf generated configure will refuse to generate the build system, if the minimum version is met. There is the issue that the current minimum version requirement is out of date, and needs to be updated, as we unconditionally rely on interfaces only available starting with 7.19.2. This is captured in ZBX-22649.

(2) is not free. For a start, some policy needs to be in place, deciding the upstream channel we intend to build against; most likely, a choice between current development and latest stable release. I personally would opt for stability, to have prep time for addressing any breaking changes that may occur in development.

We generally don't practice merging individual artifacts from our dependency upstream (with some key exceptions), nor would we want to, as it introduces additional maintenance burden, and is a clunky process to go about in general. This would thus require updating the build environment creation and possibly the build procedure itself, to include the building of the development library to be used in the building of Zabbix libraries and applications themselves. It is generally the responsibility of whomever builds the package to provide the build process with the appropriate build environment for their configuration.

I'm not against this, and believe this to be a generally sound approach, as it would allow the user to always make use of the most recent stable version features of the library, be it libcurl or any other library. This is also technically viable. I suppose the deciding factor here is work resource. I think it would be worthwhile consider this as a generally policy for all external library dependencies, where viable.

(3) we already do, except that the driver for introducing new abstractions are the versions provided by the distributions we build packages for, and not builds of any latest versions (see (2)).

 

Regarding your second comment:

Again, I think it to be unnecessary to maintain a copy of the interface header, as it is already provided by a built development library package, and (2) from the previous section would solve this issue, as the header used during pre-processing would not really be "too new" ever again. The additional necessary work I see this requiring is:

  1. to introduce a runtime check on the version of the dynamically linked libcurl , to enforce the minimum required version, matching the autoconf declaration,
  2. handle protocol and option support detection in runtime.

(1) requires further elaboration on when and where to do it, but it's safe to say this is viable as well. Makes me lean even more towards introducing a libzbxcurl for handling all these issues. (2) can be solved via CURLE_UNSUPPORTED_PROTOCOL and CURLE_NOT_BUILT_IN handling as I mentioned previously. Again, to reiterate, I see this as the best option.

 

In essence, to resolve the issues you mentioned, and avoid breaking user expectations as to feature availability, we should do (2) from this posts response to your first comment, and (2) from the second one. Both are technically viable and I personally agree with the final benefit.

Comment by dimir [ 2024 Feb 15 ]

Fixed in development branch

Comment by dimir [ 2024 Mar 07 ]

Great cURL page where you can seek information about every public symbol and cURL version in which it was added:

https://curl.se/libcurl/c/symbols-by-name.html

Comment by dimir [ 2024 Mar 13 ]

(5) Found one case where the feature was decided at build-time, file src/libs/zbxhttp/http.c:

#ifdef CURLH_HEADER
...
#else
...
#endif

Need to change that in run-time detection of CURLH.

<dimir> RESOLVED in 352b97a917d

<yurii> CLOSED

Comment by dimir [ 2024 Mar 15 ]

Overview

TL;DR

This changes the way Zabbix detects cURL library features when working with it.

Before this change:

  • Zabbix detected cURL library features at build time

After this change:

  • Zabbix detects cURL library features at runtime

More details

Now when you e. g. upgrade your cURL library that has new features these features will be available in Zabbix upon restart. Re-compilation of Zabbix is no longer required. This is true for the following Zabbix components:

  • Server
  • Proxy
  • Agent

In addition, what was changed:

  • Minimum required build-time cURL version was raised to 7.19.1
  • When being built Zabbix just checks if cURL library is available (if requested) and satisfies the version requirement
  • When issuing a runtime cURL library error the version being in use will be added (e. g. cURL library does not support SSL/TLS (using version 7.88.1))
  • When Zabbix server is started and the SMTP authentication is logged it will write availability of SMTP authentication of cURL library being used

Fixed in 

Comment by Martins Valkovskis [ 2024 Mar 18 ]

Updated documentation:





[ZBXNEXT-8789] Server and custom time zones for scheduling intervals on Proxy and Agent2 Created: 2023 Oct 25  Updated: 2023 Oct 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Alex Kalimulin Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Proxies and agents2 are not aware of server's time zone so they use local timezones to process scheduling intervals. This leads to some problems and is difficult to maintain (one needs to keep track of timezones configured for each proxy or active agent2 that uses scheduling intervals, local time zones may change, etc). The good way to avoid these problems is to:

  • Change scheduling intervals so that they use server's timezone everywhere
  • Allow to specify optional custom timezone in scheduling interval string





[ZBXNEXT-8929] ability for the zabbix agent to collect the system or motherboard serial number natively Created: 2024 Jan 09  Updated: 2024 Jan 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.24
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Oleksii Zagorskyi Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

The ability for the zabbix agent to collect the system or motherboard serial number natively

This can be done via scripts however, for cmdb data this would be helpful to reference.

example:

linux: lshal | grep system.hardware.serial
windows: wmic bios get serialnumber





[ZBXNEXT-6849] Static Agent binary for LTS 4.x/5.x kernels Created: 2021 Aug 23  Updated: 2023 Nov 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Packages (C)
Affects Version/s: 4.0.32, 5.0.14, 6.0.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Edgar Akhmetshin Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 3
Labels: 4.x, 5.x, agent, kernel, lts, static
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-8014 Provide the binaries for the actual L... READY TO DEVELOP

 Description   

Currently provided for 2.X/3.X:

https://www.zabbix.com/download_agents?version=5.4&release=5.4.3&os=Linux&os_version=3.0&hardware=amd64&encryption=No+encryption&packaging=Archive&show_legacy=0

Longterm release kernels
Version	Maintainer	Released	Projected EOL
5.10	Greg Kroah-Hartman & Sasha Levin	2020-12-13	Dec, 2026
5.4	Greg Kroah-Hartman & Sasha Levin	2019-11-24	Dec, 2025
4.19	Greg Kroah-Hartman & Sasha Levin	2018-10-22	Dec, 2024
4.14	Greg Kroah-Hartman & Sasha Levin	2017-11-12	Jan, 2024
4.9	Greg Kroah-Hartman & Sasha Levin	2016-12-11	Jan, 2023
4.4	Greg Kroah-Hartman & Sasha Levin	2016-01-10	Feb, 2022





[ZBXNEXT-6436] More Flexibility for Autoregistration Actions (Hostname == IP) Created: 2021 Jan 13  Updated: 2021 Jan 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Shane Arnold Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, autoregistration, hostname
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

To assist in the autoregistration process for agents, and to streamline onboarding of new hosts, the "Add host" action for Autoregistration should utilise the same "Hostname, Visible Name and Unique" criteria options as discovery.

While discovery is mechanically different, most of the time the end result is the same; add the host to Zabbix. To be able to specify the IP address as the unique criteria and/or hostname value, it allows Autoregistration to more closely align with how discovery works.

The way I see it, Discovery is a pull, and Autoregistration is a push. Other than the direction, they should behave the same, or similarly.






[ZBXNEXT-6816] Check PSKs for duplicates on every configuration cache synchronization Created: 2021 Jun 15  Updated: 2022 Jan 26

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: PSK, encryption
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Oracle Linux 8.4
Zabbix Server/Agent 5.4.1


Issue Links:
Causes
Duplicate
is duplicated by ZBX-20409 Secure Autoregistration not working a... Open

 Description   

Create two hosts with the same PSK and different keys. This will produce error like:

"conflicting PSK values for PSK identity"

Key can be created like:

openssl rand -hex 64

Add auto-registration rule with the same PSK, on the agent side get:

started to fail (TCP successful, cannot establish TLS to [[10.211.55.2]:10051]: SSL_connect() set result code to SSL_ERROR_SSL: file ../ssl/record/rec_layer_s3.c line 1543: error:14094417:SSL routines:ssl3_read_bytes:sslv3 alert illegal parameter: SSL alert number 47: TLS read fatal alert "illegal parameter")

Add another host with the same PSK and Connect to: PSK, Connect from: NoEnc, PSK.

Restart Agent multiple time or wait for autoregistration process.

Get hosts registered. Next restart will fail with the already mentioned message.

Second inconsistency: enable both autoregistration with no enc and PSK enc;

Host will be registered even if PSK identity has duplicates. But host will be added with PSK only encryption.

Some installations has another error on the same issue with duplicate PSK identity:

 16867:20210604:123345.523 host PSK and autoregistration PSK have the same identity "Zabbix" but different PSK values, autoregistration will not be allowed
 16867:20210604:123345.527 autoregistration from "1.2.3.4" denied (host:"host_name" ip:"1.2.3.4" port:10050): connection used PSK which is not configured for autoregistration

Expected:
It look likes PSK keys are used in a round-robin way, before auto-registration denied.
Also message: "connection used PSK which is not configured for auto-registration" - has no useful meaning, description - should be documented in a known issues.



 Comments   
Comment by Andris Mednis [ 2021 Jun 15 ]

Create two hosts with the same PSK and different keys.

This configuration is not valid.

PSK has a value (e.g. 1428b75459a543.....) and an identity (e.g. "My agent 001 psk key"). When Zabbix agent connects to server, the agent transmits in clear-text its PSK identity. Then Zabbix server searches configuration cache for PSK value using the PSK identity. If several PSKs share the same identity but have different values, then results are unpredictable - in a lucky case the right PSK value is found and communication succeeds, otherwise it fails.

 

Comment by Edgar Akhmetshin [ 2021 Jul 09 ]

Thank you. So first case is by design, but what about second case described?

andris: The message "connection used PSK which is not configured for auto-registration" tries to explain why autoregistration was denied.
Server tries to protect against stolen PSK keys, it looks for any discrepancies. An unknown host is expected to come with a PSK configured as the PSK for autoregistration, not with any PSK known to server.
edgar.akhmetshin: but if both NO-PSK and PSK auto-registration is enabled, why host which requires only encryption get registered with an identity which has duplicates?





[ZBXNEXT-6621] Log timestamp issue retrieved by Zabbix Agent Created: 2021 Mar 22  Updated: 2021 Apr 15

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 5.0.9
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Yasumi Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The time stamp when the log acquired by Zabbix agent is stored in the "HISTORY" is not the time stamp on the Zabbix server side, but the time stamp when it is sent from Zabbix agent.

However, this specification has major problems.

For security reasons, intentionally disconnect the monitored host from the network and restore communication after resolution. Then, the time stamp of the log stored in "HISTORY" of Zabbix server will be the time (past) at the time of occurrence instead of the present. As a result, it is not possible to know when the log was stored in "HISTORY" of Zabbix server.

Also, the event displayed in "Problems" suddenly appears to have been inserted in the past rather than the occurrence of the current time. There was no description of this specification in the reference, which caused a great deal of confusion when investigating the failure.

Since it is divided into "Timestamp" and "Local time", can we change the specifications so that the display of "Timestamp" is the time on the Zabbix server side?



 Comments   
Comment by Edgars Melveris [ 2021 Apr 01 ]

This is actually working as expected, because by design we want to have the timestamp of the event, not the timestamp of when it was stored in the server DB, as that could be much later than the event because of multiple reasons.

I'm closing this as not a bug.

Comment by Yasumi [ 2021 Apr 02 ]

Thanks Edgars Melveris.

Thank you for your reply.
Sure, it works as expected, but I'm hoping for a spec that adds the time stamp when the log was stored in the server DB.

Comment by Edgars Melveris [ 2021 Apr 15 ]

In that case this should have been feature request. I'll move it to that project.





[ZBXNEXT-7956] New parameter on MSI Agent to specificy Agent file config name Created: 2022 Sep 02  Updated: 2023 Jan 11

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.2.2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dimitri Bellini Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: Windows, agent, agent2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RockyLinux 8.x


Attachments: PNG File screenshot-1.png    

 Description   

Dear DevTeam,
with the new upgrade behavior introduced on Zabbix Agent 6.x MSI (backup old conf file and create a new one) could be useful for all the customer that need to preserve the old conf file to introduce a new MSI parameter to specify the good conf file to use on agent startup. Something like "CONFFILE"
Thanks



 Comments   
Comment by Dimitri Bellini [ 2023 Jan 10 ]

Hi DevTeam,
As I can see this "new" msi parameters (ref.CONF) it comes in some minor version of Zabbix 6.0.x and 6.2.x

Ref. https://www.zabbix.com/documentation/current/en/manual/installation/install_from_packages/win_msi

From my test it seems to work as expected and can be very useful for massive Zabbix Agents update.

I think we can update this ZBXNEXT in "DONE".

Thanks so much





[ZBXNEXT-7945] Option for configure Zabbix log files create permissions Created: 2022 Aug 26  Updated: 2022 Sep 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Daniel Pogač Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For PCI-DSS audits, CIS audits and probably others, it is necessary to have log files with permissions 640. As default Zabbix create files with permissions 664. It will be nice to add configuration parameter for adjusting default permissions.



 Comments   
Comment by Alex Kalimulin [ 2022 Aug 26 ]

daniel.pogac, why not use umasks or ACLs for that?

Comment by Daniel Pogač [ 2022 Aug 27 ]

@Alex Kalimulin of course setting default umask to 027 is one of the requirements. But zabbix ignores it. I also try this:

[TEST] root@test: ~ # sudo -u zabbix touch /tmp/zbx.test
[TEST] root@test: ~ # ll /tmp/zbx.test
[TEST] root@test: ~ # rw-r----. 1 zabbix zabbix 0 Aug 27 14:33 /tmp/zbx.test

So umask won't help.

Comment by Alex Kalimulin [ 2022 Sep 08 ]

daniel.pogac, true, Zabbix sets its own umask. But you can still override this umask with ACLs. For your case of 0640 it's something like:

setfacl -d -m group::r--,other::--- /var/log/zabbix




[ZBXNEXT-8075] Adding Item key net.udp.port[<ip>,port] Created: 2022 Nov 02  Updated: 2022 Nov 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Florian Requardt Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, item, socket, test, udp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be useful, just as with the item key net.tcp.port[<ip>,port], to have monitoring of UDP sockets with respect to IP.



 Comments   
Comment by Florian Requardt [ 2022 Nov 02 ]

After reading a bit, I found that this item key not only checks the OS socket list, but also sends a request to the appropriate port, so it doesn't work with UDP. As an alternative, the item key net.udp.service[service,<ip>,<port>] would work if the service was not limited to ntp and dns only.

 

edit:

just found there is no dns so for this item so checking ntp is the only option. Would be nice to set any process name here for checking it´s UDP-socket.





[ZBXNEXT-8591] Zabbix agent for LTS 5.0 - package for Debian 12 bookworm Created: 2023 Jul 24  Updated: 2023 Jul 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.36
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Thomas Mertz Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian



 Description   

Hello,

 

I found in https://support.zabbix.com/browse/ZBXNEXT-8441 that zabbix agent is now supported for debian 12 (bookworm) but only for LTS 6.0 and 7.

Is there any plan to add support for zabbix LTS 5.0 for zabbix agent on bookworm ?

 

Thanks for the response






[ZBXNEXT-8049] Zabbix Agent MSI package - Add parameters for agent conf file Created: 2022 Oct 18  Updated: 2022 Nov 04

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.9
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dimitri Bellini Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, agent2, msi, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RHEL 8.x



 Description   

Dear ZabbixTeam,
at the moment is not easy to manage a Zabbix Agent Windows update because the config file will be "overwrite" during the MSI installation process.

Could be "easy" and useful to extend the already provided MSI "parameters" with a new one called:

  • ZBXCONFFILE -> Full path and filename of the Zabbix Agent configuration file

In this mode if we use a GPO policy to upgrade our Zabbix Agents it's possible to specify a custom "Zabbix Agent Conf file" with custom parameters previous defined.

Thanks so much



 Comments   
Comment by Dimitri Bellini [ 2022 Nov 04 ]

Dear DevTeam,
have you plan to implement on the next minor release of Zabbix 6.0?
Thanks so much





[ZBXNEXT-8004] Zabbix Agent on LXC Container - show wrong Uptime Created: 2022 Sep 26  Updated: 2022 Sep 26

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.9
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dimitri Bellini Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Rocky Linux



 Description   

Dear DevTeam,
I have seen a strange behaviour on a LXC container during my lab tests.
The Item key "system.uptime" show the "uptime" of the main host (HyperVisor...) and not the right one exposed on "/proc/uptime".
From my research could be related on where the Zabbix Agent collect this information, some other monitoring tool are looking on "/proc/stat" btime value. In this case on my system the value represent the "host uptime" and not the Container uptime.

[root@lab1 ~]# cat /proc/stat|grep btime
btime 1661878328
root@lab1 ~]# uptime
 10:57:58 up 5 days, 17:53,  2 users,  load average: 1.55, 1.87, 1.80

This behaviour could be fixed from Zabbix Agent side or is related to LXC?
Thanks






[ZBXNEXT-7922] Please add more aggregate functions to the perf_counter(_en) item Created: 2022 Aug 18  Updated: 2022 Aug 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Evgeny Kravchenko Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows



 Description   

Now in the item perf_counter(_en) you can specify the interval and get the average value of the counter. What about add aggregete functions as the item parameter and get not only the averages, but the maximum, the minimum and, possibly, the certain percentile of the counter values for the specified interval?






[ZBXNEXT-8183] Agent based Azure Discovery / Check Items Created: 2022 Dec 28  Updated: 2022 Dec 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Avraham Eisen Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, agent2, cloud, template
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows
Linux



 Description   

Is it possible to enhance the Zabbix Agent and have it interact with the Azure Instance Metadata Service

 

This can provide the following benefits:

  • By authenticating with the Managed Identity of the VM, the potential to be throttled by the Azure Management service is reduced
    • the way the existing template functions with defaults, throttling issues would start to occur if Zabbix starts polling more than 2000 Azure resources using the same inherited service principal
      • 2000 resources × 6 polls per hour (10 minute polling interval) = 12000 polls per hour.  Documented limit is 12000 reads per security principal, per subscription
    • Using the IMDS, at least the VMs don't need to factor into this count, as they would authenticate using their own managed identity
  • By polling the instance endpoint with LLD, the same discovery data the existing Azure template uses can be discovered from the VM itself without requiring the Zabbix Server/Proxy to also be granted access to the Azure portal,
    • This could augment the passed HostMetadataItem the agent passes for autoregistration
  • Polling the scheduled events endpoint would allow Zabbix to alert on events received from the VM without having to query the Activity Log
    • Whether an Azure Spot machine is being deallocated/deleted by the platform
    • Whether the platform has scheduled a reboot or redeploy

 

Can the Agent be configured with a native plugin to interact with the IMDS, and an associated template be created/augmented for discovery and alerting?

 

 

Note: this exists for AWS as well; I don't have enough familiarity with the AWS IMDS to detail a separate request though.






[ZBXNEXT-7898] Host Availability Report for all type of checks Created: 2022 Aug 02  Updated: 2023 Aug 30

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: 6.2.1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dimitri Bellini Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: availabilityreport, frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RHEL 8.x



 Description   

Following the ZBXNEXT of "optional interfaces for server-originated checks" (ZBXNEXT-7797), could be nice to have a "global view" of the availability of checks related to a specific host.

Most of the time the customers/users would like to understand the real-time situation of monitored hosts and their linked checks.
If we have to monitor 100 hosts (Agent or Simple Check/HTTP etc) they supposed to receive a "visual" feedback that say 100 hosts have no issue (or something similar) .

Best regards






[ZBXNEXT-8048] How to monitor a host which is behind the firewall Created: 2022 Oct 18  Updated: 2022 Oct 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.8
Fix Version/s: None

Type: Epic Priority: Trivial
Reporter: Shivani Thakur Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Name: Monitor a host behind the firewall

 Description   

How to monitor a host who is behind the firewall with only 443 ports open on the inbound and outbound sides?






[ZBXNEXT-7718] Zabbix-Agent2 for *BSD Created: 2022 May 16  Updated: 2022 May 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Stefan Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be very nice if you can also build zabbix-agent2 for *BSD (eg: FreeBSD)






[ZBXNEXT-7404] Multi PSK for autoregistration Created: 2022 Jan 07  Updated: 2023 Feb 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: MAILLIET François-Hugues Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 4
Labels: security
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For self-registration, you can only use one key. In a network with different DMZ, it would be necessary to be able to use several keys for self-registration.



 Comments   
Comment by gofree [ 2023 Feb 24 ]

indeed this is really needed - for example multi customer environment as well





[ZBXNEXT-7118] Exclude snapshots from ZFS filesystems in the discovery Created: 2021 Dec 10  Updated: 2021 Dec 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Gergely Czuczy Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently, if snapdir is visible, then zfs snapshots are discovered and items/triggers/graphs are uselessly created for them. Snapshots could completely be excluded from discovery, all these metrics are irrelevant on them.

Apart from that, in same rare cases this can result in some 4-6K additional items on a system, needlessly increasing the vps on the server - these metrics are not doing anything, except for clogging up server resources.

 






[ZBXNEXT-7096] Config parameters as item keys for agents Created: 2021 Dec 02  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.18, 5.4.8, 6.0.0alpha7
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Edgars Melveris Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There are situations where it would be very useful to get agent configuration file parameters as item keys. This would allow monitoring incorrectly configured agents.
Example use case:
Common mis-configuration in Zabbix environment is when Timeout on agent has been selected larger than on the server. This can lead to strange and hard to troubleshoot problems with passive agent items, where some slower items timeout on the server, but others work fine.

Some parameters should probably be excluded because of security concerns.






[ZBXNEXT-7084] Open File Monitor Created: 2021 Nov 29  Updated: 2021 Dec 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: sam Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi Team,

 

Is there any inbuilt item/key for zabbix to monitor open file count monitor for linux host  if not can you please suggest an alternate for the same . 

Currently we tried lsof | wc -l  using userparameter which consuming more resources.

 

So kindly suggest an alternate for the same






[ZBXNEXT-7021] Add new key for PowerShell commands system.run.ps Created: 2021 Oct 28  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Aleksey Volodin Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 9
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-7022 CMD/PowerShell session reusing Open
part of ZBXNEXT-1101 Windows Agent User Parameter Powershe... Open

 Description   

Many users use PowerShell to extend the capabilities of the Agent.

In the current implementation, this can be quite difficult due to the presence of only the system.run key that runs commands in the cmd.exe shell.

Thus, starting PowerShell now looks overly complicated:

Zabbix Agent -> CMD -> PowerShell -> Command

Especially if there are special characters and parameters somewhere.

I suggest adding a new key in the Agent for Windows: system.run.ps






[ZBXNEXT-6900] Zabbix Agent/Agent2 prints item keys and retrieves values when using '-p' switch Created: 2021 Sep 09  Updated: 2021 Sep 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.4.4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: James Cook Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix Agent/Agent2 any version



 Description   

When using zabbix_agentd or zabbix_agent2 with the '-p' switch to 'print' known items it actually prints the item and gathers its value (as per the '-t' switch).

What I would expect is just a list of agent item keys to be produced and not the actual values.

If I wanted to get the item and value I would use the '-t' switch with no parameter for all items and a parameter if I wanted a specific item.

By returning the agent item and value with the '-p' it takes for ever to run and there for cant be used as Zabbix item to contain a list of agent keys for the agent as there is a timeout of 30 seconds.

I was looking to do some monitoring for missing custom keys and/or additional 'custom' keys that have been added that are not standard for our environment.

 

 

 

 



 Comments   
Comment by Oleksii Zagorskyi [ 2021 Sep 10 ]

I'd agree that your opinion/suggestion is logical and makes sense.
But it's hard to call it a bug report, it's more a feature request, so this ticked moved to ZBXNEXT project.

Comment by James Cook [ 2021 Sep 13 ]

Hi Oleksii,

Absolutely agree... Should be a feature request.

Cheers

James





[ZBXNEXT-7022] CMD/PowerShell session reusing Created: 2021 Oct 28  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Aleksey Volodin Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
part of ZBXNEXT-7021 Add new key for PowerShell commands s... Open

 Description   

In Agent 2, the functional and the idea of minimal use of connections were presented.

This was very clear when working with databases - when connections were reused.

Session reuse saves resources and time.

I suggest adding similar functionality when working with cmd/PowerShell sessions.






[ZBXNEXT-6944] Monitoring for existence of multiple files Created: 2021 Sep 24  Updated: 2021 Sep 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.16rc1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Seeking a way to monitor for existence of multiple files in multiple directories.

vfs.file.exists only allows a single path to be checked.
vfs.dir.count allows to check for multiple files, but only in a single directory.

The best option would be a solution that would allow to supply a regexp for path and return the number of matched files.






[ZBXNEXT-6826] Support for multiple values on the agent HostMetadataItem Created: 2021 Aug 10  Updated: 2021 Aug 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Dmitry Krupornitsky Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Implement a support for creating multiple values on the agent variable HostMetadataItem with a comma separation like static HostMetaData whith a ','. The fact of having to search only for the release of the OS, and not to combine it with a port, a particular service does not allow to properly industrialize the auto-registration in Zabbix.

HostMetaDataItem(s) = system.uname, system.run[/etc/script.sh], xxx

Using static HostMetadata multiplies the number of Zabbix configuration files.






[ZBXNEXT-7056] Add a possibility to define end of line symbol sequence for Zabbix agent log Created: 2021 Nov 15  Updated: 2023 Dec 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.17
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Antons Sincovs Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Microsoft Windows


Attachments: PNG File image-2021-11-15-13-45-01-257.png     PNG File image-2021-11-15-13-45-38-097.png    
Issue Links:
Duplicate

 Description   

Zabbix agent log entries have "LF" ("Line Feed", #10 ASCII) symbol at the end of the line, which does not work with older versions of standard Windows application "notepad". Notepad requires both "CR" ("Carriage Return", #13 ASCII) and "LF" to be present at the end of the line in order to start displaying the next entry from the new line.

Such a behaviour has been recently changed by Microsoft - https://devblogs.microsoft.com/commandline/extended-eol-in-notepad/ , however it only affects the most recent OS editions.

Please, consider adding a possibility to change Zabbix agent log end of the line symbol sequence. Other possibility would be to detect Windows OS and set the correponding end of the line symbol sequence automatically.



 Comments   
Comment by Antons Sincovs [ 2021 Nov 15 ]

Earlier versions of Zabbix agent added "CR" "LF" sequence:

Now it is only "LF":





[ZBXNEXT-4310] HTTP encapsulated ZBX for agent/server communication Created: 2018 Jan 03  Updated: 2021 Jun 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Spiros Ioannou Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

In many cases the agent can only reach the server through a local LAN HTTP proxy for security reasons. This is the case where e.g. the agent monitors a remote facility which mandates outgoing traffic only through a VPN HTTP proxy, and the server resides in the cloud.

For that reason we have used a set of simple scripts to encapsulate ZBX inside HTTP: https://bitbucket.org/sivann/zabbix_http_gateway/overview

But it would be great if zabbix could have that functionality inherently.

I've seen several tickets requesting AMQP, MQTT, etc, if encryption, and compession are of interest I would suggest HTTP/2 which is bidirectional, proxyable, widely deployed, and covers most of the other protocol benefits.



 Comments   
Comment by Hari Vittal [ 2021 May 14 ]

Agreed and most other SaaS monitoring agents support this... when we look to get off them and into Zabbix this is issue in one of the blockers. I think this feature will aid more adoption of Zabbix.





[ZBXNEXT-4323]  Search open handlers deleted files Created: 2018 Jan 09  Updated: 2019 Jul 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Anton Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello!

Can zabbix will add to "Linux template" Search open handlers deleted files ?

For example:
https://github.com/lesovsky/zabbix-extensions/blob/master/files/linux/scripts/check-open-descriptors.sh

Thank you



 Comments   
Comment by Vitaly Zhuravlev [ 2018 Jan 25 ]

That should be implemented in zabbix agent first before getting into the template

Comment by Anton [ 2018 Jan 29 ]

Ok

Comment by richlv [ 2019 Jul 18 ]

ZBXNEXT-5327 asks for monitoring the general open FD count.

Comment by Ilya Kruchinin [ 2019 Jul 29 ]

The example seems overcomplicated (at least on Linux)
a simple:

lsof -a +L1 *mountpoint*

would do. mountpoint is optional. Ref: https://www.akadia.com/services/lsof_quickstart.txt

Comment by Ilya Kruchinin [ 2019 Jul 29 ]

I would agree this probably should be a built-in check, though





[ZBXNEXT-4531] Proxy: ability to configure items to be monitored out of proxy (directly by Zabbix Server) Created: 2018 Apr 28  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Werneck Bezerra Costa Assignee: Michael Veksler
Resolution: Unresolved Votes: 16
Labels: hosts, items, proxy
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Undefined



 Description   

When a host is configured to be monitored by proxy, it's impossible to get some items directly by server. Today it's is the normal situation, but is simple to think in a different way when some items need to be monitored by another part (in this case, directly by the server). It can be viewed as client's point of view.

Today, if i want this view, i need to:

  1. duplicate the host
  2. "unlink and clear" the template
  3. create items (in this case, tcp tests or icmp tests)

In my opinion, Zabbbix could have a manner to choose the monitoring way at item level, like, the host is monitored by proxy, but some items aren't.



 Comments   
Comment by Werneck Bezerra Costa [ 2019 Oct 08 ]

Hello again.

I would like to know if it's in the planing for new features.





[ZBXNEXT-4391] Get information about svn last-changed-revision for each build Created: 2018 Feb 20  Updated: 2018 Jun 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Java gateway (J), Proxy (P), Server (S)
Affects Version/s: 4.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Michael Veksler Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File revisionv2.patch    
Issue Links:
Sub-task
depends on ZBX-13509 NetBSD problem with libs from binary ... Closed
depends on ZBX-13510 Error of execution "make dbschema" fo... Closed
depends on ZBX-13511 There is no explicit dependence to 'p... Closed

 Description   

Provide possibility to build zabbix components with actual information about svn last-changed-revision and svnversion for all non windows environment. Revision info will look as 77368/77405:77856M
Where:
77368 - svn last-changed-revision
77405:77856M - svnversion

or for example as: 77368M
Where:
77368 - svn last-changed-revision
M - svnversion

Dynamically creation of 'Revision.java' connect with unwillingness of code modification under svn control.

In attachment suggested patch.






[ZBXNEXT-4183] zabbix agent calls zbx_tcp_check_allowed_peers() for every passive monitoring Created: 2017 Oct 17  Updated: 2017 Oct 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P)
Affects Version/s: 3.4.3rc1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: MATSUDA Daiki Assignee: Andris Mednis
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix agent calls zbx_tcp_check_allowed_peers() for every passive monitoring. The function parses CONFIG_HOSTS_ALLOWED and matches IP addr. Its process is redundunt and it had better have a cache for accept IP addr.



 Comments   
Comment by Andris Mednis [ 2017 Oct 17 ]

Thanks! I agree, this is probably the next logical step. The most time consuming thing could be DNS requests if hostnames are used in CONFIG_HOSTS_ALLOWED.





[ZBXNEXT-4003] Zabbix Agent - Windows Services LLD : statename Created: 2017 Jul 28  Updated: 2017 Jul 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.6
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Florent Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: agent, items, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

VM - RedHat Enterprise 7.3


Attachments: PNG File ProblemView.PNG     PNG File TriggerProto.PNG    

 Description   

Hello,

I would like to configure a trigger for Windows Services where I could insert the current state name of the service.

Under the context of LLD (Key: service.discovery), when inserting the macro {#SERVICE.STATENAME} (or any others) in the name of the trigger, the macro value is only updated when the "Update interval" of the LLD is executed.
If it's 3600sec, the trigger name will display "running" (for exemple) for an hour while the service is actually down.
And even if I reduce this time (but I don't want and you know why ^^) to match the refresh cycle of the item, when the alert arise, the email notification is often wrong on the status of the service.

What I want is that the trigger name displays and changes the "Current Status" value on the fly and being human readable.

I can actually do that, change the value on the fly with the current state of the service using the variable "{ITEM.LASTVALUE1-9}", but the values that are displayed are the "numbers" that the zabbix agent generates depending on the service's state.
See : ProblemView.PNG

So my request is :
Is it possible that you add a "param" called "statename" to the "service.info[]" key ?
Only the param "state" is actually available.

So, I could create a trigger where I will compare the current state with the string "running" and raise an alarm with the "{ITEM.LASTVALUE2}" in the name that reflect the real status of the service.
See: TriggerProto.PNG






[ZBXNEXT-5181] support systemctl reload zabbix-* Created: 2019 Apr 16  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Josh Soref Assignee: Michael Veksler
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

  1. Changes in configuration...
  2. Want to trigger a reload
  3. try systemctl reload zabbix-server

Result:

Failed to reload zabbix-server.service: Job type reload is not applicable for unit zabbix-server.service.

Expected:
It should just work.

 

/etc/systemd/system/zabbix-server.service.d/reload.conf is the general way to support it:

[Service]
ExecReload=/usr/sbin/zabbix_server -c $CONFFILE -R config_cache_reload

/etc/systemd/system/zabbix-proxy.service.d/reload.conf:

[Service]
ExecReload=/usr/sbin/zabbix_proxy -c $CONFFILE -R config_cache_reload





[ZBXNEXT-4624] Debuglevel - Runtime confirmation and conf settings for each modules Created: 2018 Jul 03  Updated: 2018 Jul 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Kim Jongkwon Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: logging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

This is a request for improvement after ZBXNEXT-136 from some users.

1. Improvement of runtime debuglevel check - I want a way to check the current DebugLevel of each module at runtime.

# zabbix_server -R log_level_check[=<target>]

Currently it can only check that it went up or down from the execute output. It may be difficult to check from the log.
In particular, it may be difficult to analyze Zabbix logs from external applications or scripts.

2. Also be able to set the Debuglevel of each module from Zabbix conf. (Especially useful on Windows agent.)






[ZBXNEXT-4025] Ability to define a list of remote commands on the agent Created: 2017 Aug 10  Updated: 2019 Jan 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Sascha Guilliard Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We are missing the ability to define a list of remote commands that can be executed on the zabbix agent itself (and not on the server) so that only those commands could be executed, even if others are defined on the zabbix server



 Comments   
Comment by Marc [ 2017 Aug 10 ]

Similar to ZBXNEXT-3026

Comment by richlv [ 2019 Jan 24 ]

ZBXNEXT-4978 asks for restricting remote commands per server.





[ZBXNEXT-3982] Interface discovery is missing on Mac OS Created: 2017 Jul 18  Updated: 2017 Jul 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: macosx
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Mac OS X



 Description   

net.if.discovery does not support Apple Mac OS






[ZBXNEXT-3792] move checks_agent.c to a shared library Created: 2017 Apr 13  Updated: 2017 Apr 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

citing from (1) in ZBX-11528

better consistency could be achieved if checks_agent.c is moved to shared library to be reused both by server and zabbix_get. But it should be decided if needed.

Glebs Ivanovskis Yes, src/zabbix_server/poller/checks_agent.c get_value_agent() and src/zabbix_get/zabbix_get.c get_value() have a lot in common and it would be beneficial to merge them into something more general-purpose (and move to src/libs/zbxcommshigh perhaps), especially from the point of view of consistent error messaging and failure analysis (see ZBX-10613).

this is expected to decrease the chance of bugs and different behaviour across the components.






[ZBXNEXT-3800] Support environment variable in agent config file on windows Created: 2017 Apr 18  Updated: 2018 Jul 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Mike Tkatchouk Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows


Attachments: Text File ZBXNEXT-3800.patch     PNG File zagent_vars.png    

 Description   

zabbix_agentd.win.conf:
LogFile=%temp%\zabbix_agentd.log



 Comments   
Comment by Khatsayuk Alexander [ 2018 Jul 02 ]

I wanna warn you - I'm not a C programmer. =) So, maybe it's very unusable, but here is my patch for this ZBXNEXT and it works as I expect. =)

https://yadi.sk/d/al6T-14d3YgAZ7

ZBXNEXT-3800.patch





[ZBXNEXT-3698] Please add discovery of passive and active servers used by zabbix agent Created: 2017 Feb 13  Updated: 2017 Feb 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andrey A. Konovalov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: agent, items, lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please add zabbix agent item keys: servers.active.discovery and, optionally, servers.passive.discovery

It wil be useful to build discovered items (and triggers) based on this discovery such as net.tcp.port[{#ZABBIX.SERVER},10051] - if port 10051 is not accessible from the monitored host, than some of active metrics can not be delivered to the zabbix server and monitoring administrator must be alerted some way about this problem...

Thank you!



 Comments   
Comment by richlv [ 2017 Feb 13 ]

this might have security implications - one server would be able to find out other servers the agent is configured to use, which is not always desirable. think agent that reports to local, internal zabbix server, then also to an external zabbix server for a services company - the services company would be able to find out the internal zabbix server ip.

note that the desired functionality can already be achieved by having a trigger on any active agent item - is there any usecase that is not covered by this solution ?

Comment by Andrey A. Konovalov [ 2017 Feb 13 ]

Active item may be not updated for many reasons, not only in case of the server unavailablity.
It is better to know exactly, can agent establish TCP connection to the the server or it cant do it.
Security issues in case of Zabbix - not a strongest argument against feature requested by me (IMHO), because Zabbix uses Ip addreses to authorize agents and incoming traps, Zabbix accepts command to execute externalscript without SID (it is approved bug) and etc.
And yes, i can simply get content of /etc/zabbix/zabbix_agentd.conf using vfs.file.contents, so...





[ZBXNEXT-3583] TLSDir configuration file parameter Created: 2016 Dec 01  Updated: 2016 Dec 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.4.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: configfile, encryption, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

One needs to specify up to 4 TLS*File parameters to configure certificate-based encryption. Most likely they are all in one directory, therefore specifying TLSDir once and using relative paths for TLS*File seems logical.






[ZBXNEXT-3397] Ability to use agent.ping both as active and passive Created: 2016 Aug 22  Updated: 2019 Aug 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
causes ZBX-16220 Add zabbix agent logging about active... Closed

 Description   

I find myself in the situation where I need to use agent.ping to verify Zabbix agent functionality. However, I need to be able to test the availability of the agent both in active and passive mode.

Currently I'm using an Alias statement in the agent config file allow querying of agent.ping via another name. However, I'd rather have this as a builtin agent option.

One way to do this could be via item parameters, extending agent.ping to also accept agent.ping[] would already solve the issue for me.

Another way could be to specify passive and active to the item as follows:

agent.ping[active]
agent.ping[passive]



 Comments   
Comment by richlv [ 2016 Aug 22 ]

a parameter won't work, as that would be best implemented for all items. functionally this seems like a duplicate of ZBXNEXT-243

Comment by Raymond Kuiper [ 2016 Aug 23 ]

I agree my proposed solution might not be the best way forward, in fact it seems a bit hackish when I look at it now.
The point I'm trying to solve is that we need this:

A) an item to verify active checks work for the host
B) an item to verify passive checks work for the host

Both should be usable at the same time and not rely on the misuse of another item.

The current 'solutions' are a mess. For instance, misusing agent.hostname to verify if either of the 2 methods works has some disadvantages:

1) I would need to increase the interval, normally 3600 seconds would be a nice interval for items that don't change frequently. Now, because of the fact we are using it to verify communications we need to set the interval much lower, say 60 or 120 seconds.
2) I can't graph protocol availability as agent.hostname returns a string value with the hostname as opposed to an integer representing a status.
3) Storing the text returned by the item is less efficient, as we cannot trend the data in the database.

I do see advantages to ZBXNEXT-243 but it doesn't seem to solve my underlying problem. Even if ZBXNEXT-243 was implemented, we'd still need the ability to determine if both protocols are working for a host.

Comment by richlv [ 2016 Aug 23 ]

ZBXNEXT-243 mentions several different potential solutions, and one of them is actually specifying active/passive on the item level - in that case, it would solve your need, i guess

Comment by Raymond Kuiper [ 2016 Aug 23 ]

No, it wouldn't.

Although agent.ping could be used as active OR passive, it still wouldn't be able to return status for BOTH at the same time.
For this to work, we need 2 separate item keys as an item key needs to be unique to the host.

Comment by Glebs Ivanovskis (Inactive) [ 2016 Nov 23 ]

Aliases can be used as a workaround for such problems, especially after ZBXNEXT-3206.





[ZBXNEXT-3398] Zabbix server autodiscovery based on SRV record Created: 2016 Aug 11  Updated: 2022 Feb 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Denis Volkov Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently zabbix agent supports agent autoregistration and discovery from zabbix server. First requires adding server address into agent config. Second requires configuration in zabbix server.
But agent can find server via DNS record. For example, jabber client tries to find server address via DNS SRV query:
> _xmpp-client._tcp.example.net. IN SRV 5 0 5222 server.example.net.
Zabbix agent could try to query something like that for zabbix server. For example agent could query:
> _zabbix-agent._tcp.example.net. IN SRV 5 0 10051 zabbix.example.net.
Domain can be taken from hostname of the server with zabbix agent
Such configuration with agent autoregistration can make fully automated agent registration



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Aug 22 ]

This sounds like a feature request, not a bug. merlyel, should we move this ticket to ZBXNEXT project?

Comment by Denis Volkov [ 2016 Aug 22 ]

My bad. Yes, it of course would look better in ZBXNEXT

Comment by Maciej Ciara [ 2017 Dec 22 ]

Any chance to get it in Zabbix 4.0?

Comment by Dr. Alexander Papaspyrou [ 2019 Jun 04 ]

Denis,

what needs to happen so that we get this implemented?

Regards,
Alexander

Comment by Vinícius Ferrão [ 2022 Feb 15 ]

Hello, this feature is extremely welcoming because it will simplify installation of agents. Can we have some feedback if the features is still being considered or not?





[ZBXNEXT-3028] provide 'machine readable' output for agentd -p Created: 2015 Oct 29  Updated: 2015 Oct 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: keys
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when listing agent keys with -p, output from items is mixed with item keys themselves. if one would like to parse key/vaue data, it is nearly impossible to do in a safe manner - for example, a webpage including a few lines that would be the same as agentd output would totally trip any parsing.
an additional flag could instruct agent to print out that information in a json structure, for example.

it is common in other utilities to provide such machine readable output, for example, 'svn log' has '--xml' option.

this issue is similar to ZBXNEXT-3025 which asks to output key only.






[ZBXNEXT-3029] Print binary architecture to log file for windows agent when it started Created: 2015 Oct 29  Updated: 2017 May 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.15, 2.2.10, 2.4.6
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: logging, patch, troubleshooting, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File arch_log_file.diff    

 Description   

Sometimes we need to know what is architecture of a zabbix agent binary (.exe) is running on a windows x64 host.
It's important for example for some performance counters, processes monitoring etc.

If you try to google the question how to check architecture for an exe file - you will be surprised that it's not so easy on windows.

Good thing that agent will show it when you run it with -V option.

c:\>zabbix_agentd.exe -V
Zabbix Agent Win32 (service) v2.4.6 (revision 54782) (10 August 2015)
Compilation time: Aug 10 2015 10:15:18
c:\>zabbix_agentd-trunk.exe -V
zabbix_agentd Win32 (service) (Zabbix) 3.0.0alpha4
Revision 56587 6 November 2015, compilation time: Nov  6 2015 13:42:39

Copyright (C) 2015 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

not sure why do we add a "(service)" text here ...

But bad thing that this information is not included to log file:

  2248:20151002:192932.707 Starting Zabbix Agent [it0]. Zabbix 2.4.6 (revision 54782).
  2248:20151002:192932.707 using configuration file: C:\zabbix_agentd.conf
  2332:20151128:111705.217 Starting Zabbix Agent [it0]. Zabbix 3.0.0alpha4 (revision 56587).
  2332:20151128:111705.217 **** Enabled features ****
  2332:20151128:111705.217 TLS support:            NO
  2332:20151128:111705.217 **************************
  2332:20151128:111705.217 using configuration file: C:\zabbix_agentd.conf

Suggestion is to add the arch details to the log too, in the first line when agent is starting.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Nov 28 ]

Attached suggested patch.
Now first line (for windows only) looks like:

3896:20151128:230432.957 Starting Zabbix Agent Win32 [it0]. Zabbix 3.0.0alpha5 (revision 56900).




[ZBXNEXT-2858] Auto increase thread number (Server pollers, Agent checkes) Created: 2015 Jun 28  Updated: 2015 Jun 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 2.5.0
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Timofey Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: active, process, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix have problem with threads number
It's needed in manualy adjust thread number on server/proxyes for handle all requests, and zabbix agent, probably, use only one threads for active checks (i don't understand it, why we can't fork new thread for every check?)

What i mean:
Zabbix server/proxy can adjust threads number, by threads % busy number.
Example:
threshol = 75.0;
if (zabbix_poller.pbusy > threshold)

{ zabbix_poller.add_thread; }

As i think, this can solve problem with not enough threads for handling requests, and this logic can be applicable for all pollers.

On zabbix-agent, also, as i think and as i understand:
zabbix agent can just fork every active check in another threads.
I've a many, many active checks and in some cases, zabbix can't get in time data from it, and queue infinitely grow, its not a cool. As a workaroud i use zabbix passive checks for slow checks, because as i understand, zabbix agent prefork several threads, for handling passive checks.

Fix me, if i'm wrong in something.






[ZBXNEXT-3909] Let zbx_module_init() return an arbitrary error code and log it in case of failure Created: 2017 Jun 05  Updated: 2017 Jun 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.4.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: loadablemodule
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Regarding zbx_module_init() documentation says:

If successful, it should return ZBX_MODULE_OK. Otherwise, it should return ZBX_MODULE_FAIL.

If module initialization fails Zabbix prints only module name:

		zabbix_log(LOG_LEVEL_CRIT, "cannot initialize module \"%s\"", name);

Would be nice to let modules return anything but ZBX_MODULE_OK in case they feel like it. Would be nice to print this error code in Zabbix log file. This way module developers and users would have a way to diagnose module failures without the need to implement their own logging or hack Zabbix'es logging functions.






[ZBXNEXT-8410] Allow [""] for parameterless items on Zabbix agent Created: 2023 Apr 20  Updated: 2023 Apr 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.4.0
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Robin Roevens Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, items, lld, llditem, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please consider to allow adding [] or [""] to a parameterless item key.

This would allow all item keys to be possibly used in the SINGLETON LLD approach.

Currently items that don't accept parameters like for example 

agent.ping

 can't be used as 

agent.ping[{#SINGLETON}]

 in LLD. The resulting item would then be 

agent.ping[]

 and becomes unsupported with error:

ZBX_NOTSUPPORTED: Too many parameters.

while there are actually no parameters defined.

Therefore I would propose for the Zabbix Agent to accept 

item.key[], item.key[""] and/or item.key['']

as equals to 

item.key 

and only return the "Too many parameters" error when there are actually parameters given like in

item.key["param1"]





[ZBXNEXT-8365] Implement HTTPS communication protocol for Agent->Proxy and Proxy->Server Created: 2023 Mar 27  Updated: 2023 Mar 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Jono pryor Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Implementing HTTPS as an option for Agent-Proxy communication and Proxy-Server communication would deliver many architectural design benefits for Zabbix infrastructure. 

Benefits of being able to optionally use HTTPS for agent-proxy-server communication would include - 

  • Simplified firewall rules: Using HTTPS on port 443 reduces the need for additional firewall rules or non-standard port configurations.
  • Load balancing: HTTPS allows for industry-standard load balancers to distribute traffic among multiple Zabbix Proxies and Servers. e.g. nginx/haproxy
  • Easier CDN integration: HTTPS simplifies integration with Content Delivery Networks like Cloudflare, enhancing security and performance and reduced attack surface for Zabbix environments.
  • Improved monitoring: HTTPS traffic can be analyzed using widely available tools, streamlining the monitoring and troubleshooting process.
  • Consumption efficiencies of IP address space for users running multiple servers and proxys (e.g. MSPs). 





[ZBXNEXT-8396] Numeric user ids for proc.num and the likes Created: 2023 Apr 11  Updated: 2023 Apr 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: 7.0 (plan)

Type: New Feature Request Priority: Trivial
Reporter: Alex Kalimulin Assignee: Alex Kalimulin
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Agent items proc.num, proc.mem, proc.get, proc.cpu.util should support numeric user ids (in contrast to user names). This comes handy when there is no symbolic user name defined in the system (which is the case for Docker and other container systems). The workaround is to use proc.get without the username and do all filtering by user ids in JSON server-side, but it's too complicated configuration exercise.






[ZBXNEXT-8388] Include normalized value along with raw values in SMART data attributes Created: 2023 Apr 04  Updated: 2023 Apr 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andreas Nilsson Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Is it possible to present the normalized value along side the raw value in the smart.disk.get command?

For example: In our setup with many Samsung SSDs, we can read the wear level from attribute id 177 from the smartdata, but the raw value in this case is far from the same as the normalized value.

          "id": 177,
          "name": "Wear_Leveling_Count",
          "raw": {
            "string": "8308",
            "value": 8308
          },
          "thresh": 5,
          "value": 56,
          "when_failed": "",
          "worst": 56
 

I believe these are the files that needs to be changed

https://github.com/zabbix/zabbix/blob/master/src/go/plugins/smart/smart.go#L288

https://github.com/zabbix/zabbix/blob/master/src/go/plugins/smart/smartfs.go#L126

Please let me know if you want med to create a MR in case you find this as a valid solution.



 Comments   
Comment by Andreas Nilsson [ 2023 Apr 06 ]

Created a pull request after building the smart plugin from source:

https://github.com/zabbix/zabbix/pull/95





[ZBXNEXT-8848] Zabbix Agent support for multiple HostMetadataItem entries + JSON formatting Created: 2023 Nov 23  Updated: 2023 Nov 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: James Cook Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All Zabbix Agent versions



 Description   

At this point you are only able to specify one configuration setting for HostMetadataItem.

It would be handy if you were able to specify multiple items such as:

  • HostMetadataItem=Hostname, system.hostname
  • HostMetadataItem=Chassis, system.hw.chassis
  • HostMetadataItem=OS, system.sw.os[name]
  • HostMetadataItem=Architecture, system.sw.arch

Perhaps the format could be 'HostMetadataItem=<Label>,<Item>'  (i.e. HostMetadataItem=Hostname, system.hostname) so the data returned may look something like 'Hostname=HostX, Chassis=VMware Virtual Platform....'.

This way you would be able to tell what is what in the metadata returned and use this accordingly in the Auto-Registration actions when comparing values.

I would also suggest In addition if the agent could have a configuration setting to send metadata formatted as a JSON dict to contain these for example:

{     "Hostname": "HostX",     "Chassis": "VMware Virtual Platform",     "OS": "Red Hat Enterprise Linux Server 7.9 (Maipo)",     "Architecture": "x64" }

In the Auto-Registration actions it would be handy to have a compare/match/exists against a JSONPath so you can extract out specific values etc...

The use case is we currently have a script that produces metadata in the format of the following:

'0:<provider>,1:<client>,2:<group>,3:<agentType>,4:<agentVersion>,5:<agentListenIp>,6:<agentPort>,7:<host>,8:<hostFQDN>,9:<osFamily>,10:<osName>,11:<osBuild>,12:<architecture>'

This makes it easier to apply specific 'base' templates at the time of Agent Auto-Registration.



 Comments   
Comment by atpk [ 2023 Nov 24 ]

Hi James Cook,

You can achieve this with help of user parameters. Bind your script to a user parameter and give that parameter in host metadata item. Verify metadata by calling parameter with zabbix_get.

On agent conf:

HostMetadataItem=my.script

UserParameter=my.script,/path/to/myscript

and restart agent.

On server:

zabbix_get -s <agent> -k my.script

and you can write autoregistration actions as usual.

 

You can simplify your current script output. Try to change it to space or newline delimited keywords.

<provider> <client> <group>

or

<provider>

<client>

<group>

Comment by James Cook [ 2023 Nov 27 ]

Hi atpk,

This is how we have approached it, however it required us to write a script to encapsulate the data into one string.

I guess the script could use zabbix_gets via localhost(127.0.0.1) to get that information.

It would be nice to be able to do this out of the box for others that want to use native items from the agent that supports JSON formatting along with JSON functions in the Zabbix Action for auto-registration.

Note: I did not use json formatting as the metadata character limit was small in older versions of the agent - will be changing to json

Cheers

James





[ZBXNEXT-8860] Add header option for the Agent "web.page.get" item Created: 2023 Nov 30  Updated: 2023 Nov 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.4.8
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: MArk Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, headers, item, web.page.get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any



 Description   

Retrieving the content of a web page through an HTTP Agent item is a common practice. However, one potential drawback of this approach is content blocking.
This occurs because the HTTP item check is executed by the Zabbix Server, and if the server is behind a blocking system, the web content may become unreachable.

A workaround exists when the web server provider has an active Zabbix Agent. In such cases, the "web.page.get" item can be employed to send the web content, bypassing a firewall and eliminating the need for unnecessary firewall rules.
This method may face limitations in scenarios where content requires header authentication, as the "web.page.get" item lacks options for handling header values.

Another usage of the "web.page.get" involves using a host monitored by an Agent as a makeshift web proxy. In this scenario, the Agent retrieves web content and forwards it to the Zabbix Server.

Presently, the Zabbix Agent lacks the capability to fetch web pages using HTTP header options. While some feature requests echo this need, they were closed as duplicates. Notably, issue ZBXNEXT-1816 garnered attention and discussion but was ultimately closed as a duplicate as well.

To address these limitations and enhance the capabilities of the Zabbix Agent, the inclusion of a parameter allowing the passage of basic header options would prove beneficial for users, broadening the Agent's functionality.

Something like this:

web.page.get[host,<path>,<port>,<header: value>]





[ZBXNEXT-8446] Additional params in proc.get key Created: 2023 May 15  Updated: 2023 May 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Evgenii Gordymov Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Would be nice add additional params in proc.get key (to filter process using by regex, or "unique short description" param like it is used in ODBC key). 






[ZBXNEXT-8418] Zabbix agent (windows) - include registry key class field for key discovery Created: 2023 Apr 26  Updated: 2023 May 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.4.2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dregen Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows


Attachments: Text File 0001-zabbix-agent-include-registry-key-class-for-key-disc.patch    

 Comments   
Comment by Dregen [ 2023 May 19 ]

No love for this?





[ZBXNEXT-8380] Allow Active Agent to handle ODBC as well as the Server / Proxy Created: 2023 Mar 31  Updated: 2023 Mar 31

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.14
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dave Collier Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any supported Zabbix environment



 Description   

Currently ODBC (database monitor) items are executed from the Zabbix Server or the Zabbix Proxy. We would like the Zabbix agent to be able to make the ODBC calls.

There is a use case we have encounted with a database application which is configured at potentially many hundreds of locations and is the only system at that location. Communication between sites is Internet based and not totally private.

The current ODBC item configuration means that if we wanted to take advantage of secure comms between the site and the Zabbix server we would need to:

  • Install and maintain a proxy at each site - this is impractical because the database is the only server in use the location so we'd have to have a host definition for the DB server and the proxy and also have to increase the monitoring burden by monitoring the proxy itself.
  • If the proxy isn't at the same site as the DB server, then we'd need to open port 1433 (for MSSQL) for it to work which isn't a good thing to do.

 

If the AGENT could perform the DB Monitor items rather than (or as well as) the server and proxy, this woud increase security and remove the need for user parameters (which is the only current workaround).

Please review.

Regards,

Dave

 

 

 






[ZBXNEXT-8171] MSI Installer: Add HOSTNAMEITEM to available command-line parameters Created: 2022 Dec 22  Updated: 2022 Dec 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Packages (C)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Avraham Eisen Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: Install, agent, agent2, installation, msi, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows



 Description   

Can HOSTNAMEITEM please be added as a passable parameter when installing Zabbix Agent using the MSI file as an alternative to passing HOSTNAME or the installer auto-populating the hostname in the config file on install?

 

I would like to take advantage of the system.hostname[,lower] parameter so that my hosts are registered to Zabbix in lowercase, even if the Hostname of the device contains capital letters






[ZBXNEXT-5916] Make the global error list for plugins (zabbix_agent2). Created: 2020 Apr 27  Updated: 2020 Apr 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.0beta2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Anton Petukov Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: patch, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File errors.go    

 Description   

To unify the error output in plugins, we can create a common list available when importing plugin.Base module.






[ZBXNEXT-6179] trimming agent2 filesize Created: 2020 Sep 02  Updated: 2020 Sep 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Markus Fischbacher Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently building the agent2 from source we're getting about this:

$ ./bootstrap.sh; ./configure --enable-agent2 --enable-static; make
$ ll src/go/bin/
total 23316
drwxr-xr-x 2 root root     4096 Sep  2 19:02 ./
drwxr-xr-x 8 root root     4096 Sep  2 19:01 ../
-rw-r--r-- 1 root root       26 Sep  2 18:57 .gitignore
-rwxr-xr-x 1 root root  4043600 Sep  2 19:01 mock_server*
-rwxr-xr-x 1 root root 19812776 Sep  2 19:02 zabbix_agent2*
```

Adding "-s -w" to 'go build -ldflags="-s -w"' si trimming is somewhat

$ ls -la src/go/bin/
total 16308
drwxr-xr-x 2 root root     4096 Sep  2 19:15 .
drwxr-xr-x 8 root root     4096 Sep  2 19:06 ..
-rw-r--r-- 1 root root       26 Sep  2 18:57 .gitignore
-rwxr-xr-x 1 root root  2888912 Sep  2 19:15 mock_server
-rwxr-xr-x 1 root root 13784664 Sep  2 19:15 zabbix_agent2

Now with adding upx ( https://upx.github.io/ ) this can be brought down way more. I have had it running for a week now and didn't experience drawbacks (thought I haven't tested it on a broad range of targets).

$ cp src/go/bin/zabbix_agent2 src/go/bin/zabbix_agent2_unpacked
$ upx -1 src/go/bin/zabbix_agent2
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2013
UPX 3.91        Markus Oberhumer, Laszlo Molnar & John Reiser   Sep 30th 2013

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
  13784664 ->   6419452   46.57%  linux/ElfAMD   zabbix_agent2

Packed 1 file.
$ upx --best -o src/go/bin/zabbix_agent2_best src/go/bin/zabbix_agent2_unpacked
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2013
UPX 3.91        Markus Oberhumer, Laszlo Molnar & John Reiser   Sep 30th 2013

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
  13784664 ->   5364724   38.92%  linux/ElfAMD   zabbix_agent2_best

Packed 1 file.
$ ls -la src/go/bin/
total 27812
drwxr-xr-x 2 root root     4096 Sep  2 19:18 .
drwxr-xr-x 8 root root     4096 Sep  2 19:06 ..
-rw-r--r-- 1 root root       26 Sep  2 18:57 .gitignore
-rwxr-xr-x 1 root root  2888912 Sep  2 19:17 mock_server
-rwxr-xr-x 1 root root  6419452 Sep  2 19:17 zabbix_agent2
-rwxr-xr-x 1 root root  5364724 Sep  2 19:17 zabbix_agent2_best
-rwxr-xr-x 1 root root 13784664 Sep  2 19:17 zabbix_agent2_unpacked


 Comments   
Comment by Dmitrijs Lamberts [ 2020 Sep 03 ]

Hello,
This sounds more like a Feature request.
Moving to ZBXNEXT project.

Comment by Markus Fischbacher [ 2020 Sep 03 ]

Thx @dmitrijs.lamberts, you're right. Also maybe not even FR but more a discussion or idea.

UPX has downsights imo: startup is obviously a little bit slow (in ms range I guess). Also it would add another level of complexity and thus error proneness and maybe one might not want this just for the sake of some MB. Thought if you just watch around the internets there are some very known golang bins using it.

But the -s -w golang flags should make their way into production binaries. Today they seem to be the standard for prod releases and at least shuffle some MB off the endproduct for what it's worth.





[ZBXNEXT-6228] Collecting containers metrics with respect of cgroup limits Created: 2020 Sep 30  Updated: 2020 Oct 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dmitrijs Goloscapovs Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 3
Labels: Docker, lxc
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Containers under Linux (with cgroup limits)


Issue Links:
Causes
caused by ZBX-12164 zabbix-agent get wrong memory values ... Closed

 Description   

Zabbix-agent that is running inside the container (LXC/Docker/Podman) with resource limits (using cgroups) reports memory/cpuload values of the host system, not of the container. 

Users may want to choose which values they want to monitor: host's values or container's. 

Currently user is forced to use custom UserParameters to monitor container's metrics like memory, cpu load...

Container's metrics (that respect its limits) can be fetched from cgroup sysfs.

As different containerization systems are using different cgroups versions (v1/v2), user should be able to accordingly choose item keys for its version.

New item keys can be implemented to fetch container's metrics using cgroups' sysfs. 






[ZBXNEXT-5791] Photon OS agent packages with get/sender tools (RPM) Created: 2020 Mar 02  Updated: 2024 Feb 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.4.6, 5.0.0alpha1, 5.0.0alpha2, 6.0.18, 7.0.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Damien Dye Assignee: Michael Veksler
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate
is duplicated by ZBXNEXT-8328 RPM for photonOS Closed
Sub-task

 Description   

Hi, would it be possible to get a binary release for Vmware's photon OS so we can install an agent onto VMware components so we can monitor the system state and services health with the full benefits of the agent?






[ZBXNEXT-6095] Add new key to return all CPU utilization data in one request Created: 2020 Jul 30  Updated: 2020 Jul 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andris Zeila Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently various system CPU utilization metrics can be obtained by separate keys, for example system.cpu.util[,idle], system.cpu.util[,user], etc. Because the keys might be polled at different times, the items would have data from different CPU utilization snapshots and summary CPU utilization would not be 100%.

New key must be added to return all available cpu statistics with single request - system.cpu.get[<cpu>] where:

  • <cpu> - the cpu to return statistics for:
    • all - summary for all cpus (default)
    • details - statistics for each cpu and summary for all cpus (the naming still under discussion)
    • <cpu num> - statistics for the specified cpu

This key will return json array with statistics for required cpus having format, for example:

[
  {
    "index": "all",
    "status": "online",
    "stats": {
      "avg1": {
        "system": 0,
        "user": 0,
        "idle": 0
      },
      "avg5": {
        "system": 0,
        "user": 0,
        "idle": 0
      },
      "avg15": {
        "system": 0,
        "user": 0,
        "idle": 0
      }
    }
  },
  {
    "index": "0",
    "status": "online",
    "stats": {
      "avg1": {
        "system": 0,
        "user": 0,
        "idle": 0
      },
      "avg5": {
        "system": 0,
        "user": 0,
        "idle": 0
      },
      "avg15": {
        "system": 0,
        "user": 0,
        "idle": 0
      }
    }
  },
  {
    "index": "1",
    "status": "online",
    "stats": {
      "avg1": {
        "system": 0,
        "user": 0,
        "idle": 0
      },
      "avg5": {
        "system": 0,
        "user": 0,
        "idle": 0
      },
      "avg15": {
        "system": 0,
        "user": 0,
        "idle": 0
      }
    }
  }
]

 






[ZBXNEXT-3827] Windows EventLog XML details parsing (SCOM like) Created: 2017 Apr 27  Updated: 2017 Apr 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.5
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Patrik Chadima Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: eventlog, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Microsoft Windows OS


Attachments: PNG File Screen Shot 2017-04-27 at 07.09.57.png     PNG File Screen Shot 2017-04-27 at 07.13.33.png     PNG File Screen Shot 2017-04-27 at 07.13.50.png    

 Description   

Would be a great feature to implement Windows EventLog XML parsing (in SCOM known as Parameters) as an option for Windows Zabbix Agent eventlog[] key. Sometimes it could be more than useful for deeper monitoring of Microsoft family products, like DPM.

e.g. When monitoring DPM it depends on various Data field in XML part of EventLog because these data are not provided in General view. Can be seen on attached screenshot from EventLog.






[ZBXNEXT-3650] implement vm.memory.size[dirty] Created: 2017 Jan 05  Updated: 2017 Jan 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Jakub Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please implement vm.memory.size[dirty]

dirty = active write cache

On Linux it can be read like this: grep ^Dirty: /proc/meminfo

Result is in kilobytes.

Justification: I was frankly surprised agents don't read this. "Dirty" size, the area that is unwritten to disk yet from OS cache is a MAJOR performance metric. Especially that it is also used for CIFS and NFS caching. It's much more critical than many other vm.memory.sizes already implemented (e.g. wired, pinned, anon, file, exec, buffers have next to none practical utility to users).






[ZBXNEXT-3653] Support LibreSSL library Created: 2017 Jan 09  Updated: 2019 Apr 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 3.2.3
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Sebastian YEPES Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-12210 Can not compile Zabbix components wit... Closed

 Description   

It would be great to have support for the LibreSSL library as there seems to be a movement towards its usage, the latest in the list is Alpine 3.7



 Comments   
Comment by Bernard Spil [ 2017 Feb 12 ]

Check ZBX-11803 for a solution for 3.2.3

Comment by Marc [ 2017 Feb 13 ]

Instead of LibreSSL's drop-in replacement for OpenSSL, I'd prefer to see libtls support implemented instead.

Comment by Yaron Shahrabani [ 2018 May 09 ]

A recent PR was published to Alpine, we can try and test after it's implemented:

https://github.com/alpinelinux/aports/pull/4178

 (Sorry, I posted the wrong link earlier).

BTW the latest version is 3.7 not 3.5, better change that in the Description.

Comment by Sebastian YEPES [ 2018 May 09 ]

what's the actual PR so we can follow it, I am still having the issue with 3.7

Comment by Yaron Shahrabani [ 2018 May 09 ]

@syepes I'm sorry, I pasted the wrong link, I changed it now, thank you!

Comment by Andris Mednis [ 2019 Apr 15 ]

Solution to ZBX-15552 allows using LibreSSL as OpenSSL replacement (i.e. without libtls). Released in updates 3.0.26, 4.0.6, 4.2.0.





[ZBXNEXT-3262] Enhance Zabbix regexp functions to return regexp compilation error message Created: 2016 Apr 29  Updated: 2018 Nov 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.2.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Andris Mednis Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: errorreporting, regexps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Recently Zabbix regexp functions have been improved to return ZBX_REGEXP_MATCH, ZBX_REGEXP_NO_MATCH or FAIL.
Let's add a regexp compilation error message returned in case of FAIL (see make_logfile_list() for a working example). This will make users life easier.



 Comments   
Comment by Andris Zeila [ 2016 May 05 ]

Recently the regular expression processing was extended to include better error handling. However it was done by two separate issues touching two paths of regular expression processing (ZBXNEXT-1638, ZBXNEXT-1250) and as result has a different approach:

static char	*zbx_regexp(const char *string, const char *pattern, int *len, int flags)
and
static int	regexp_sub(const char *string, const char *pattern, const char *output_template, int flags, char **out)

zbx_regexp() returns pointer to matched string or NULL if the string doesn't match or the pattern was invalid. If NULL is returned, then len contains either SUCCEED (pattern was valid) or FAIL (otherwise).

regexp_sub() returns FAIL if pattern is invalid and SUCCEED otherwise. If SUCSEED is returned then out contains either substituted output string or NULL if there is no match.

In reality the zbx_regexp() len parameter is used only to return error code, so we can simply use similar signature to regexp_sub() function:

static int	zbx_regexp(const char *string, const char *pattern, int flags, char **output)
Comment by Andris Zeila [ 2016 May 05 ]

Also complex return codes usually aren't used in Zabbix. It might be better to return simply SUCCEED/FAIL based on regular expression compilation success (with optional error message output parameter) and use additional output parameter to return match/not match.

Comment by Glebs Ivanovskis (Inactive) [ 2016 May 05 ]

Functions zbx_regexp() and regexp_sub() (especially with changes proposed by wiper) will be virtually identical. I think it is a good idea to merge them into one.

However, there are difficulties with higher level functions. Suggested solution (SUCCEED/FAIL + NULL/matched string) won't be particularly convenient in regexp_match_ex() where we are not interested in matched string but only in match/not match.

Comment by Andris Mednis [ 2018 Nov 01 ]

Maybe this feature request can be reviewed now - after regexp support has been moved to libpcre.
regexp_compile() reports in error message why the regexp does not compile but throws away position number where the error was detected.
regexp_compile() can be improved to report position, e.g.

\ at end of pattern at position 11

in case

/home/zabbix40/ZBX-15090/test.log.*\

was given as the first parameter to logrt[].
However this requires adding deallocation of error messages in callers (currently regexp_compile() returns pointer to error message in static memory).





[ZBXNEXT-3214] Agent should not perform passive check if connection has been already closed Created: 2016 Mar 24  Updated: 2019 Mar 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: agent, connections, network, passive, queue
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In a situation when agent is being intensively polled by various servers, proxies and zabbix_get commands (at a rate which exceeds number of listeners / time per check) a queue of connections to be accepted builds up. This means that listeners will accept connections when some fraction of the server/proxy/zabbix_get timeout has already passed and this will make it even harder for them to keep up.

Problem can escalate uncontrollably and soon listeners will accept connections that have been timed out on server/proxy/zabbix_get side, will perform a check nobody has interest for and will attempt to send back a result nobody is waiting for.

Currently agent does not check if connection has been closed by peer and it takes a very long time to go through awaiting connection queue. In very severe cases only agent restart can help.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Mar 29 ]

Theoretically, if poller does not get response it hands problematic host to unreachable poller. And the latter has a very mild polling regime which should help prevent connection queueing. But if the host has active checks working fine Zabbix will assume that host is reachable again and proceed with populating passive check queue. Perhaps "passive" and "active" availability should be treated separately.

Comment by Aleksandrs Saveljevs [ 2016 Mar 29 ]

According to https://www.zabbix.com/documentation/3.0/manual/appendix/items/unreachability , "Zabbix agent active checks do not influence host availability in any way".

Comment by Glebs Ivanovskis (Inactive) [ 2016 May 13 ]

There is a symmetrical scenario when server's or proxies' trappers are intensively bombarded by active agents, active proxies, zabbix_sender and frontend. Similarly, a queue of connections builds up and after a while trappers accept connections which have already been closed by sending part.

Comment by richlv [ 2019 Mar 17 ]

But if the host has active checks working fine Zabbix will assume that host is reachable again and proceed with populating passive check queue.

Does this mean that the documentation should be fixed as well?





[ZBXNEXT-3066] Validate time stamps when receiving data from active agent/proxy, sender Created: 2015 Dec 08  Updated: 2015 Dec 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: proxy, sender, server, trapper, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Sending in item values and their collection times via Zabbix sender is a cool feature. But Unix time stamp format is a bit tricky for human beings and it is easy to get it all wrong.

Currently Zabbix server uses standard atoi() function to convert received time stamp strings to int. This function does not check for any kind of error.

My suggestion is to validate received time stamps stricter. At least we may want to assure that received clock

  • is a valid numeric value,
  • is not negative,
  • does not overflow int type we use in zbx_timestamp_t,
  • does not correspond to a time moment from (distant) future.

Maybe we should make validation rules even stricter (let say, server should reject items from distant past) but user should be able to override these extra checks with a special flag to Zabbix sender.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Dec 08 ]

Initially it was discussed in ZBXNEXT-3055.





[ZBXNEXT-3098] foreground processes should detect whether they have a user-controlled terminal Created: 2016 Jan 14  Updated: 2016 Jan 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: foreground, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File console-output.patch     PNG File console-output.png    

 Description   

Feature request ZBXNEXT-611 adds support for running processes in foreground. This opens some interesting opportunities for user interaction.

For instance (quoting from (14) from ZBXNEXT-611), some programs like "ls" provide "--color" option:

      --color[=WHEN]         colorize the output; WHEN can be 'never', 'auto',
                               or 'always' (the default); more info below

Using color to distinguish file types is disabled both by default and
with --color=never.  With --color=auto, ls emits color codes only when
standard output is connected to a terminal.  The LS_COLORS environment
variable can change the settings.  Use the dircolors command to set it.

We can do similarly and only output the following message if we are connected to a user-controlled terminal:

if (0 != (flags & ZBX_TASK_FLAG_FOREGROUND))
{
	printf("Starting Zabbix Server. Zabbix %s (revision %s).\nPress Ctrl+C to exit.\n\n",
			ZABBIX_VERSION, ZABBIX_REVISION);
}

Also, as wiper suggested, we can colorize console output, like so:

Idea by sasha is that we can colorize based on message severity level instead.



 Comments   
Comment by Aleksandrs Saveljevs [ 2016 Jan 14 ]

"console-output.patch" is a patch for the example picture.

Comment by richlv [ 2016 Jan 14 ]

...or assign random colours to all processes and use the same colour for all messages from the same pid. would make it easier to see how process messages flow.

a nice bikeshedding issue this will be





[ZBXNEXT-3023] Windows Eventlog LLD Created: 2015 Oct 27  Updated: 2016 Nov 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.4.6
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: eventlog, lld, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Beside standard eventlogs like security, system, application and others, applications can create their own eventlog categories thus it might not always be clear which eventlogs are available on a Windows system.

It might prove useful to be able to use an LLD discovery to automatically populate the eventlog monitoring items with the available eventlogs.



 Comments   
Comment by Raymond Kuiper [ 2016 Sep 09 ]

I think this might be solved by the new 3.2.x log monitoring?

Comment by Oleksii Zagorskyi [ 2016 Sep 09 ]

hmm, what exactly new in 3.2 do you mean?

Comment by Raymond Kuiper [ 2016 Nov 22 ]

Never mind, I misinterpreted Alexei's presentation on Zabbix 3.2.





[ZBXNEXT-3026] limited system.run / remote commands Created: 2015 Oct 28  Updated: 2015 Dec 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: remotecommands, system.run
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

zabbix executes remote commands by calling a special key, system.run. on the agent side, remote commands can be either fully enabled or disabled.

it would be useful to allow specifying 'allowed commands for system.run' - that way, one could use remote commands while still limiting the agent and not allowing to run any command at all.



 Comments   
Comment by Aleksandrs Saveljevs [ 2015 Oct 28 ]

Related issue for other agent items: ZBXNEXT-1085.

Comment by Oleksii Zagorskyi [ 2015 Oct 29 ]

I could suggest to use user parameters, but there need to remember about Timeout.
Aliases .... with system.run[command,nowait] could be solution but it will force to use "zabbix_get -k alias-key ..." as a remote command in zabbix frontend, play with targeted host, IP permissions if execute on agent locally which is not very user friendly

So they both are not very suitable as a workaround.

Comment by richlv [ 2015 Dec 07 ]

userparameters also can not be used for remote commands natively, some hackish zabbix_get implementation would have to be used as well.
as for aliases, wouldn't they require enabling remote commands, thus hitting the same problem about inability to limit system.run ?





[ZBXNEXT-3015] Bad performance of vfs.file.reg* functions on /proc/net/tcp Created: 2015 Oct 20  Updated: 2015 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.10
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Parsing resp. seeking the psudo file /proc/net/tcp is significant more time consuming in comparison to seeking a regular file. Possibly this applies to other pseudo files as well.

See _llseek

# ./test.sh
cat test.sh
wc /proc/net/tcp
strace -qfc zabbix_agentd -t 'vfs.file.regexp[/proc/net/tcp,"foobar"]' 2>&1 | head
cat /proc/net/tcp > /tmp/tcp
strace -qfc zabbix_agentd -t 'vfs.file.regexp[/tmp/tcp,"foobar"]' 2>&1 | head
1039 14918 155850 /proc/net/tcp
vfs.file.regexp[/proc/net/tcp,"foobar"]       [m|ZBX_NOTSUPPORTED] [Timeout while processing item.]
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 66.21    1.598514         812      1969         1 _llseek
 33.65    0.812428         769      1056           read
  0.13    0.003046         762         4         1 waitpid
  0.01    0.000121           2        76         1 open
  0.00    0.000093           0       984           clock_gettime
  0.00    0.000081           1       154           mmap2
  0.00    0.000031           1        54           rt_sigprocmask
vfs.file.regexp[/tmp/tcp,"foobar"]            [s|]
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 81.72    0.002615         654         4         1 waitpid
  8.22    0.000263           0      1134           read
  3.72    0.000119           0      2124         1 _llseek
  3.31    0.000106           1       153           mmap2
  1.28    0.000041           1        76           fstat64
  0.75    0.000024           0      1061           clock_gettime
  0.59    0.000019           0        76         1 open


 Comments   
Comment by richlv [ 2015 Oct 21 ]

most likely an operating system level thing - or are there some suggestions about what to change at the zabbix agent side ?

Comment by Marc [ 2015 Oct 21 ]

As briefly discussed on IRC the assumption came up that it might be caused by the way pseudo files could work.
If the content of a pseudo file gets generated on demand when opening the file, then this will happen for every lseek(), while a regular file is likely static and will not cause any compute on subsequent seeks.

[...] one conjecture might be that /proc/net/tcp is generated on the fly when one accesses it. So when we lseek(), we lseek() to a virtual content that is constantly changing. Whereas a regular file does not change. [...]

[...] if we have already read the file up to X and then seeked to Y, where Y is less than X, it might be that the system needs to generate the content for [0..Y] again from scratch when we read from Y. [...]

See IRC channel log from October, 20th 2015 (and seek to 11:20 )

Comment by richlv [ 2015 Oct 21 ]

sure, but what could be fixed/improved on the zabbix side then ?
as in, what specifically does this issue ask for ?

Comment by Marc [ 2015 Oct 21 ]

Admittedly I've no clue how to improve the performance in a decent way - without complicating things.
This issue has been created because being encouraged to do so:

[...] most likely Zabbix agent can be improved to work much faster with /proc/net/tcp. Why not create a ticket and see how many users vote for it ?

However, feel free to close it as my personal ambition is rather in direction of ZBXNEXT-2083

Comment by richlv [ 2015 Oct 21 ]

ok, let's wait for a comment from asaveljevs then

Comment by Aleksandrs Saveljevs [ 2015 Oct 22 ]

Well, performance-wise, vfs.file.reg* can be improved. As I read VFS_FILE_REGEXP() function in src/libs/zbxsysinfo/common/file.c and zbx_read() in src/libs/zbxcommon/file.c, then zbx_read() is not very efficient, especially in the case of /proc/net/tcp - on each call it reads up to 64 kB of data, only to keep the first line and discard the rest of the data. In other words, it reads up to 64 kB of data for each line, which can be quite a lot if there are many TCP connections. Also, in zbx_read() we use two lseek() calls - maybe we could do with one, by going back that many bytes as we have discarded in the end. Maybe we could even do with no lseek() calls - manual line parsing in zbx_read() is only useful when an exotic encoding is specified. With regular "\r" and "\n", we could probably just use fgets() or similar.

Alternatively, we have a special function, proc_read_file(), to read files from /proc into memory, like in NET_TCP_LISTEN() in src/libs/zbxsysinfo/linux/net.c. We could use that here, too, for reading /proc files, however, that would require a separate logic for processing /proc files - not something we would want.

In any case, even if we improve performance in this case, vfs.file.reg* is not the best way to read /proc/net/tcp due to reasons described in ZBX-6790.

So yes, I think that performance of zbx_read() can be a bit improved, but ZBXNEXT-2083 is a much better solution for your use case.





[ZBXNEXT-3843] Swap usage graph/reports show the wrong thing Created: 2017 May 02  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: 3.2.5
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Josh Soref Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: frontend, graphs, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I have a team of people using Zabbix, we occasionally get reports about swap usage being too high (it's a good report, there is a real problem).

So they go to the standard Swap usage graph.

It shows two things:
1. Template OS Linux: Total swap space = system.swap.size[,total]
2. Template OS Linux: Free swap space = system.swap.size[,free]

But, with a title of "Swap usage", what it should show is:
1. Template OS Linux: Total swap space = system.swap.size[,total]
2. Template OS Linux: Used swap space = system.swap.size[,used]

Except, there's no such value ([,used]) in the system.

Expected:
1. system.swap.size[,used] as a thing
2. the template(s) should be switched to use that.

It would be nice if there was a workaround. In theory if Zabbix allows for calculated values, one could calculate system.swap.size[,total] system.swap.size[,free] – and this could be a nice demo of that if it's supported. (If it isn't supported, someone should feel free to create a ticket asking for this.)



 Comments   
Comment by Josh Soref [ 2017 May 03 ]

I think I was able to create a calculated item for this, and I'm crossing my fingers, but I'd definitely encourage Zabbix to include it.

Comment by richlv [ 2017 May 03 ]

is this only about graph title, or is there a use for having a built-in "used" ?

Comment by Josh Soref [ 2017 May 03 ]

Having spoken w/ people, the only reason it makes sense to graph "total" is with "used", otherwise you should just graph available.

If you graph total + available, then you don't get any precision from looking at a small time interval, because it always zooms to the value of total. And since the line is going to be fixed 99% of the time (technically you can add swap), the total line is just a distraction. You could rename the graph "Swap remaining" and remove the "total" line, but...

I think it's better to:
1. Add "used" as a value
2. Change the graph to show total + used.
With this, you can see the amount of swap used as it grows to total, which makes logical sense – the used space is growing and approaching its limit.

Comment by Josh Soref [ 2017 May 04 ]

fwiw, this is how to create the item I'm looking for:
Name: "Used swap space"
Type: "Calculated"
Key: "system.swap.size[,used]"
Formula: last("system.swap.size[,total]") - last("system.swap.size[,free]")
Type of information: Numeric (unsigned)
Data type: Decimal
Units: B
Update interval (in sec): 60
History storage period (in days): 7
Trend storage period (in days): 365
Store value: As is
Show value: As is
Applications: Memory

Comment by Josh Soref [ 2017 May 04 ]

Turns out that one can simply add system.swap.size[,used] as a Zabbix agent item instead of using calculated.





[ZBXNEXT-3845] Interaface 1 Created: 2017 May 03  Updated: 2017 May 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.5
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: rodrigo grion Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[ZBXNEXT-3428] New item key for retrieving filesystem type of mounted filesystem Created: 2016 Sep 09  Updated: 2017 May 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.0
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: items, newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix Filesystem LLD returns the {#FSTYPE} for mounted filesystems.
However, there is currently no way to retrieve this data in an item.

This is however very useful for checking things like alerting on free inodes as not all filesystem types use inodes. There might be other applications also.

I suggest adding a new vfs.fs.type[] item that can be used to retrieve a string value of the filesystem type.



 Comments   
Comment by Naruto [ 2017 May 19 ]

The lack of this feature is a time consumer in everyday's support.
There are many filesystem types, that are not included in the standard regular expression.
If you don't have remote commands enabled for the agent, you can only guess what type of filesystem the missing ones are.





[ZBXNEXT-3084] Change default "mode" parameter to "skip" for log items Created: 2016 Jan 06  Updated: 2016 Jan 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Documentation (D)
Affects Version/s: 2.2.11, 2.4.7
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Kodai Terashima Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: logmonitoring, newitemkey, skip
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Sometimes I forgot to add skip parameter for log, logrt, eventlog items, it makes database performance problem.

Changing default "mode" parameter to "skip" for log items helps to prevent sending unnecessary alert, growing up database size and performance problem.



 Comments   
Comment by Oleksii Zagorskyi [ 2016 Jan 21 ]

Worth to mention related discussion, to make the topic more clear - ZBX-9918

I could support this request. It should affect only agent and documentation components.
Question is - should we remove the "skip" from all related keys in database by upgrade patches - I'm not sure here as zabbix agents in network may be upgraded randomly and much later after server upgrade.

If we will be ready to go for such changes (major release only I suppose), what I'd also suggest is to add one more mode - "skipold".
Taking into account the ZBX-9918 discussion I mentioned, it should always skip existing log parsing on agent start.
Some zabbix users really want to have such a mode for log* items.

kodai I think new skip logic seems bug for users. Probably they worry about Zabbix miss to detect error messages by restarting agent. "skipold" parameter is bit confusing for me, for example it's hard to understand "what is OLD behaviour" for new users. so I think it's better to back to old logic.

zalex_ua name for the new additional parameter cold be different. Initially I thought about "skipalways".
I'm not sure you correctly understand how "skip" is working currently - agent restart does't skip existing log messages if the item collected values earlier.





[ZBXNEXT-717] send and use all ip addresses agent might have in listenip Created: 2011 Mar 24  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 1
Labels: multipleinterfaces
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when active agent is auto-registering and has multiple ip addresses listed in listenip directive, it would be nice to send all of them to the server and add as multiple interfaces. first ip address probably would be set as the main one.






[ZBXNEXT-729] Allow Solaris to have pfree for vm.memory.size[] Created: 2011 Apr 06  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Brad Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zbxnext-729.diff    

 Description   

Solaris agent does not have a percentage free option.

Upon looking into it, lifted most of the code from src/libs/zbxsysinfo/linux/memory.c






[ZBXNEXT-3715] one-click setup of agent/proxy encryption Created: 2017 Feb 22  Updated: 2017 Feb 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Proxy (P)
Affects Version/s: 3.2.3
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: encryption
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

zabbix now has psk/certificate encryption. it is somewhat tedious to set up in most cases, though.

it would be nice to have a one-click setup for the encryption of agent/proxy.
it might rely on remote command execution in the agent (and something else in the proxy), and would set up the same psk for that agent/proxy in the server and on the target box.

it could be argued that the initial setup would not be safe (performed over an unencrypted and mostly unauthenticated connection), but it could be considered a reasonable tradeoff.

it does go in the system management category a bit, though - a more proper way would be to use config mgmt tool for this task, but an easier built-in way would increase the adoption of the encryption.






[ZBXNEXT-3514] Number of low level discovered items Created: 2016 Oct 27  Updated: 2021 Sep 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.2.1
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Mickael Martin (Cyres) Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

any



 Description   

Hi,

If I want to monitore LLD, I have only one or two solutions actually :
I can obtain the state of the LLD (supported or not) and the number of objects on my host but not specify for one LLD.
I cannot have an alert if a new object has been discovered or disappeared, only the number object on my host...
It would be great an key like "vfs.fs.discovery.count" on the agent for example (return the number of objects in json array) or maybe more like "vfs.fs.discovery.log" with an event like

"Discovered object : {"{#FSNAME}":"/new","{#FSTYPE}":"rootfs"}"

or

"Disappeared object : {"{#FSNAME}":"/old","{#FSTYPE}":"rootfs"}" 

So, I can detect new filesystem, new up interface on my switch (with a filter).



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Oct 27 ]

I cannot see how suggested vfs.fs.discovery.log can be implemented on the agent side, but perhaps server can generate events when it processes discovery rule and creates/updates/deletes/... entities so that corresponding actions can be configured.

Comment by Mickael Martin (Cyres) [ 2016 Oct 27 ]

Yes, If the agent doesn't have a cache with arrays of discovery, it cannot make a log about this. I don't know how the agent works with LLD.
For the log, maybe with an internal check and with macro of item.id of the discovery...
Thanks for reformat of my request.

Comment by Marc [ 2016 Oct 27 ]

When it's just about noticing such cases, then one possibility could be extending internal events - what is to a certain extend also requested by ZBXNEXT-1790.

Comment by Aleksandrs Saveljevs [ 2016 Oct 31 ]

Potentially useful related features:

  • the ability to count the number of times a substring appears in a text value (e.g., count "{#FSNAME}" in JSON)
  • the ability to get a readable diff between two text values (e.g., diff between the previous JSON and the current JSON)

None of these seem to have a dedicated ZBXNEXT currently, so feel free to register them if you find them useful.

Comment by Glebs Ivanovskis (Inactive) [ 2016 Oct 31 ]

Also, I had a thought that perhaps we could mark newly created or recently updated LLD entities in the frontend like we currently do with lost ones. With ability to filter by this "status" and some additional info popup on mouseover.

Comment by Mickael Martin (Cyres) [ 2016 Nov 02 ]

I think all discoveries must have an auto-generate item (as web scenario's items) like zabbix[host,,discovery,<discoveryid>,log] when the discover has been added in the host. zabbix[host,,discovery,<discoveryid>,count] can be count the number of discover array objects. These two items can be generate by the server : zabbix server only know the filter of the discovery.

Comment by Alexei Vladishev [ 2020 Mar 05 ]

Just take advantage of JSONPath's length() function. You need something similar to ".data.length()".

Comment by Mickael Martin (Cyres) [ 2020 Mar 05 ]

Thank for this workaround.

Comment by Damon Hagerstrom [ 2021 May 09 ]

Was there any real resolution to this?

I am trying to do something similar from SNMP data.

Monitoring network switch via SNMP gives me all the interfaces statistics but so far as I can tell there is no simple way to tell me how may interfaces are "up" or how many have been discovered total.

Comment by Mickael Martin (Cyres) [ 2021 May 21 ]

My solution :

  • "regular item 1 with json discovery string" linked with "LLD depends on 1" linked with "discovered items"
  • "regular item 1 with json discovery string" also linked with "regular item unsigned depends on 1" with obj = JSON.parse(value);return Object.keys(obj).length; as preprocessing step
Comment by Damon Hagerstrom [ 2021 May 22 ]

There seems to be a lot of somewhat complicated "solutions" to a problem which can be solved using the NetSNMP library command "snmpwalk -Cp"

Comment by Alexei Vladishev [ 2021 May 22 ]

I hope a better solution that works for items of any types will be implemented under ZBXNEXT-1420

 

Comment by Damon Hagerstrom [ 2021 Sep 02 ]

Hi All,

I spent a fair amount of time on this and found a super easy solution (not saying that this doesn't need to be resolved in the front end though)

In your template or on your host, create an item (not a discovery rule, item prototype, just a normal, fixed item), but in the OID field use a discovery OID.

In preprocessing, use a javascript to create an array on the returned text, split on the comma, then use array.length / 2 (because the returned array contains the SNMPINDEX and the OID value pair). Job done, this item now runs a discovery rule and the preprocessing converts it to an int value.

OID field example:
discovery[

{#STACONNECTED}

,1.3.6.1.4.1.14988.1.1.1.9.1.2]

Java script example:
myArr = value.split(",");
value = myArr.length;
value = value/2;
return value;

I always assumed that you could only use a discovery OID in a discovery rule however it was impossible to get the desired result that way.





[ZBXNEXT-3110] Updated freebsd RC script from zabbix agent Created: 2016 Jan 22  Updated: 2016 Jan 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.4.7
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: chris scott Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: freebsd, init.d, rc.d, startup
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

freebsd systems


Attachments: File zabbix_freebsd_rcd.tgz    

 Description   

Two issues

1. Currently the freebsd rc.d script to start the agent has the config file hardwired in. This is not ideal as when you are managing a heterogeneous enviroment you have to remember where the config file its stored on that particular OS. It would be nice to have a fixed location common to all unix OS's. eg /opt/zabbix/etc/agentd.conf or similar. There is no way to do this on freebsd without hacking the startup script. Linux you can through /etc/sysconfig

2. There is no ability to run a pre script before the agent is started. On RHEL linux you can do this easily with the /etc/sysconfig stuff. It is useful to be able to this as you can standardize the format of things like hostname or programatically determine things like bind interfaces. Therefore please considers the following replacement to the freebsd rc.d script.

Default operation shouldn't be altered. However if you define

#!/bin/sh

# PROVIDE: zabbix_agentd
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to
# enable zabbix_agentd:
#
# zabbix_agentd_enable (bool): Set to NO by default.  Set it to YES to
#         enable zabbix_agentd.
#


. /etc/rc.subr

name="zabbix_agentd"
rcvar=zabbix_agentd_enable
start_precmd="zabbix_precmd"
required_files="/usr/local/etc/zabbix24/zabbix_agentd.conf"


# read configuration and set defaultsc
load_rc_config "$name"
: ${zabbix_agentd_enable="NO"}
#: ${zabbix_agentd_pre:=/usr/local/etc/zabbix24/${name}.pre.sh}


if [ ! -z "$zabbix_agentd_conf" ] ; then
        zabbix_agentd_flags="${zabbix_agentd_flags} -c ${zabbix_agentd_conf}"
        required_files=${zabbix_agentd_conf}
fi

zabbix_precmd()
{
        if [ ! -z "$zabbix_agentd_pre" ] ; then
                if [ -e $zabbix_agentd_pre ] ; then
                        . $zabbix_agentd_pre
                fi
        fi

}


command="/usr/local/sbin/${name}"


run_rc_command "$1"

here is the diff

# diff zabbix_agentd zabbix_agentd.old
13a14
>
17a19,20
> start_precmd="zabbix_precmd"
> required_files="/usr/local/etc/zabbix24/zabbix_agentd.conf"
19,22d21
< command="/usr/local/sbin/${name}"
< required_files="/usr/local/etc/zabbix24/${name}.conf"
<
< load_rc_config $name
23a23,24
> # read configuration and set defaultsc
> load_rc_config "$name"
24a26,46
> #: ${zabbix_agentd_pre:=/usr/local/etc/zabbix24/${name}.pre.sh}
>
>
> if [ ! -z "$zabbix_agentd_conf" ] ; then
>       zabbix_agentd_flags="${zabbix_agentd_flags} -c ${zabbix_agentd_conf}"
>       required_files=${zabbix_agentd_conf}
> fi
>
> zabbix_precmd()
> {
>       if [ ! -z "$zabbix_agentd_pre" ] ; then
>               if [ -e $zabbix_agentd_pre ] ; then
>                       . $zabbix_agentd_pre
>               fi
>       fi
>
> }
>
>
> command="/usr/local/sbin/${name}"
>
26a49
>


 Comments   
Comment by chris scott [ 2016 Jan 22 ]

Sorry forgot to say all the user has to do is define these two variables in their rc.conf files

zabbix_agentd_pre=<location of pre script>
zabbix_agentd_conf=<location_of_config>

not setting them results in standard behaviour

Comment by chris scott [ 2016 Jan 22 ]

files also attached





[ZBXNEXT-3105] Task Manager of cached calculation has changed From Windows Server 2008 and Windows Vista. Created: 2016 Jan 21  Updated: 2016 Jan 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Kazuo Ito Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: memory, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

This is the information of MSDN.

Memory Performance Information



 Comments   
Comment by Aleksandrs Saveljevs [ 2016 Jan 21 ]

Could you please elaborate a bit on how this change affects Zabbix?

Comment by Kazuo Ito [ 2016 Jan 21 ]

Zabbix the calculation of the cached of Windows uses SystemCache of PERFORMANCE_INFORMATION.

zabbix-3.0.0beta1\src\libs\zbxsysinfo\win32\memory.c

	if (NULL != mode && 0 == strcmp(mode, "cached"))
	{
		if (NULL == zbx_GetPerformanceInfo)
		{
			SET_MSG_RESULT(result, zbx_strdup(NULL, "Cannot obtain system information."));
			return SYSINFO_RET_FAIL;
		}

		zbx_GetPerformanceInfo(&pfi, sizeof(PERFORMANCE_INFORMATION));

		SET_UI64_RESULT(result, (zbx_uint64_t)pfi.SystemCache * pfi.PageSize);

		return SYSINFO_RET_OK;
	}

In the case of Windows Server 2008, Windowos Vista.
cached of Task Manager and vm.memory.size[cached] do not match.

Comment by Aleksandrs Saveljevs [ 2016 Jan 21 ]

Thank you!





[ZBXNEXT-1585] Add ServerItem and ServerActiveItem to zabbix_agentd.conf Created: 2013 Jan 18  Updated: 2013 Dec 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.0.4
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Simon Matter Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: flexibility, patch, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zabbix-2.0.4-agent_config_item.patch    

 Description   

I wanted to define Server and ServerActive the same way as it's possible with HostnameItem. The main reason is that I'd like to configure Server as hostname somehow instead of IP address - but without the need to run nscd on the local host or add the host to /etc/hosts or make the agents flood the dns server with requests. With the ServerItem option, I can just call a script which resolves the hostname at agent startup time or any other way. Attached patch makes this possible and keeps things flexible and in line with HostnameItem.






[ZBXNEXT-773] Item key for sysctl vars Created: 2011 May 04  Updated: 2017 Jan 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Pavel Timofeev Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All unix
????? Unix



 Description   

????????????! ? ?????? ?? ?? ?????????? ? ?????? ? ??????? ????? key ??? item, ??????? ??? ?? ???????? ???????? ????? ?????????? sysctl?
??????? ??? ? ??????? sysctl.var[]
??????? ?????????? sysctl ?????????? kern.sched.name (??? ????? ??????) - ?????? ? ????? item`? ???? sysctl.var[kern.sched.name] ? ???.
? ???? ??? UserParameter, ?? ???? ??? ???? ???????!
??? ?? ????????? ? ?????? ????, ??? ??? ???????!
______________________________
How can I monitor some sysctl parameter by Zabbix?
Does Zabbix have item key for this operation?
It seems to me it doesn't. What about adding this feature to Zabbix?
for example, item key sysctl.var[foo]
I'm not talking about UserParameter.



 Comments   
Comment by Pavel Timofeev [ 2012 Jan 30 ]

sysctl -n as a basic?

Comment by Steve mushero [ 2012 May 23 ]

We would LOVE this - we have a custom check that does this for us now, as we have to be able to read /proc or sysctl to get conntrack_count vs. max for example, plus many other things.

Actually would like to get any sysctl item which should be quite easy, and later to read any /proc or /sys file (our custom check does this for more complex things like TCP mem pressure which you can't get from sysctl; we can get anything from any file in /proc by name, row, col or regex)

Comment by Alexei Vladishev [ 2012 Nov 27 ]

What OS you are mostly interested in?

Comment by Evgeny [ 2012 Nov 27 ]

Freebsd would be great.

Comment by Pavel Timofeev [ 2012 Nov 28 ]

FreeBSD, yes

Comment by Marcel Hecko [ 2013 Jan 13 ]

I can probably inmplement this for linux as a proof of concept an you can test it for FreeBSD?!

Comment by Marcel Hecko [ 2013 Jan 14 ]

It is highly discouraged to use sysctl on Linux. use /proc/sys instead.

Comment by Marcin Gryszkalis [ 2017 Jan 19 ]

most of system checks in agent are implemented via sysctl, so generic sysctl test shouldn't be hard. I'll look into it.

./src/libs/zbxsysinfo/freebsd/memory.c: ZBX_SYSCTLBYNAME("hw.physmem", totalbytes);
./src/libs/zbxsysinfo/freebsd/memory.c: ZBX_SYSCTLBYNAME("vm.stats.vm.v_active_count", activepages);
./src/libs/zbxsysinfo/freebsd/memory.c: ZBX_SYSCTLBYNAME("vm.stats.vm.v_inactive_count", inactivepages);
./src/libs/zbxsysinfo/freebsd/memory.c: ZBX_SYSCTLBYNAME("vm.stats.vm.v_wire_count", wiredpages);

./src/zabbix_agent/cpustat.c: if (-1 == sysctlbyname("kern.cp_time", &cp_time, &nlen, NULL, 0) || nlen != sizeof(cp_time))





[ZBXNEXT-787] Key net.tcp.service[ldap] not supported for the windows agent. Created: 2011 May 16  Updated: 2013 Jul 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: item, ldap, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

I figured out that key "net.tcp.service[ldap]" uses OpenLDAP library for working. Of course Windows hasn't this library, and as result this key is not supported for windows agent.

I think this should be documented.



 Comments   
Comment by richlv [ 2011 May 16 ]

bug - documentation should be amended.
feature - support by the windows agent (once bug has been fixed, this should be moved over to zbxnext)

Comment by Oleksii Zagorskyi [ 2011 May 16 ]

I'm not sure does it make sense to support this key for windows agent, and even whether it is possible or not.
I think amending documentation is enough.

Comment by Aleksandrs Saveljevs [ 2011 May 17 ]

Documentation has been updated to say that LDAP checks are not supported by Windows agent.

Regarding the theoretical possibility for LDAP checks to be supported by Windows agent, we currently build it with "/D HAVE_WINLDAP_H" and link with "Wldap32.lib". So apparently in the ancient times of Zabbix there was an intention to support LDAP on Windows. Henceforth, I am moving this issue to ZBXNEXT, as Rich proposed.





[ZBXNEXT-2752] Add an option to redirect stderr errors to eventlog on Windows Created: 2015 Mar 19  Updated: 2015 Mar 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Andris Zeila Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: eventlog, logging, stderr
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows



 Description   

Until agent opens log file all critical errors are written into standard error output (stderr). When started as a service those messages are lost and debugging the error is quite problematic.

The idea is to use eventlog for critical messages if agent has been started as a service. However detecting if agent has been started as a service is another problem.The simplest solution would be to add a command line parameter that would redirect to eventlog all error messaes originally written to stderr. When installing itself as service agent would automatically add this parameter to service launch parameters.



 Comments   
Comment by Andris Zeila [ 2015 Mar 23 ]

(1) also the -m command line parameter should be accepted only when working with services (-i, -d, -s, -x options).





[ZBXNEXT-2326] net.if.discovery omits interfaces inside IPMP group on Solaris Created: 2014 Jun 02  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dmitry Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: interfaces, lld, solaris
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Solaris 11.1 (SPARC, i86pc)


Issue Links:
Duplicate

 Description   

net.if.discovery omits network interfaces without ip-addresses, which still may transmit network traffic. This is possible when such interface is included in IPMP group (IP network multipathing).






[ZBXNEXT-1781] Support for kernel.maxfiles and kernel.maxproc for HP-UX (patch included) Created: 2013 Jun 06  Updated: 2013 Jul 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.0
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andrej Kacian Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: hp-ux, newitemkey, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

HP-UX 11.31


Attachments: File zabbix-hpux-maxfiles-maxproc-v1.diff    

 Description   

Attached patch adds support for kernel.maxfiles and kernel.maxproc items on HP-UX platform. the two items return values of "maxfiles" and "nproc" kernel tunables. This should work on all currently supported HP-UX versions.

Note that "maxfiles" tunable on HP-UX is just a soft limit - process can increase it within its environment if it needs to, up to value specified by "maxfiles_lim" tunable). This could be handled by introducing parameter to kernel.maxfiles item - either kernel.maxfiles[soft] (default), or kernel.maxfiles[hard].
Attached patch doesn't do this. If it is desired I can implement it in the future.






[ZBXNEXT-883] Tail / head modes for vfs.file.contents Created: 2011 Aug 10  Updated: 2015 Dec 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andy Shinn Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: agent, head, tail, vfs.file.contents
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be neat if vfs.file.contents[] had some arguments for mode and lines. For example, default could be vfs.file.contents[<file>,<encoding>,<mode>,<lines>] where mode is 'all' by default. Mode could be something like 'head' or 'tail' and then <lines> could specify the number of lines to gather.

This would be useful when triggering on a size increase or md5sum of a file to include the last line of the file in the action message using item vfs.file.contents[/var/log/my_log_file,utf8,tail,1] to get the last line of the file triggering. Hope someone else may have interest in this also.



 Comments   
Comment by Andy Shinn [ 2011 Aug 10 ]

Original forum post is at http://www.zabbix.com/forum/showthread.php?p=87852

Comment by Gilles Martin [ 2015 Dec 23 ]

I think it would be quite useful indeed when checking big files, specially as this function is limited to 64KB files.





[ZBXNEXT-6446] Zabbix Agent (Windows) - Server Role Detection Created: 2021 Jan 18  Updated: 2022 Jun 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Shane Arnold Assignee: Alex Kalimulin
Resolution: Unresolved Votes: 0
Labels: agent, discovery, features, roles, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

One of the most useful features of other monitoring solutions is their ability for the Agent to collect data at first-run to detect installed Windows features (Connectwise Automate for example).

Without a CMDB, and in large, distributed, non-SOE environments (i.e many SMB/SME), it's not simple to detect and assign Templates based on installed Windows Features or Roles. Currently, I would have to create a discovery rule for each "network" to scan for a running process or other data, then assign a template based on that detection. If I wanted to look for 6 roles, I would need 6 discovery checks x number of discovery rules.

The ability to look for installed Windows roles, and assign a template accordingly, would be excellent.

If there's an easier method than the example I've given above, I'd love to read about it.






[ZBXNEXT-2590] Logging of slow queries just like MySQL do for UserParemeter Created: 2014 Nov 12  Updated: 2014 Nov 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Paweł Różański Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I noticed that some of my UserParameter values take a long time to be retrived. One example could be checking version of chef software, which was done by trivial:
UserParameter chef.version,chef-client -v
I found it took over 15 seconds on some machines (I use timeout 15).
It would be nice to set a threshold above which execution of parameter (user defined and build in) are logged (just like slow queries on MySQL), but not terminated yet.



 Comments   
Comment by richlv [ 2014 Nov 12 ]

this would be great to have also for snmp items, ipmi items, external checks...

to clarify, usefulness would be to expose slowness before we start losing data





[ZBXNEXT-2427] Runtime log level changing must be supported also by the main process Created: 2014 Aug 29  Updated: 2016 Sep 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 2.3.4
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andris Zeila Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: debugging, logging, runtimecontrol
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-11297 Runtime log level increase/decrease c... Closed

 Description   

Runtime log level changing (ZBXNEXT-101) affects only Zabbix child processes. But sometimes it could be useful to change log level also for the main process.

keywords: main process debug log level runtime change



 Comments   
Comment by Andris Zeila [ 2014 Aug 29 ]

(1) from ZBXNEXT-101.23

We now have the following structure:

typedef struct
{
	int		server_num;
	int		process_num;
	unsigned char	process_type;
	void		*args;
}
zbx_thread_args_t;

This has "server", "process" and "thread", words that almost contradict each other. There is probably little we can do regarding "process" and "thread" - those are already rooted in our code.

However, the "server_num" field is new and makes no sense on the agent. Perhaps, "global_num" would be better?

Also, perhaps we could replace the following repetitive code with a single call to, say, zbx_thread_unpack_args(args, &global_num, &process_num, &process_type)?

process_type = ((zbx_thread_args_t *)args)->process_type;
server_num = ((zbx_thread_args_t *)args)->server_num;
process_num = ((zbx_thread_args_t *)args)->process_num;

wiper I was thinking about creating a single entry function for all process (worker) threads, which would handle args, log the '<binary> started> message and then call the specific entry function (also passed with args). I even started to implement it, but then ran into dependency problems and decided to back off.





[ZBXNEXT-2035] Make Zabbix Agent immune to OOM killer. Created: 2013 Nov 20  Updated: 2013 Nov 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Oleg Ivanivskyi Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: memory
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Attachments: File zabbix-agent.patch    
Issue Links:
Duplicate

 Description   

It would be very useful to make Zabbix Agent immune to the Linux oom_killer, as it would allow the agent to keep collecting and sending data to the server, even when the monitored hosts are running out of memory.
It could be as simple as adding a line to the startup (init.d) script which would set the oom score value of -17 on /proc/PID/oom_adj or -1000 for /proc/PID/oom_score_adj (/proc/PID/oom_adj is being deprecated).

The following link provides some information on how these two files are used: https://www.kernel.org/doc/Documentation/filesystems/proc.txt (section 3.1)

Attached is a proposed solution for modifying the init script (tested and working on CentOS 6.4).



 Comments   
Comment by richlv [ 2013 Nov 20 ]

interesting request... i'd expect most users to want the opposite - to have their production system processes keep on running, and better let agent to be killed

i'd say we should document this possibility in the manual, but i don't think we will include this in the default distribution in any way

Comment by Oleg Ivanivskyi [ 2013 Nov 20 ]

We'll see (https://www.zabbix.com/forum/showthread.php?t=43243).





[ZBXNEXT-5193] zabbix_agentd.exe should look for config file in the same folder Created: 2019 Apr 25  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Vitaly Zhuravlev Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: agent, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2019-04-25-11-35-06-017.png    

 Description   

1. zabbix_agentd.exe should look for config file in the same folder where binary is located.

Current default doesn't look useful: C:\zabbix_agent.exe

 






[ZBXNEXT-5194] zabbix_sender: add new option, It should look for config file in the default config location Created: 2019 Apr 25  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Vitaly Zhuravlev Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: zabbix_sender
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Consider to add new option for zabbix_sender.exe and other platforms zabbix_sender

--use-config - use zabbix_agent config

if --use-config is used without -c then zabbix_agentd.conf is searched using config default location.

For example:

zabbix_sender.exe -s host -k key -o value  .... --use-config

 

It's not such a big problem to provide /etc/zabbix/zabbix_agentd.conf on Linux, but paths are quite long when used on Windows (with zabbix_sender.exe). That where it would benefit the most with proper default.

 

P.S. As an alternative to --use-config, just provide --config without any value

zabbix_sender.exe -s host -k key -o value  .... --config






[ZBXNEXT-5128] Repeat log file read behavior tweaks Created: 2019 Mar 25  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Arturs Lontons Assignee: Michael Veksler
Resolution: Unresolved Votes: 2
Labels: log, logmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

There are some situations where the log file is accessed by an application without anything being written to the log, thus the mtime is changed without any changes to the file size. In cases with larger log files, this causes massive re-reads and potential performance issues on the Zabbix server.

Whenever re-reads are about to happen, the following entries are written to the log file:

1904:20190321:141018.323 the modification time of log file "C:\whatever.log" has been updated without changing its size, try checking again later

1904:20190321:141019.354 after changing modification time the size of log file "C:\whatever.log" still has not been updated, consider it to be a new file

From what we've seen, rarely, even though the lines are printed, the log files are NOT being re-read from the beginning, thus making such log entries not 100% reliable.

Adding the information about the lastlogsize in the agent log would help with reacting to potential large file re-reads thus, at least partially remedying such scenario.

Another workaround for such scenarios would be an option to select a different behavior when it comes to triggering log re-reads, but the correct implementation of such logic is up for discussion.






[ZBXNEXT-5135] Accept multiple Hostname parameters in Agent configuration Created: 2019 Mar 28  Updated: 2020 Sep 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dmitrijs Lamberts Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2943 Running active agent checks from mult... Closed

 Description   

Add support of multiple Hostname= parameters in the agent configuration file.
Server/proxy should accept and evaluate each provided Hostname.



 Comments   
Comment by richlv [ 2019 Mar 28 ]

What's the usecase on top of the currently supported comma-delimited list?

Edit: this was confusingly terse, sorry. Expanding a bit.
In Zabbix, further parameter occurrences override the earlier definitions. Changing that for a single parameter to merge the definitions would be inconsistent and might be confusing.
If there is not a strong usecase to prefer it that way, implementing the method, already supported elsewhere (comma-delimited lists), would be preferred.

Comment by richlv [ 2019 Mar 29 ]

This could also be considered a duplicate of ZBXNEXT-2943.

Comment by Dimitri Bellini [ 2020 Sep 14 ]

This feature (Agent with multiple Hostname) could be useful for such cases:

  • Corosync/Veritas Cluster -> Monitoring a Cluster Resource that could be active in a node of the cluster and for HA on another node. The common big problem is coming for Log Items (Active) that need a specific "Hostname". At the moment the only way to monitoring this kind of scenario is to use multiple Agents or Zabbix Sender.

In some other Monitoring tool there is a concept of "Virtual Node/Host", a sort of "host" that could live inside a physical agent for the time that specific "Resource" is living on it. I think is not easy to find a way to solve this kind of scenario but i put my 2 cents only as a reference.

These cases (Clustering) is no longer so "common" but some Enterprise companies could still use this "ancient" technology

Thanks so much





[ZBXNEXT-2823] new parameters for zabbix_sender - delay and limit for bulk data sending Created: 2015 May 21  Updated: 2015 Jun 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: bulk, limits, patch, sender
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File limit_and_delay_for_sender.diff    
Issue Links:
Duplicate

 Description   

For example for agent log* keys we have parameters MaxLinesPerSecond, BufferSend and BufferSize, which in general provide ability to control speed and size of bulk messages.
These options exist for purpose.

But if we consider zabbix_sender - there are no any way to control such things if send values as bulk data (-i input file).

It creates serious troubles because of a well know unresolvable limitation of zabbix server - ZBX-9201

It's suggested to add new parameters for sender:

-l --limit <values> If sending many values from an input file, Zabbix sender will batch them at the limit
values in one go (all values will be processed). Default is 250 values
-d --delay <milliseconds> Specify delay in milliseconds between values sending in batches when send from input file
Default is no delay

-l replaces hardcoded 250 to configurable parameter

Example usage:

# time ./zabbix_sender -z localhost -i /tmp/aaa
info from server: "processed: 3; failed: 0; total: 3; seconds spent: 0.000088"
sent: 3; skipped: 0; total: 3

real    0m0.003s
user    0m0.000s
sys     0m0.000s

# time ./zabbix_sender -z localhost -i /tmp/aaa -l 1
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000090"
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000036"
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000031"
sent: 3; skipped: 0; total: 3

real    0m0.007s
user    0m0.004s
sys     0m0.000s

# time ./zabbix_sender -z localhost -i /tmp/aaa -l 1 -d 500
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000031"
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000047"
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000089"
sent: 3; skipped: 0; total: 3

real    0m1.507s
user    0m0.000s
sys     0m0.000s

Suggested patch adds such features.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 May 21 ]

btw, thanks asaveljevs for help to do such modifications.

Comment by richlv [ 2015 Jun 25 ]

as we don't have a component for sender, get and similar tools, let's use "agent" component for them





[ZBXNEXT-2568] perf_counter encoding Created: 2014 Nov 06  Updated: 2016 Jan 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Evgeny Molchanov Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: perf_counter
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Add the ability to specify the encoding for perf_counter on Windows:

perf_counter[counter,<interval>,<encoding>]

This will allow to use a single template to monitor applications running on different versions of local settings Windows.
In the console powershell is possible to use the same counter with different encodings.
example:

chcp
??????? ??????? ????????: 866
typeperf "\???????? ? ??????????(*)\% ????????????? ??????????"
chcp 65001
typeperf "\Processor Information(*)\% Processor Time"


 Comments   
Comment by Evgeny Molchanov [ 2014 Nov 06 ]

Digital counter codes on different systems may differ.
example WEB Server IIS counter "Web Service(_Total)\Current Connections"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
1 server:
7064
Web Service

2 server:
7106
Web Service

Comment by Aleksandr Melnikov [ 2016 Jan 29 ]

ok.
If i want get counter for "\Физический диск(0 C: )\Скорость записи на диск (байт/с)" ?
In HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009 - not LETTER Logical Disk, and not NUMBER PhysicalDisk

Solutions:

lodctr /s:perfcount.txt





[ZBXNEXT-2576] Low level discovery for sensors Created: 2014 Nov 07  Updated: 2020 Oct 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: sensors
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently the unix agent provides sensor readings via the sensor[] item.
It would be handy if the sensors could be discovered in the agent.

Somewhat related to ZBXNEXT-1423.



 Comments   
Comment by Antoine Rahier [ 2020 Oct 06 ]

Hi,

This would greatly improve default templates for linux.

Also, it doesn't look very complicated since the sensors command can already return json :

$ sensors -Aj
{
   "atk0110-acpi-0":{
      "Vcore Voltage":{
         "in0_input": 1.408,
         "in0_min": 0.800,
         "in0_max": 1.800
      },
      "3.3V Voltage":{
         "in1_input": 3.264,
         "in1_min": 2.970,
         "in1_max": 3.630
      },
      "5V Voltage":{
         "in2_input": 4.999,
         "in2_min": 4.500,
         "in2_max": 5.500
      },
      "12V Voltage":{
         "in3_input": 11.776,
         "in3_min": 10.200,
         "in3_max": 13.800
      },
      "CPU FAN Speed":{
         "fan1_input": 1161.000,
         "fan1_min": 600.000,
         "fan1_max": 7200.000
      },
      "CHASSIS1 FAN Speed":{
         "fan2_input": 1506.000,
         "fan2_min": 600.000,
         "fan2_max": 7200.000
      },
      "CHASSIS2 FAN Speed":{
         "fan3_input": 788.000,
         "fan3_min": 600.000,
         "fan3_max": 7200.000
      },
      "CPU Temperature":{
         "temp1_input": 36.000,
         "temp1_max": 60.000,
         "temp1_crit": 75.000
      },
      "MB Temperature":{
         "temp2_input": 26.000,
         "temp2_max": 45.000,
         "temp2_crit": 75.000
      }
   },
   "k10temp-pci-00c3":{
      "temp1":{
         "temp1_input": 0.000,
         "temp1_max": 70.000,
         "temp1_crit": 90.000,
         "temp1_crit_hyst": 88.000
      }
   }
}




[ZBXNEXT-2443] allow to query current log level Created: 2014 Sep 07  Updated: 2014 Sep 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 2.4.0
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 10
Labels: debugging, logging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

ZBXNEXT-101 added runtime log level controlling, but there is no way to know what's the current loglevel. would be nice to have a way to query that






[ZBXNEXT-2286] net.if.discovery filtration Created: 2014 Apr 30  Updated: 2016 Nov 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 1.8.20, 2.0.10, 2.2.3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Juraj Pisar Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: filters, interfaces, lld, virtualization
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

all systems supporting net.if.discovery



 Description   

I have linux servers tha are running many virtual machines. On these systems I have 4 physical interfaces, 20 vlan interfaces (for access to different networks), 20 bridge interfaces (one for each vlan) and 10 vnet interfaces (1 for every virtual machine). When I use default net.if.discovery i have too many items and I don't want them. I need statistics only for physical interfaces. it would be nice to add field #IFTYPE get would look like this:

[root@zabbix zabbix]# zabbix_get -s client -k net.if.discovery
{
        "data":[
                {
                        "{#IFNAME}":"lo",                           "{#IFTYPE}":"localhost" },
                {
                        "{#IFNAME}":"eth0",                           "{#IFTYPE}":"physical"},
                {
                        "{#IFNAME}":"eth1",                           "{#IFTYPE}":"physical"},
                {
                        "{#IFNAME}":"eth2",                           "{#IFTYPE}":"physical"},
                {
                        "{#IFNAME}":"eth3",                           "{#IFTYPE}":"physical"},
                {
                        "{#IFNAME}":"eth0.200",                           "{#IFTYPE}":"vlan"},
                {
                        "{#IFNAME}":"brbackbone",                           "{#IFTYPE}":"bridge"}]}

filters for discovery could be adjusted by MACROs same as it is for vfs.fs.discovery.



 Comments   
Comment by Volker Fröhlich [ 2014 Jun 27 ]

On Linux 2.6.12 and up this can be mapped from /sys/class/net/*/type to the ARPHRD macros from Linux' if_arp.h.

https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net

Comment by Andrew Howell [ 2014 Nov 26 ]

Also would be nice if the link status of the NIC was available.

We have a lot of servers with multiple NICs (6 commonly) but with only 2 connected. I'd like to be able to filter on link status so we only discover the ones that are connected.

Comment by Alan Halls [ 2016 Nov 02 ]

Like Andrew, I would also love to see this be an option. In addition / or as an alternative I typically have 1 NIC that has an internal address, and one with a public. It would be nice to give them aliases so I know which to click on and which to avoid (if we can't disable them).





[ZBXNEXT-3697] Dynamic list of loadable module items Created: 2014 May 18  Updated: 2017 Feb 16

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Jan-Piet Mens Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: loadablemodule
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-3353 Module for sending history data Closed
duplicates ZBX-11058 zbx_module_item_list() is mandatory i... Closed
Team: Team A

 Description   

When loading a module, zbx_module_item_list() is called to populate the keys -> functions list.

I believe the documentation specifies that this function is optional; it doesn't appear to be so. (Sorry: I forget exactly where I read that.)

The documentation should state that the list returned by this function is static – it cannot be altered during lifetime of the loaded module.

What I am looking for is a method to extend that list. I'd like to have new keys added (which point to an existing function in the dynamic module of course) in order to provide new items.



 Comments   
Comment by Sandis Neilands (Inactive) [ 2016 Aug 31 ]

See (11) of ZBXNEXT-3353. In short - for API version 2 all module functions except zbx_module_api_version() will be optional.

Comment by Glebs Ivanovskis (Inactive) [ 2017 Feb 13 ]

Apart from documentation this ticket asks for item list to be dynamic. I' suggest to update documentation as a part of ZBX-11058 and move this ticket into ZBXNEXT project as a request for dynamic item list.





[ZBXNEXT-2220] Add support for "Computer" field in eventlog Created: 2014 Mar 24  Updated: 2014 Mar 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dmitry Samsonov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: dbpatches, eventlog, triggerfunctions, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Some messages in event logs in windows cluster are copied to every cluster member (or to standby), so if we are monitoring those messages we get trigger alerts for every host in cluster.
The only difference between those messages are field "Computer" showing on which server message was generated.
This will also needs trigger function "logcomputer".
Optional: Ideally this would also need support of

{HOST.HOST}

(for using as parameter in function logcomputer) macro which doesn't work in active agent items, but it could be resolved with user macro holding hostname.

Thank you.






[ZBXNEXT-3115] allow to use password-protected keys Created: 2016 Jan 26  Updated: 2016 Jan 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 3.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: encryption
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

zabbix now has built-in encryption. unfortunately, password-protected keys can not be used - zabbix just prints out password prompts and errors in the logfile. it would be nice to allow supplying the password like other software (apache httpd, for example) does.

also see ZBXNEXT-1263, subissue (154)






[ZBXNEXT-3174] New API/ABI for loadable modules Created: 2016 Mar 04  Updated: 2019 Nov 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Installation (I), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: compatibility, libraries, loadablemodule
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Here is a draft of a new interface between Zabbix and loadable modules. The main idea is to make this interface easily extendible in later versions of Zabbix and to make maintaining backward compatibility easier at the same time.

Loadable module should provide the following interface:

/* this function should perform module initialization and return success/error code */
int	zbx_module_init(void);

/* this function should return a list of custom checks supported by the module */
zbx_item_list_t		zbx_module_item_list(void);

/* this function should set timeout for item checks */
void	zbx_module_item_timeout(int timeout);

/* this function is optional and should free module resources if necessary */
int	zbx_module_uninit(void);

/* this is an example of a function performing custom check, returns success/error code */
int	zbx_module_custom_check(zbx_agent_request_t request, zbx_agent_result_t *result);

Zabbix must provide a header file containing forward declaration of types zbx_item_list_t, zbx_metric_t, zbx_agent_request_t, zbx_agent_result_t and functions used to work with them. Implementation must not be exposed! This will allow to change it without breaking binary compatibility.

/* this defines the version of the header file, should be updated every time new functions are added to API (or old functions are removed) */
#define ZBX_MODULE_HEADER_VERSION	...

/* this function returns version of the library loaded in runtime */
int	zbx_module_library_version(void);

/* this type stores list of custom metrics */
typedef struct zbx_item_list	zbx_item_list_t;

/* this type stores a metric */
typedef struct zbx_metric	zbx_metric_t;

/* this type stores check request */
typedef struct zbx_agent_request	zbx_agent_request_t;

/* this type stores check result */
typedef struct zbx_agent_result	zbx_agent_result_t;

/* this function creates custom check list */
zbx_item_list_t	zbx_item_list_create(void);

/* this function appends custom check to the list */
void	zbx_item_list_append(zbx_item_list_t list, zbx_metric_t metric);

/* this function frees check list resources (Zabbix should make his own copy) */
void	zbx_item_list_destroy(zbx_item_list_t list);

/* this function creates custom check description */
zbx_metric_t	zbx_metric_create(void);

/* possible metric attributes */
#define ZBX_METRIC_ATTR_KEY ...
#define ZBX_METRIC_ATTR_ALLOW_PARAMS ...
/* list can be expanded without breaking compatibility */

/* this function sets custom check attributes */
int	zbx_metric_attr_set(int attribute, void *value);

/* this function frees custom check resources */
void	zbx_metric_destroy(zbx_metric_t);

/* similar functions to manipulate request and result */
...

This functionality should be provided as a library (it can be used by Zabbix own checks as well). No matter how (dynamically or statically) Zabbix and loadable modules will be linked to the library, zbx_module_library_version() can be used to ensure that desired version of API is used.

When this issue is implemented ZBXNEXT-3157 will make sense. And this could be the beginning of ZBXNEXT-2519.

Good read on compatibility issue:
http://www.onlamp.com/pub/a/onlamp/2005/02/17/backwardscompatibility.html (two pages!)

 

UPD: The above link is broken by now, but here's an archived copy:

https://web.archive.org/web/20180424122939/http://www.onlamp.com/pub/a/onlamp/2005/02/17/backwardscompatibility.html



 Comments   
Comment by Vitaly Zhuravlev [ 2017 Jun 02 ]

Based on my experience with developing modules in Zabbix, I would like to add few notes what the second version of the API and module loading mechanics should look like in my opinion.

  • It should return current module version when loaded into zabbix in its log.
  • zabbix_log functions should be made available in the interface, so users can place information to the zabbix log.
  • DebugLevel configuration paramaters should be available to the module, so it can be used to provide or not to provide extended information to the log.
  • To avoid dealing with concurrency problems, it would be cool to have the option to limit module to the single poller only.

I also think that if Zabbix team could port at least one the protocols(JMX, VMWare maybe or IPMI) from the core to the loadable module and ship it that way in the following releases - then it would result in a more effecient and powerful loadable module interface for all. Its source code would also serve as a perfect example on how to properly build zabbix modules.

Comment by richlv [ 2019 Apr 24 ]

The onlamp link is broken by now, but here's an archived copy: https://web.archive.org/web/20180424122939/http://www.onlamp.com/pub/a/onlamp/2005/02/17/backwardscompatibility.html .





[ZBXNEXT-2633] "Refresh unsupported" value on active agent should be controlled by server Created: 2014 Dec 08  Updated: 2016 May 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: dimir Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: activeagent, notsupported, refresh
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Active agent



 Description   

Currently if an active check on agent becomes unsupported it will be re-checked after getting the list of "active checks". So this means the delay to re-check unsupported items on active agent side is controlled by configuration option "RefreshActiveChecks". It would be better if agent would receive the value of "refresh unsupported" from server and respect that.



 Comments   
Comment by richlv [ 2016 May 09 ]

looks like in 3.0 the server doesn't send unsupported items to the agent anymore.
probably should be figured out which development changed that, documented in the upgrade notes - and figured out whether that is the desired final solution.





[ZBXNEXT-2507] Monitoring ethernet aliases on HP-UX Created: 2014 Oct 10  Updated: 2014 Oct 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: cru5ader Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: hp-ux
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I have some problem with net.if.in[interface, bytes] key on host HP-UX B.11.31. I have interface`s name like 'lan0:1'. An Item with key 'net.if.out[lan0:1, bytes]' does not get values (zabbix agent don`t support it). I used aliases (Alias=interface_lan01:net.if.in[lan0:1,bytes]), but they returned the same answer- zabbix agent don`t support it. Have you any idea how to solve this problem??. Thanks

-bash-4.2$ zabbix_get -k net.if.discovery -s server1.ru
{
 "data":[
  {
   "{#IFNAME}":"lo0"},
  {
   "{#IFNAME}":"lan0"}]}

but:

#> netstat -in
Name      Mtu  Network         Address         Ipkts              Ierrs Opkts              Oerrs Coll
lo0      32808 127.0.0.0       127.0.0.1       320072635          0     320072671          0     0   
lan0:1    1500 19.22.0.0      19.22.50.112   338310             0     53                 0     0   
lan0      1500 19.22.50.0     19.22.50.185   166140844686       0     80888865308        0     0


 Comments   
Comment by Denis Volkov [ 2014 Oct 10 ]

I'd like to note that alias is standard method for configuring HPUX cluster services and so it is quite important to monitor alias interfaces.





[ZBXNEXT-1830] FreeBSD: coretemp vs sensor Created: 2013 Jul 22  Updated: 2013 Jul 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Victor Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: freebsd, newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

FreeBSD 9.x and above



 Description   

Need support FreeBSD coretemp.

kldload coretemp
sysctl -a | grep temp
see temperature sensors.

I think will be cool feature, when zabbix_agent/zabbix_agentd under FreeBSD use same key "sensor.cpu_temp[XXX]", but get data from native coretemp.






[ZBXNEXT-2861] Extend vm.memory and proc.mem item keys to support more information Created: 2015 Jun 29  Updated: 2019 Dec 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: agent, keys, memory
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Kernel 3.*


Issue Links:
Duplicate

 Description   

Since kernel 3.* Linux has introduced a lot of new metrics which can be useful to have them:

MemTotal:        8004768 kB
MemFree:          274832 kB
MemAvailable:    6684344 kB
Buffers:             356 kB
Cached:           674384 kB
SwapCached:            0 kB
Active:           774988 kB
Inactive:         361688 kB
Active(anon):     591332 kB
Inactive(anon):   324776 kB
Active(file):     183656 kB
Inactive(file):    36912 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:               328 kB
Writeback:             0 kB
AnonPages:        461504 kB
Mapped:           102040 kB
Shmem:            454320 kB
Slab:            6485736 kB
SReclaimable:    6442348 kB
SUnreclaim:        43388 kB
KernelStack:        6544 kB
PageTables:        13156 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4002384 kB
Committed_AS:    2593920 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      168244 kB
VmallocChunk:   34359561240 kB
HardwareCorrupted:     0 kB
AnonHugePages:    204800 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       71552 kB
DirectMap2M:     8316928 kB
DirectMap1G:     1048576 kB


 Comments   
Comment by Aleksandrs Saveljevs [ 2015 Jun 29 ]

Which particular metrics would you be interested in? Could you please show an example?
dotneft all of these but maybe Slab related are preferred. HugePages is interested also.

Comment by richlv [ 2015 Jun 29 ]

are proc.mem improvements in ZBXNEXT-1078 enough or is something more needed ?

Comment by Ronald Rood [ 2017 Aug 15 ]

HugePages_Total
HugePages_Free
HugePages_Rsvd
HugePages_Surp
would be very nice. In my particular case system wide will do but per process would be useful too.





[ZBXNEXT-7756] Add http_proxy parameter for all web related Agent checks Created: 2022 May 31  Updated: 2022 Oct 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: 6.0.4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Aleksey Volodin Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

It will be nice to add additional parameter for web related Agent checks - http_proxy/https_proxy.

For now we have at leas 4 web related Agent checks:

web.page.get
web.page.perf
web.page.regexp
web.certificate.get

Unfortunately external sites are not always accessible from monitoring hosts.

Additional parameter in key for proxy server would be a really simple way to achieve it (and when the macro is not defined or empty, then direct monitoring would be used).

For https proxy and web.certificate.get method connect should be supported.






[ZBXNEXT-7709] IETF QUIC protocol for Server/Proxy/Agent communication Created: 2022 May 12  Updated: 2022 May 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: Agent, IETF, PROXY, QUIC, Server, communication
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Just and idea for:

  • Reduce latency (distributed networks, more precise data gathering timing for complex triggers formula, etc...)
  • Less data
  • Reduce "chatty" behaviour for SD-WAN networks





[ZBXNEXT-7676] MQTT and low-level discovery Created: 2022 May 05  Updated: 2022 May 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Mathieu MD Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: lld, mqtt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
caused by ZBXNEXT-3950 Provide MQTT as item type Closed

 Description   

I'm happily using the mqtt.get key to track some MQTT topics (through + wildcard) via the Zabbix Agent 2 of a given host.

However, we (will) have hundreds of IOT devices to monitor, and it's not reasonable to create/delete them in Zabbix manually.

A comment by @qix on ZBXNEXT-3950 suggested that low-level discovery could be also supported. Is it actually the case?






[ZBXNEXT-7549] Windows service child process (Example: svchost) Created: 2022 Mar 10  Updated: 2022 Mar 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Colum Flannigan Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hey.
   So i am looking to monitor a process in Zabbix and capture memory usage and cpu usage for said process, of course currently the discovery rule does not actually process the process name so to discovery services and monitor the process CPU/Memory is not out of the box.

I resolved that by doing some pre-processing etc.. to capture it out of {#SERVICE.PATH}. Now the problem is when there is a service that spawns different process i cannot monitor them. Below is a prime example "svchost". As you can see in the below output i need to monitor this process but in the discovery rule i get the below. 

 

{
  "

{#SERVICE.NAME]": "LPDSVC",   "\{#SERVICE.DISPLAYNAME}

": "LPD Service",
  "{#SERVICE.DESCRIPTION}": "Enables client computers to print to the Line Printer Daemon (LPD) service on this server using TCP/IP and the Line Printer Remote (LPR) protocol.",
  "{#SERVICE.STATE}": 0,
  "{#SERVICE.STATENAME}": "running",
  "{#SERVICE.PATH}": "C:\\Windows\\System32
svchost.exe -k LPDService",
  "{#SERVICE.USER}": "LocalSystem",
  "{#SERVICE.STARTUPTRIGGER}": 0,
  "{#SERVICE.STARTUP}": 0,
  "{#SERVICE.STARTUPNAME}": "automatic"
}

 

Of course svchost.exe spawns multiple child process like the below. So my question is how do i identify the correct process using the discovery rules?

\Process(svchost)% User Time
\Process(svchost#1)% User Time
\Process(svchost)% User Time
\Process(svchost#1)% User Time
\Process(svchost#2)% User Time
\Process(svchost#3)% User Time
\Process(svchost#4)% User Time
\Process(svchost)% User Time
\Process(svchost#1)% User Time
\Process(svchost)% User Time
\Process(svchost)% User Time
\Process(svchost#1)% User Time

 

In my example i ran a WMI query against Win32_Process and got the PID then queried win32_PerfFormattedData_PerfProc_Process and got the data and it turned out that the LPD was using "svchost#3".

 

So i guess how can i get this information with native Zabbix keys?? The only option i have available is to not use Zabbix native keys and use WMI for my service discovery which i could then query the CPU/Mem details using the processID

 

Thanks






[ZBXNEXT-4402] TLS support for zabbix_sender_send_values() function Created: 2018 Feb 26  Updated: 2018 Feb 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), API (A)
Affects Version/s: 4.0.0alpha4
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Vladimir Ostrovsky Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently the zabbix_sender_send_values() in zabbix_sender.dll allows to specify destination address & port to connect to, but not TLS properties (certificates, Issuer, Subject, etc.).

So it cannot be used for TLS-encrypted communication.

Can TLS support be added to it?

Thanks,
Vladimir.






[ZBXNEXT-3980] Do not evaluate UserParameter values with 'zabbix_agentd -p' Created: 2017 Jul 17  Updated: 2017 Jul 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.19
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Andris Mednis Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Story Points: 3

 Description   

When 'zabbix_agentd' is started with '-p' option it shows all known items.
Problem arises when a user puts under UserParameter a script with side-effects (e.g. rsync). User can reasonably assume that '-p' is harmless to use, kind of 'preview' but instead an incident may be caused.
Proposal:

  • With '-p' option just show the names of UserParameter-s but do not evaluate them.
  • With '-t' option evaluate the UserParameter.





[ZBXNEXT-3964] Predictable order of evaluation for global regexp subexpressions Created: 2017 Jul 05  Updated: 2017 Jul 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 3.4.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Andris Mednis Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In frontend (Administration->General--> Regular expressions) global expression subexpressions are displayed sorted by type. So, display order for subexpressions of the same type is not defined.
In agent active checks (e.g. log[] and logrt[] using global expressions) order of subexpression evaluation is not defined. Although mathematically the order of evaluation is irrelevant (results of individual subexpression evaluations are AND'ed), it would be desirable to ensure that subexpressions are evaluated in the same order as user sees them in frontend. Then user could optimize subexpression order starting from most-likely-to-match.






[ZBXNEXT-4905] Monitor linux services by sysv Created: 2018 Dec 06  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andrei Gushchin (Inactive) Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sub-task
part of ZBXNEXT-2871 Monitor linux service by systemd Closed

 Description   

It would be great to have to monitor sysv Linux services out of the box.



 Comments   
Comment by dimir [ 2018 Dec 06 ]

You mean like monitoring Windows services?

<neogan> I meant the old one init based on https://en.wikipedia.org/wiki/Init#runlevels





[ZBXNEXT-4837] Support certificate private key encrypted with pass phrase Created: 2018 Oct 17  Updated: 2020 Mar 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Anna Kucenko (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: encryption
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sprint: Sprint 45

 Description   

Configure certificate encryption with passphrase:

Result (log file):

5044:20181017:133858.746 proxy #11 started [java poller #4]

Enter PEM pass phrase:

5044:20181017:133858.748 cannot load private key from file "/etc/zabbix/certs/key": file pem_lib.c line 116: error:0906406D:PEM routines:PEM_def_callback:problems getting password file pem_pkey.c line 117: error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read file ssl_rsa.c line 649: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib

5041:20181017:133858.749 proxy #8 started [java poller #1]

Enter PEM pass phrase:

5041:20181017:133858.752 cannot load private key from file "/etc/zabbix/certs/key": file pem_lib.c line 116: error:0906406D:PEM routines:PEM_def_callback:problems getting password file pem_pkey.c line 117: error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read file ssl_rsa.c line 649: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib

5042:20181017:133858.752 proxy #9 started [java poller #2]

5043:20181017:133858.753 proxy #10 started [java poller #3]

Enter PEM pass phrase:

5043:20181017:133858.756 cannot load private key from file "/etc/zabbix/certs/key": file pem_lib.c line 116: error:0906406D:PEM routines:PEM_def_callback:problems getting password file pem_pkey.c line 117: error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read file ssl_rsa.c line 649: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib 

Expected: Need some mechanism for pass phrase input



 Comments   
Comment by Andris Mednis [ 2018 Oct 24 ]

So far I've found 3 methods used in practice for supplying a passphrase for decrypting certificate private key:

  • application writes a prompt in terminal window and operator enters a passphrase,
  • application configuration specifies a user-supplied program (or script). The program is prompted via its STDIN or commandline arguments which passphrase is requested and is expected to respond by passphrase on its STDOUT.
  • application configuration specifies a file where passphrase(s) is stored and the file can be a named pipe.




[ZBXNEXT-6200] Count max_age of vfs.dir.count since today Created: 2020 Sep 15  Updated: 2020 Sep 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Khatsayuk Alexander Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice to have a possibility to count items with vfs.dir.count with calculate max_age since today. Like a behaviour of 'find' utility with '-daystart' option.






[ZBXNEXT-5630] Add agent2 PerfCounter, PerfCounterEn configuration parameter support Created: 2019 Dec 09  Updated: 2019 Dec 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.4.3
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andris Zeila Assignee: Andris Zeila
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
Story Points: 2

 Description   

The PerfCounter, PerfCounterEn configuration parameters must be supported by agent2. Those parameters are used to alias windows performance counters:

Defines a new parameter <parameter_name> which is an average value for system performance counter <perf_counter_path> for the specified time period <period> (in seconds).
Syntax: <parameter_name>,“<perf_counter_path>”,<period>
For example, if you wish to receive average number of processor interrupts per second for last minute, you can define a new parameter “interrupts” as the following:
PerfCounter = interrupts,“\Processor(0)\Interrupts/sec”,60
Please note double quotes around performance counter path.
The parameter name (interrupts) is to be used as the item key when creating an item.
Samples for calculating average value will be taken every second.
You may run “typeperf -qx” to get list of all performance counters available in Windows. 





[ZBXNEXT-5470] new item feature - background [passive] items Created: 2019 Sep 26  Updated: 2020 Feb 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F)
Affects Version/s: 4.4.0alpha3
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Description in the first comment in case typos are made or other edits are required.



 Comments   
Comment by richlv [ 2019 Sep 26 ]

Currently Zabbix passive items are expected to return value during the server poller connection. This limits them to operations that take a few seconds at most, in normal environments. Increasing the timeout is not a good approach for most users, and even then there's a hard limit of 30 seconds.

Various workarounds are used - nohup wrapper scripts and atd scheduled jobs are the most popular. In these cases, one Zabbix item acts as an invoking scheduler - it starts a background script which then sends data to the second Zabbix item, trapper type.

It would be great to have a similar functionality built into Zabbix.

  • An item would be marked as a "background job".
  • Such items would have an individual timeout setting.
  • Behind the scenes, Zabbix might handle this with two items - one invoker, one trapper.
    • Invoker would make the receiving agent process:
      • Immediately return status (Perhaps one of "Got the job, understood the format" or "Got the job, but format no good"). This would ensure poller processes are not tied up.
      • Go in the background and obey the item-specific timeout.
      • When finished (or timeout reached), send the result.

An approach like that might even work without any server changes and would allow handling this way any item (package gathering, userparameters, system.run and so on).

"Invoker/scheduler" items could even be merged with the data receiving items in config, latest data and elsewhere. Receiving item would be shown with values, the invoker item data would show up as status info (perhaps an icon with popups or similar).

Active items sort of happen in background, but they are handled by one process only in a serial fashion; making them parallel is requested in ZBXNEXT-691 . While some aspects of this feature request could apply to active items (like per-item timeout), those would have to be evaluated separately.

Comment by Glebs Ivanovskis [ 2019 Sep 26 ]

This is basically Enable trapping for all item types, not just HTTP agent.

Comment by richlv [ 2019 Sep 26 ]

That would be part of a possible solution, but the transparent scheduler/invoker is the crucial part.

Comment by Alexei Vladishev [ 2020 Feb 07 ]

It will be implemented for Zabbix Agent2 eventually. I think there is an older feature request about it, cannot find it now.





[ZBXNEXT-5605] Allow Zabbix agent to pickup system hostname by default Created: 2019 Nov 28  Updated: 2020 Feb 05

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.4.3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Aigars Kadikis Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
Team: Team B

 Description   

Let's have the feature versions of Zabbix Agent without these lines in zabbix_agentd.conf:

# On Linux
Hostname=Zabbix server

# On Windows
Hostname=Windows host  

This means the 'HostnameItem=system.hostname' part will become active by default:

### Option: HostnameItem
#       Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
#       Does not support UserParameters or aliases.
#
# Mandatory: no
# Default:
# HostnameItem=system.hostname

.. and each agent station will come with more unique hostname in case of agent auto-registration is configured.



 Comments   
Comment by richlv [ 2019 Nov 29 ]

If Hostname and HostnameItem are not specified, agent defaults to system.hostname.
What changes are desired here?

Comment by Aigars Kadikis [ 2019 Nov 29 ]

Thank you for comment. Desired change is to not have static 'Hostname=' record in zabbix_agentd.conf coming out from package. Just remove the line completely. This can save a second in case of not centralized software is used to populate agent.

Comment by richlv [ 2019 Nov 29 ]

Duplicate of ZBXNEXT-498 then

Comment by Matthew Steeves [ 2019 Nov 29 ]

Aigars opened this request on behalf of myself. I have read through some of the history documented in ZBXNEXT-498. Could a better solution that keeps the "first time user" happy but also prevents pain in a mass deploy or zabbix agents be the following:

Out-of-the-box Discovery rule for 127.0.0.1.
Corresponding Discovery action of adding the host found at that IP.

Matt

Comment by Alexei Vladishev [ 2020 Feb 04 ]

I like this suggestion and I do not see any reasons for Hostname to be hardcoded by default. It should be implemented at some point.





[ZBXNEXT-6122] Default location for agent scripts Created: 2020 Aug 07  Updated: 2020 Aug 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Tony den Haan Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There doesn't seem to be a standard location for scripts agent UserParameters uses, while i do see for example 

EXTERNAL_SCRIPTS_PATH = ${datarootdir}/zabbix/externalscripts

so i propose adding something like

AGENT_SCRIPTS_PATH = ${datarootdir}/zabbix/agentscripts

This might make installing templates/checks just a bit easier for everybody .






[ZBXNEXT-5940] Zabbix-agent2_5.0.0 for Ubuntu 16.04 Created: 2020 May 07  Updated: 2020 May 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Packages (C)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Alexey Assignee: Jurijs Klopovskis
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 16.04, Zabbix-5.0.0


Attachments: PNG File image-2020-05-07-12-14-00-798.png    

 Description   

Hello!

Is zabbix-agent2_5.0.0 being developed for Ubuntu 16.04?

Thank you.

 






[ZBXNEXT-6009] File system discovery LLD : include disk/volume label/name Created: 2020 Jun 10  Updated: 2021 Apr 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: 5.0.1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: cromra Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Is it possible to add the volume label/name in the LLD volume discovery, instead of having only drive letters ?

It seems someone allready proposed/implemented such solution by adding "{#FSDESCR}", in the following thread : https://www.zabbix.com/forum/zabbix-help/357709-file-system-discovery-include-volume-label-name

 

So i create this feature request hoping it coud be implemented for everybody in a future version.






[ZBXNEXT-5917] Add a wrapper to validate plugin input params (zabbix_agent2). Created: 2020 Apr 27  Updated: 2020 Apr 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.0beta2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Anton Petukov Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: patch, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File dns_unix.go     File params.go    

 Description   

In each plugin, we have the same multiline validation of incoming parameters: some parameter must be present and not equal to nil. The good thing is to make the wrapper who takes on the boring job.
Attached files are a prototype of the wrapper and an example implementation (support for native golang DNS checking for agent2).

The template is parsed during initialization once for each unique set of parameters. At the beginning of each Export function call, incoming parameters are checked.

Errors identified globally: ZBXNEXT-5916






[ZBXNEXT-5803] Feature request - More security options. Created: 2020 Mar 05  Updated: 2020 Mar 08

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Robert Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File zabbix.png    

 Description   

Hi

I have been looking at Zabbix but I find I am missing some options.
Would be great if you could implement these

1. Add option on server side to disable "No encryption" option.
Rejecting all connections that are not TLS encrypted.
Maybe using the same options as for the agent. (TLSConnect=, TLSAccept=)

2. Add Token authentication between Server and Agent. 
Reason for this is to ensure that Zabbix server is speaking to the agent and vice versa.
This would greatly increase security even on "No encryption" solutions. 
At least to have the option to do something like this would be a welcome benefit.

Best regards
Robert



 Comments   
Comment by Vjaceslavs Bogdanovs [ 2020 Mar 05 ]
  1. There is a way to disable "No encryption". It is done in "Encryption" tab of the specific host.
  2. For the most part this looks like a existing PSK auth.
Comment by Robert [ 2020 Mar 05 ]
  1. Yes its possible, but to have the option to disable it completly in configuration
    would ensure that no servers gets configured without encryption.
    Unless you change it in the configuration files and restart the service.
  2. The problem with PSK auth is that you can copy the PSK key from one host to another without the server
    beeing aware of it. So you can emulate a seprate server sending Active checks from another host to the zabbix server.
    Having this adds an extra layer of security so even if someone sends an Active data from another host you have to accept the Token on the server side before any data is written to Zabbix server database.
Comment by Robert [ 2020 Mar 05 ]

Another option could be to run TLS connections on another port.
That way you could reject "No encryption" traffic in the firewall.

Comment by Glebs Ivanovskis [ 2020 Mar 08 ]
  1. Sometimes Zabbix server needs to accept connections from Zabbix frontend. As of now, Zabbix frontend does not support TLS.




[ZBXNEXT-5329] Zabbix-Agent self-aware of container Created: 2019 Jul 21  Updated: 2022 Mar 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.2.4
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Adam Dobrawy Assignee: Michael Veksler
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

A virtual machine with the Ubuntu system and an official Docker container image (privileged)



 Description   

The idea of containers is to ensure a certain isolation of processes, especially due to the namespace. This means, among others the default restriction of information that users can expect to monitor.

In the current situation Zabbix-Agent running in the container is not able even to monitor the used and available space of file systems. It has not been properly adapted to work in a containerized environment and there is no access to such information.

In order to solve such a problem, software of similiar class use mount of directories from the host that contain the required information to custom paths. For example, through the Docker container launch parameters "-v /dev:/host/dev -v /proc:/host/proc". This allows process inside container to read the required information if the application will be adapted to try such paths. Limiting insulation does not deny the idea of container, because - in my environment - the largest value of containers is easy management of configuration and software version, which is not eliminated by additional mounting points like that.

See examples of mountpoint at https://github.com/bvis/docker-node-exporter/blob/master/README.md and https://github.com/google/cadvisor .

Filesystems discovered inside of container:
root@73da6b91545d:/var/lib/zabbix# zabbix_agentd -t vfs.fs.discovery
vfs.fs.discovery s

Values similar hosts without container:
$ sudo zabbix_agentd -t vfs.fs.discovery
vfs.fs.discovery s



 Comments   
Comment by Patrice Gautier [ 2022 Mar 11 ]

Second that ask..

In my case, the agent container is already running in privileged mode so there is isolation/permission issue. It is a configuration and management issue to have to explicitly mount the hosts filesystems to the container to be able to monitor them..

One possibility could be to add a new key, something along the lines of vfs.fs.containerFSDiscovery to explicitly discover the filesystems of the container, and use vfs.fs.discovery to discover the file systems of the host, which I would argue is really the correct purpose of the agent..





[ZBXNEXT-5749] Informational times and date for hosts Created: 2020 Feb 10  Updated: 2020 May 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Markus Fischbacher Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be great if we would have some additional information about host automatically generated and stored.

For example:

  • Date and time of first registration/contact of the host
  • Date and time of last contact with the host ( I know we have this already with the zabbix.ping item for example. But it would be great if we would have this property on the hand in API and the frontend too ).
  • Date and time of the last auto-register action

All that nicely present in the frontend in some ways. For example in the Inventory > Hosts > Overview View. Also a new Reports > Newest Hosts and Reports > Not available Hosts would be a great combination then.

I don't mean additional items for that all but really properties to the host that are handled by zabbix itself. It would help in big installations to get more insights and also in highly dynamic situations like with containerized things or dynamically generated infrastruction in Clouds (Azure, AWS, etc.).

Providing this uniformed infos for each host over the API would also make it attractive for enterprise usage as one might have to couple Zabbix to a external Inventory/CMDB.

 



 Comments   
Comment by Markus Fischbacher [ 2020 Feb 10 ]

Would be a good combination with: ZBXNEXT-5742

Comment by Markus Fischbacher [ 2020 Feb 10 ]

Currently there are awkward but usable workarounds:

  • for last autoreg run we have a action which triggers a remote command with zabbix_sender
  • for first registered I create a file on package installation and remove that with my autoreg script after first usage
  • for unregistration I execute a zabbix_sender rpm preun script.

That's all only possible because we use a small wrapper installer package.





[ZBXNEXT-5475] ECDSA certificate support in server and agent Created: 2019 Sep 28  Updated: 2019 Sep 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Server (S)
Affects Version/s: 4.0.12, 4.2.6, 4.4.0alpha3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: André Pereira da Silva Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: certificates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 7.7
native openssl - OpenSSL 1.0.2k-fips 26 Jan 2017



 Description   

It's my first problem report, so if there is something i did wrong, please say so.

Steps to reproduce:

For CentOS 7.7

In zabbix agent

Have a certificate (for instance a site ECDSA HTTPS certificate) and add in agent config and then restart the agent.

TLSConnect = cert
TLSAccept = cert

# OS CA list for certificate chain validation
TLSCAFile   = /etc/pki/tls/certs/ca-bundle.crt
# Zabbix agent (CLIENT) certificate/chain and private key
TLSCertFile = /path/to/your/<intermediate-and-ecdsa-certificate>.pem
TLSKeyFile  = /path/to/your/<private-ecdsa-key>.pem

 

In zabbix server

Have a certificate (for instance a site ECDSA HTTPS certificate) and add in server config and then restart the zabbix server.

# OS CA list for certificate chain validation
TLSCAFile = /etc/pki/tls/certs/ca-bundle.crt

# Zabbix SERVER certificate/chain and private key
TLSCertFile = /path/to/your/<intermediate-and-ecdsa-certificate>.pem
TLSKeyFile = /path/to/your/<private-ecdsa-key>.pem

 

Result:

ECDSA certificates/private keys don't work.

 

Expected:

Using ECDSA certificates/private keys with no issues.

 

Additional comments:

The problem seams to be the ECDHE cipher suites area is hardcoded only allowing RSA keys (for certificates mode) and then PSK

#define ZBX_CIPHERS_CERT_ECDHE "EECDH+aRSA+AES128:"

Here: https://github.com/zabbix/zabbix/blob/master/src/libs/zbxcrypto/tls.c#L3241-L3242

 

Maybe by just changing from

#define ZBX_CIPHERS_CERT_ECDHE "EECDH+aRSA+AES128:"

to

#define ZBX_CIPHERS_CERT_ECDHE "EECDH+aECDSA+AES128:EECDH+aRSA+AES128:"

 



 Comments   
Comment by dimir [ 2019 Sep 30 ]

andris, can you take a look?

Comment by Andris Mednis [ 2019 Sep 30 ]

ECDSA certificates are not yet supported in Zabbix. It is a feature request, not a bug report.





[ZBXNEXT-5381] JSON Object output for web.page.get Created: 2019 Aug 23  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andrew Boling Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The web.page.get agent item outputs the raw source of the fetched webpage, including headers. Rather than using regular expressions to split the headers and payload during preprocessing, it would be helpful if there was an alternative output format for web.page.get (or an alternative built-in item) that returns the page output in the format of a JSON object with keys for "status, "headers" and "data".

{

  "status": {

      "version": "HTTP/1.1"

      "status": 200

      "reason": "OK"

    }

  "headers": {

      "Host":"support.zabbix.com"

   }

    "data": "<insert text blob here>"

}

This would allow for simpler preprocessing rules that can extract the desired fields with JSONPath. I see this primarily being useful with agents that interact with APIs that are only exposed on a localhost listener, where web scenarios are not an option. (Elasticsearch, etc.)



 Comments   
Comment by Andrew Boling [ 2019 Aug 23 ]

Please pretend that the above example was valid JSON.  I'd add the missing commas but was a little too hasty in submitting the feature request.

Comment by Vjaceslavs Bogdanovs [ 2019 Aug 23 ]

Looks like you are looking for a functionality from Zabbix 4.0:
https://www.zabbix.com/documentation/4.0/manual/config/items/itemtypes/http

Comment by Andrew Boling [ 2019 Aug 29 ]

Unfortunately that functionality is only available in the http agent. This is a request to extend the functionality of the web.page.get item that runs on the remote Zabbix agents. The http agent only runs on zabbix servers and proxies.

From the page you linked:

HTTP item check is executed by Zabbix server. However, when hosts are monitored by a Zabbix proxy, HTTP item checks are executed by the proxy.





[ZBXNEXT-5350] Default User-Agent for HTTP agent Created: 2019 Aug 02  Updated: 2020 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 4.2.4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: James Howe Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

By default an HTTP agent item includes no User-Agent header, though you can manually define one.

As there are no macros for the Zabbix version (or library versions) it's difficult to maintain an accurate User-Agent.

If none is defined, Zabbix should provide its own, e.g.

Zabbix/4.2.4 libcurl/7.16.2 libssl/1.1.1





[ZBXNEXT-1669] new Item: check oldest/newest file in a folder Created: 2013 Mar 15  Updated: 2021 Nov 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Stefan Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: loadablemodule, newitemkey, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zbxNext1669.c    

 Description   

Hello it would be nice to know what are the oldest/newest file in a directory, its important in hospitals/laboratrys(L2L-links) for HL7/LDT-messages, etc..

an example for Linux is that:
stat -c "%Y %n" * | sort -n | head -n 1 |awk '

{print $1}

'



 Comments   
Comment by Stefan [ 2013 Mar 15 ]

in Zabbix i use the following:
UserParamer=check.file.age[*], stat -c "%Y %n" $1/* | sort -n | head -n 1 |awk '

{print $1}

'

and in the Frontend:
check.file.age[/var/l2k/]

Comment by Oleksii Zagorskyi [ 2013 Mar 16 ]

That's why zabbix user parameters have been designed for - for tasks like this one

I don't think it will be implemented in agent's code, IMO.

Comment by Marc [ 2013 Mar 16 ]

Beside using UserParameters ZBXNEXT-1550 might be interesting in this context too.

Comment by richlv [ 2013 Mar 16 ]

exactly, with the loadable modules (still undocumented...) this would be a nice one.

Comment by Marc [ 2014 Dec 27 ]

Attached file zbxNext1669.c is a loadable module that tries to fulfill this feature request.
The module introduces a new item key check.file.age. It returns the Unix timestamp (similar to vfs.file.time) for either the most recent or oldest regular file in a directory.

check.file.age[directory,<type>,<mode>]

directory - full path to the directory
type - one of modify (default, modification time), access - last access time, change - last change time
mode - one of max (default, most seconds since epoch) or min (least seconds since epoch)

Comment by Glebs Ivanovskis [ 2019 Apr 24 ]

Is there still any interest for such loadable module?

Comment by Stefan [ 2019 Apr 25 ]

since I'm not working in an hospital/lab anymore, I don't have any interest in that

Comment by Carl Melgaard [ 2021 Jun 10 ]

we have alot of uses for this in our company (hospital related also) - cross-platform would be nice, tho.

Comment by Stefan [ 2021 Jun 11 ]

Hi @Carl Melgaard,

I think you can use vfs.dir.count with variable min.age and say min.age = 120 (that counts files that are older than 120s) and set a trigger on that.

Comment by Andrejs Kozlovs [ 2021 Nov 09 ]

vfs.dir.get metric can be used to retrieve such information in more detailed way.





[ZBXNEXT-1375] Set maintenance when agent is switched off Created: 2012 Aug 24  Updated: 2016 Jun 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Alessandro De Maria Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: maintenance, notifications
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,

I think if would be interesting to have a feature where the Agent sends a message back to the server when it is being switched off.
This could be captured the server and the host cold be forced into maintenance.

Does it make sense? This would allow us not to receive messages if a host is being powered off by a system administrator rather than going down on its own.
Obviously it should be able to select which hosts we want this feature to be enabled on, via a configuration parameter?

Regards
Alessandro



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Aug 27 ]

I'd like to link here another issue which similar to this one in a similar aspect: the agent should report "something" to the server before the correct stop.
It's ZBXNEXT-444

Comment by Alessandro De Maria [ 2012 Dec 10 ]

Hello,
we keep being notified by hosts going down because sysadmin are restarting them.
I opened this ticket to be able to stop notification when the agent is turned off.

I solved the problem by changing the init scripts (RedHat Only for now) to SEND a message through zabbix_sender.

This way we can use the value to make the trigger go off only when the server is genuinely down and not then people are working on it.

# functions
start() {
        if [ $RUNNING -eq 1 ]
                then
                echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
        else
                action $"Starting $BINARY_NAME: " $FULLPATH

                [ ${ENABLE_SENDER} -ne 0 ] && $SENDER -z ${ZABBIX_SERVER} -p ${ZABBIX_PORT} -k ${KEY} -s ${HOSTNAME} -o ${STARTED} >/dev/null
                touch /var/lock/subsys/$BINARY_NAME
        fi
}

stop() {
        echo -n $"Shutting down $BINARY_NAME: "
        killproc $BINARY_NAME
        RETVAL=$?
        echo
        if [ $RETVAL -eq 0 ]
            then
                [ ${ENABLE_SENDER} -ne 0 ] && $SENDER -z ${ZABBIX_SERVER} -p ${ZABBIX_PORT} -k ${KEY} -s ${HOSTNAME} -o ${STOPPED} >/dev/null
                rm -f /var/lock/subsys/$BINARY_NAME
        fi
        RUNNING=0
}

Will post soon my solution to the forum.

The current solution sends a message from the init script, but something slighlty more elegant might be to have a "post_start" and "before_stop" directory where you can drop in scripts. This way you can easily create other useful scripts using the API that can be used to do all sort of magic.

Comment by Marc [ 2013 Apr 16 ]

What about having a new status like 'Zabbix-Agent status' for action conditions and filters, similar to 'Maintenance status'?
That way one could use for example an action condition 'Zabbix-Agent status not "stopped"'...

Comment by Oleksii Zagorskyi [ 2016 Jun 16 ]

See also ZBXNEXT-1514 and http://zabbix.org/wiki/Docs/simplify_ad_hoc_maintenance





[ZBXNEXT-2761] Zabbix agent to check unix domain socket existance, state and connection Created: 2015 Apr 02  Updated: 2015 Apr 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Lior Goikhburg Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: newitemkey, socket
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice if zabbix agent had the ability to check if a unix domain socket exists, that it is in a listen() state and is accepting connections.
Monitoring Unix Domain sockets can only be checked on the local machine, so having this check built into the zabbix agent would be very convenient.

Example:
socket.listen[/var/run/socket.sock] would check the /var/run/socket.sock exists and is in LISTEN state (similarly to existing agent's TCP port check net.tcp.listen[port])

socket.connect[/var/run/socket.sock] would check if it's possible to connect to /var/run/socket.sock (similarly to existing agent's TCP check net.tcp.port[<ip>,port])






[ZBXNEXT-2793] Additional parameter to get real used memory for vm.memory.size for linux Created: 2015 Apr 23  Updated: 2017 May 31

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 2.2.9, 2.4.5
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Kodai Terashima Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: agent, item, linux, memory
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Linux agent has used and pused parameter for vm.memory.size key, it contains cached and buffers memory.

This request is additional parameter to get a memory size used - cached - buffers that is real used memory.



 Comments   
Comment by Aleksandrs Saveljevs [ 2015 Sep 15 ]

According to https://www.zabbix.com/documentation/2.4/manual/appendix/items/vm.memory.size_params, vm.memory.size[used] is designed for informational purposes, but vm.memory.size[available] is designed to be used in triggers and contains the amount of really available memory. Could you please describe the functionality that is desired, but which vm.memory.size[available] does not provide?





[ZBXNEXT-2796] Allow specifying network interface name in zabbix agent checks Created: 2015 Apr 23  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Lior Goikhburg Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: interfaces, ipaddress, newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice to have an option to specify a network interface name in the following zabbix agent checks:
net.tcp.port[<ip>,port]
net.tcp.service[service,<ip>,<port>]
net.tcp.service.perf[service,<ip>,<port>]

Having this option, one could setup a simple template for identical services, listening on the same interface on different hosts, without specifying an IP as a user macro on the host.

Example: net.tcp.service[service,<ip>,<port>,interface]

Use case:
My service is listening on
hostA, eth0, IP 10.0.0.1, port 443
hostB, eth0, IP 10.0.0.2, port 443

To monitor the service, one would create a template with key net.tcp.service[https,,443,eth0] (ip field is empty, interface specified) and attach it to hostA and hostB.

Instead of checking the service on 172.0.0.1, the agent will obtain from the OS the default (primary) IP of the interface specified and perform the check.

I'm aware that I could use the {HOST.IP1} macro, but it will not work if the host is defined with agent interface with IP 0.0.0.0 and 'connect to': DNS.



 Comments   
Comment by Aleksandrs Saveljevs [ 2015 Apr 23 ]

I wonder whether the same can be achieved using low-level discovery. For instance, create a discovery rule that discovers all IP addresses on the system and create "net.tcp.service[http,{#IPADDRESS},443]" as an item prototype. Discovery filters can be used to filter out unwanted interfaces or IP addresses.

Comment by Lior Goikhburg [ 2015 Apr 23 ]

This issue is related ZBXNEXT-1740





[ZBXNEXT-2444] force specific loglevel at runtime Created: 2014 Sep 07  Updated: 2014 Sep 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: 2.4.0
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: debugging, logging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

ZBXNEXT-101 added runtime log level controlling, but there is no way to force a specific loglevel (only increasing and decreasing).

after a longer debugging session it would be nice to have a way to set a specific loglevel






[ZBXNEXT-2446] inconsistent error messages for configuration file validation Created: 2014 Sep 07  Updated: 2014 Sep 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

consider the two following examples of error messages :

zabbix_proxy [17973]: unknown parameter [StartProxyPollers] in config file [/.../zabbix_server.conf], line 411
zabbix_proxy [18111]: ERROR: "Server" configuration parameter is not defined. This parameter is mandatory for active proxies.

notice the "ERROR' string only being present in one of them. it would be nice to review all messages and unify them.






[ZBXNEXT-2176] Send data to graphite Created: 2014 Feb 27  Updated: 2023 Sep 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Vadym Kalsin Assignee: Unassigned
Resolution: Unresolved Votes: 17
Labels: agent, graphs, storage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix is a great tool for monitoring but visualization and graphing options are quite poor. For example, we can place many items on the one graph, but we can't scale them relative to each other. I know that we can use second Y axis, but this is not always helps.
Graphite is the tool that can help us! Graphite is a highly scalable real-time graphing system. Official site - http://graphite.wikidot.com/
It can:

We store historycal data for some items in graphite and only save last recent data in zabbix (for the triggers). Now we feed our graphite by calling a script which uses zabbix API. Every 30 seconds it scans all hosts, finds items with prefix "-graphite" and sands the lastvalue and lastclock to graphite. This script loads our zabbix-server and database very well. So it would be better to send data directly from zabbix-agent (or zabbix-proxy).

Is it difficult to implement?



 Comments   
Comment by richlv [ 2014 Mar 16 ]

i'm tempted to say that this is a dupe of ZBXNEXT-714 - the best would be for server to be able to push data to graphite, i guess

Comment by Shane McEwan [ 2014 May 08 ]

I'm wondering if it would be possible to expose the Zabbix API or Zabbix database as a Graphite storage finder/backend (http://graphite.readthedocs.org/en/latest/storage-backends.html). That way you don't double up your data storage. Zabbix can continue to gather the data and generate alerts and Graphite can do what it does best . . . draw pretty graphs.

If I have some spare time (hah!) I might have a go.

Comment by Marc [ 2014 Oct 03 ]

richlv, I always considered this request different from ZBXNEXT-714, because the description is about storing data additionally in a different storage backend. So Zabbix continues to work like before but something 3rd party got the data as well.

Now I admittedly share your opinion. A proper implementation of ZBXNEXT-714 would of course not only allow to store the data somehow somewhere else, it would also provide the interface for Zabbix accessing the data. In this case by querying the Graphite backend.

Comment by Nathan Dornqaust [ 2014 Nov 25 ]

@Shane McEwan Did you ever pursue this? The biggest problem I have with Graphite is the single whisper db files.. Currently over 200,000 active files.. It's very high I/O. I'd love to use Zabbix with the ability to add graphite graphs - really would be the icing on the cake.

Comment by Shane McEwan [ 2014 Nov 25 ]

As a proof of concept I wrote a little wrapper script in Perl that mimicked the Graphite API but spoke to the Zabbix API in the background. I then installed a few different Graphite compatible frontends and pointed them at my wrapper. Some of them partially worked but a lot were expecting more advanced Graphite API calls that I hadn't implemented. I realised that if I pursued this course I'd end up having to implement the entire Graphite API functionality which I didn't want to do so I abandoned it.

My next step is to try to write a functional Graphite storage backend that talks to the Zabbix API but my Python-fu is poor and the Graphite documentation assumes Python knowledge that I lack. But from my Perl wrapper tests and everything else I've read I don't see why a Graphite storage backend using the Zabbix API wouldn't work. It probably won't be fast, direct MySQL/PostgreSQL would be faster but more prone to breaking with Zabbix DB schema changes, but should be functional for small numbers of items and date ranges.

If there's any Python experts out there willing to help I'd be happy to stick what I've done so far (not much) onto Github and we can collaborate.

Comment by Bryce Walter [ 2014 Dec 20 ]

Shane McEwan,
Could you start a repo with what you've done so far? I as well as others on my team would love to get this going.
We've been able to use the pyzabbixapi to pull data into graphite with a custom python script, but its just creating duplicate storage due to the creation of the Whisper files.
We are using Grafana as our Graphite frontend, so we want to build a wrapper or data source for Zabbix that can be added to Grafana, this way it uses the Zabbix MySQL db for its data vs whisper.
I'll be more than happy to contribute on condition that the proper Apache v2 License be attached to your source.

Comment by Marc [ 2016 Jul 31 ]

ZBXNEXT-3353 asks for "module support for sending history data".





[ZBXNEXT-2202] Insufficient logging to figure out problem cause Created: 2014 Feb 21  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Alex Cheshikov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: debug, troubleshooting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please, consider this as a bug. It logs "failed" but doesn't say about failure reason:

26375:20140220:162425.089 zbx_send_response() '{
"response":"success",
"info":"processed: 0; failed: 1; total: 1; seconds spent: 0.000110"}'





[ZBXNEXT-1980] Can't override Hostname with HostnameItem Created: 2013 Oct 24  Updated: 2019 Aug 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Yoav Steinberg Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Issue Links:
Duplicate

 Description   

All zabbix agent config parameters in the conf file can be overwritten by providing a new value later on in the config or (especially useful) in an included config under conf.d for example. This is very practical for automated installation systems where we don't want to edit the original config file but just to add and alter default configurations by appending new values at the end of the file or to included config files.
This approach doesn't work if you want to append a HostnameItem setting after a default config file presented a Hostname setting.



 Comments   
Comment by richlv [ 2013 Oct 24 ]

do you want to override previously defined HostnameItem with another instance ?

Comment by Yoav Steinberg [ 2013 Oct 24 ]

I want to override a previously define "Hostname". For example the following won't work:

Hostname=foo
HostnameItem=system.run[echo "bar"]

And even this (surprisingly) won't work:

Hostname=foo
Hostname=
HostnameItem=system.run[echo "bar"]

Comment by richlv [ 2013 Oct 24 ]

you can not 'override' one parameter with another. in your second example, you are setting it to an empty value, not unsetting it.
i guess support for 'unsetting' variables is desired here - but that's a feature request, not a bug. moving accordingly.

Comment by Yoav Steinberg [ 2013 Oct 24 ]

No problem with defining this as a feature. Sorry for the inconvenience.

Anyway, unsetting the variable would help here. The second example was a long shot I tried after the first example failed.
For other setting though, like "Server" (or even "Hostname") it's possible to override the value after setting it with a different value. For example:

Server=foo.com
Server=bar.com

would result in Server configured to "bar.com". Because of the unique interplay between Hostname and HostnameItem it makes sense that setting HostnameItem after Hostname will override the previous Hostname setting. If adding "unsetting" is what's required for this, then so be it.

Comment by Craig Mandelblit [ 2019 Aug 21 ]

Or package up the agent RPMs with a zabbix_agentd.conf  that does not have a Hostname= value set. That way it defaults to HostnameItem.





[ZBXNEXT-9078] proc.num - support regexp for user Created: 2024 Mar 12  Updated: 2024 Mar 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.4.12
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

proc.num supports regexp for the commandline parameter.
Would be great to support it for the username parameter as well.

Usecase:
A process could run under one of two or more users, which would be considered acceptable. Currently this requires creating one item per user, and checking all items in a single trigger.






[ZBXNEXT-1808] Implement native HDD activity monitoring on AIX systems Created: 2013 Jul 01  Updated: 2014 Apr 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: aix, newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Need to support HDD activity monitoring with zabbix agent on AIX systems like currently supported on Linux.



 Comments   
Comment by Aleksandrs Saveljevs [ 2014 Apr 25 ]

Could you please clarify the difference between this issue and ZBXNEXT-1506?





[ZBXNEXT-1623] Generic JSON validation support Created: 2013 Feb 14  Updated: 2024 Jan 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Andris Zeila Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: json, validation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently the validation of received JSON data is done locally in various components. The validation level depends on the component - for example in some places the field format (type) is checked while in other places it is not.

One way would be to use JSON schemas for validation. However that might be too 'heavy' approach and it would be better to create some generic lightweight validation funcitonality.



 Comments   
Comment by richlv [ 2013 Oct 15 ]

(1) not strictly json validation, but general validation issue - how zabbix sender data is validated.
a) header is optional - skipping it works just fine.
b) looks like sender itself is not sending the header.
c) if header is included, length is ignored unless it's 0 - then sending silently fails.

Comment by Mickael Martin (Cyres) [ 2023 Mar 27 ]

hello, we use this code in item validation :

try {
JSON.parse(value);
    } catch (e) {
        return -1;
    }
    return value;
}

or just

return JSON.parse(value);

with a nodata trigger.
But a "predefined" validation of json can be a best approch.





[ZBXNEXT-9076] Name passive agent related settings clearly Created: 2024 Mar 12  Updated: 2024 Mar 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F)
Affects Version/s: 7.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Edgars Melveris Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2024-03-12-10-02-09-697.png     PNG File image-2024-03-12-10-02-56-764.png    

 Description   

Because of (probably) historic reasons passive agent is called just "agent" in most places. Active agent adds a clear term "Active" somewhere.
This can be confusing for new users to figure out that "Zabbix agent" means - passive agent.
Some places where such details could be added:
Item type selector:

Interface name:

And in agent config:
Server=
Could be renamed to:
ServerPassive=

Similarly as it's named for active agent server address.






[ZBXNEXT-9056] Remove Plugins.<plugin name>.Capacity parameter Created: 2024 Mar 01  Updated: 2024 Mar 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: 7.0 (plan)
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Mihails Prihodko Assignee: Mihails Prihodko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
Story Points: 1

 Description   

Previously, configuration files for Zabbix agent 2 plugins used to support the parameter:
Plugins.<plugin name>.Capacity=<int value>
 
Now it is deprecated and removed from the plugins created by Zabbix developers. If a user tries to configure it the plugin *.conf file for a plugin provided by Zabbix, an error happens on Zabbix agent 2 start:

zabbix_agent2 [481161]: ERROR: cannot register plugins: [PostgreSQL] Cannot assign configuration: invalid parameter  at line 10: unknown parameter 

But it is still possible to configure this parameter in user-created plugins if it is defined in plugin\config.go PluginOptions struct in the user-created plugin.
 
A new parameter is recommended instead. The Zabbix agent 2 plugin scheduler in the main Zabbix repo in "src/go/internal/agent/scheduler/manager.go" treats it as a higher priority one:
Plugins.<plugin name>.System.Capacity=<int value>
 
The old parameter should be completely removed from the Zabbix main repo in a new Zabbix release. This is a breaking change and it should not be backported.






[ZBXNEXT-9039] Add Go compiler version to agent 2 version loadable plugins output Created: 2024 Feb 23  Updated: 2024 Mar 28

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.27rc1, 6.4.12rc1, 7.0.0beta2, 7.0 (plan)
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Trivial
Reporter: Mihails Prihodko Assignee: Mihails Prihodko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
caused by ZBXNEXT-9026 Add Go compiler version to agent 2 ve... QA Failed
Team: Team B
Sprint: S24-W10/11, S24-W14/15
Story Points: 1

 Description   

Go compiler version was added to `zabbix_agent2 -V` output. As proposed by esneiders in this comment ZBXNEXT-9026, it also might be useful to have this information available for Zabbix agent 2 loadable plugins.



 Comments   
Comment by Mihails Prihodko [ 2024 Feb 23 ]

Mini spec v1.0

What is affected

  • Loadable plugins for Zabbix agent 2 on all supported platforms: PostgreSQL, MongoDB, MSSQL.

Obtaining Go compiler version
Go compiler version can be obtained in runtime with runtime.Version(), the same way it was done for Zabbix agent 2 ZBXNEXT-9026.

Loadable plugin version information

Go compiler version should be added to the common function PrintVersion() in the plugin-support repository like so:

Before:

Zabbix PostgreSQL plugin
Version 6.0.27rc1
Protocol version 6.0.13

After:

Zabbix PostgreSQL plugin
Version 6.0.27rc1, built with go1.21.6
Protocol version 6.0.13

Note, there is no colon ":" after "built with" before the version unlike in Zabbix agent 2. This is proposed to be more consistent with the existing plugin version info formatting.

Signoff:

Kalimulin -1.0




[ZBXNEXT-9026] Add Go compiler version to agent 2 version output Created: 2024 Feb 20  Updated: 2024 Mar 28

Status: QA Failed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.42rc1, 6.0.27rc1, 6.4.12rc1, 7.0.0beta2, 7.0 (plan)
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Trivial
Reporter: Mihails Prihodko Assignee: Mihails Prihodko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
causes ZBXNEXT-9039 Add Go compiler version to agent 2 ve... READY TO DEVELOP
caused by ZBX-23913 Update Request for Zabbix Documentation Closed
Team: Team B
Sprint: S24-W10/11, S24-W14/15
Story Points: 1

 Description   

It would be useful if we could check the Go compiler version that was used to build Zabbix agent 2 binary. This is important information because various compatibility issues arise with Go language like this one ZBX-23913. Also, see Go requirements https://go.dev/wiki/MinimumRequirements#windowswindows



 Comments   
Comment by Mihails Prihodko [ 2024 Feb 20 ]

Mini spec v1.0

What is affected

  • Zabbix agent 2 on all supported platforms

Obtaining Go compiler version
Go compiler version can be obtained in runtime with runtime.Version(). It returns the Go tree's version string. It is either the commit hash and date at the time of the build or, when possible, a release tag like "go1.3". Since we compile Zabbix agent 2 with released Go compilers, in practice we should get a string like this "go1.21.6" (checked by running this function).

Agent 2 version information

Go compiler version should be added to the output of zabbix_agent2.exe -V like so:

Before:

Revision 88620f12430 29 January 2024, compilation time: 2024-02-15 17:06:46

After:

Revision 88620f12430 29 January 2024, compilation time: 2024-02-20 09:43:14, built with: go1.21.6

Agent 2 log
No changes should be made to Zabbix agent 2 log.

Signoff:

Kalimulin -1.0
Comment by Mihails Prihodko [ 2024 Feb 23 ]

By the way, the output of `golangci-lint --version` looks like so:

golangci-lint --version
golangci-lint has version 1.56.2 built with go1.22.0 from 58a724a0 on 2024-02-15T18:01:51Z




[ZBXNEXT-5977] Registering Zabbix agent for Windows as "Automatic (delayed start)" service Created: 2020 May 22  Updated: 2024 Mar 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Kazuo Ito Assignee: Michael Veksler
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team B
Sprint: S24-W14/15

 Description   

Automatic (delayed start) is available on Windows Vista / 2008 or later.
Most of the troubles of Zabbix agent when the OS is restarted on Windows, the service startup is "Automatic". In that case, "Automatic (delayed start)" will solve the problem.
I think it's better to set fDelayedAutostart of SERVICE_CONFIG_DELAYED_AUTO_START_INFO to TRUE with ChangeServiceConfig2 function below.

int	ZabbixCreateService(const char *path, int multiple_agents)
{
	SC_HANDLE		mgr, service;
	SERVICE_DESCRIPTION	sd;
// Add Start
	const OSVERSIONINFOEX	*vi;
	SERVICE_DELAYED_AUTO_START_INFO	scdasi;
// Add End
	wchar_t			cmdLine[MAX_PATH];
	wchar_t			*wservice_name;
	DWORD			code;
	int			ret = FAIL;

	if (FAIL == svc_OpenSCManager(&mgr))
		return ret;

	svc_get_command_line(path, multiple_agents, cmdLine, MAX_PATH);

	wservice_name = zbx_utf8_to_unicode(ZABBIX_SERVICE_NAME);

	if (NULL == (service = CreateService(mgr, wservice_name, wservice_name, GENERIC_READ, SERVICE_WIN32_OWN_PROCESS,
			SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, cmdLine, NULL, NULL, NULL, NULL, NULL)))
	{
		if (ERROR_SERVICE_EXISTS == (code = GetLastError()))
			zbx_error("ERROR: service [%s] already exists", ZABBIX_SERVICE_NAME);
		else
			zbx_error("ERROR: cannot create service [%s]: %s", ZABBIX_SERVICE_NAME, strerror_from_system(code));
	}
	else
	{
		zbx_error("service [%s] installed successfully", ZABBIX_SERVICE_NAME);
		CloseServiceHandle(service);
		ret = SUCCEED;

		/* update the service description */
		if (SUCCEED == svc_OpenService(mgr, &service, SERVICE_CHANGE_CONFIG))
		{
			sd.lpDescription = TEXT("Provides system monitoring");
			if (0 == ChangeServiceConfig2(service, SERVICE_CONFIG_DESCRIPTION, &sd))
				zbx_error("service description update failed: %s", strerror_from_system(GetLastError()));
// Add Start
			if (NULL != (vi = zbx_win_getversion()) && 6 <= vi->dwMajorVersion)
			{
					scdasi.fDelayedAutostart = TRUE;
					if (0 == ChangeServiceConfig2(service, SERVICE_CONFIG_DELAYED_AUTO_START_INFO, &scdasi))
						zbx_error("service start update failed: %s", strerror_from_system(GetLastError()));
			}
// Add End
			CloseServiceHandle(service);
		}
	}

	zbx_free(wservice_name);

	CloseServiceHandle(mgr);

	if (SUCCEED == ret)
		ret = svc_install_event_source(path);

	return ret;
}

I changed and confirmed the source of Zabbix 3.0.30.
I was able to "Automatic (delayed start)" on Windows 10.



 Comments   
Comment by Dimitri Bellini [ 2022 Dec 30 ]

Dear Team,
we faced the same problem on most of our installation and this kind of behavior can generate a lot of problems (also for us) because in the beginning we did not know this strange Windows problem.
Please add by default "Automatic (delayed start)" if it's something not completely wrong way to solve the issue.
Thanks so much

Comment by Michael Veksler [ 2023 Jan 02 ]

Dear dimitri.bellini,
Be so kind as to tell us more about the Agent & version and about error in the log file (if present)

Comment by Dimitri Bellini [ 2023 Jan 02 ]

Sorry Michael, I completely forgot to mention the Agent release...
At the moment we saw this behavior on Zabbix Agent2 v.6.2.x and 6.0.x but it seems a generic problem on Windows Server environment.
There is no error log on Zabbix Agent.
Thanks so much

Comment by Michael Veksler [ 2023 Jan 03 ]

Hi dimitri.bellini ,

1. Please check the Windows Event Logs. Agent2 have to write any errors to WinLog before  initializing Zabbix log (reading the config file).

2. Please check if file "zabbix_agent2.d\plugins.d\mongodb.conf" is present (the problem version of Agent2 with mongodb plugin or not)

Comment by Dimitri Bellini [ 2023 Jan 03 ]

Hi Michael,
we saw this behavior on production system and is not easy to re-test it but we have checked on Windows EventLog for some possible message but without success also the problem it comes before the release of the Zabbix Agent2 with separated modules.
It's seems only matter on Windows Start service but I can not be sure 100%, I will try to test on my system to check it.
You did not have any internal feedback on this specific problem?
Thanks so much

Comment by Michael Veksler [ 2024 Feb 16 ]

Proposal:

We have to do the following:

  • add new option for win version of Agentd & Agent2:
    -a --auto-start     Contains the delayed auto-start setting of an auto-start service. Allowed values: automatic(default), delayed, manual
  • change installation setting for msi version to 'delayed'




[ZBXNEXT-8758] Load balancing and HA for proxies Created: 2023 Oct 16  Updated: 2024 Mar 28

Status: IN MANUAL TESTING
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N), Proxy (P)
Affects Version/s: None
Fix Version/s: 7.0.0beta3 (master), 7.0 (plan)

Type: New Feature Request Priority: Trivial
Reporter: Rostislav Palivoda Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 7
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

Issue Links:
Duplicate
Sub-Tasks:
Key
Summary
Type
Status
Assignee
ZBXNEXT-8938 Frontend changes HA for proxies Specification change (Sub-task) Usability Check Alex Kalimulin  
ZBXNEXT-9105 Add integration tests Auto test (Sub-task) Elaborating Dmitrijs Goloscapovs  
Team: Team A
Sprint: Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), S2401-1, S2401-2, S24-W6/7, S24-W8/9, S24-W10/11, S24-W12/13, S24-W14/15
Story Points: 15

 Description   

Automated proxy load balancing and HA is one of the top feature requests and a must have functionality for enterprise users.



 Comments   
Comment by user185953 [ 2024 Jan 05 ]

Note TLS auth for proxies won't work right in HA: https://support.zabbix.com/browse/ZBXNEXT-8490

I apologize for promoting it like this. With my other tickets I promise I wait patiently like I should.

 





[ZBXNEXT-7117] Add zpool health monitoring support Created: 2021 Dec 10  Updated: 2021 Dec 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: High
Reporter: Gergely Czuczy Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zpool monitoring is completely missing from zabbix, and many of the people are  running zfs. Zpool health is clearly displayed by zpool-status(8). There should be discovery items and a default template which creates the items, triggers on non-online pools/vdevs/etc.

Health status is one of the most crucial part of monitoring solutions, and unfortunately zabbix doesn't offer a lot of help out of the box here.

So, could you please add zpool monitoring? It's the same across all systems since everyone has moved to openzfs.






[ZBXNEXT-8632] zabbix agent should change time in long along with system. Created: 2023 Aug 11  Updated: 2023 Aug 11

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.21rc1, 7.0.0alpha4
Fix Version/s: None

Type: Change Request Priority: High
Reporter: Andrei Gushchin (Inactive) Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently agent and agent2 using time which was set during start of agent.
It would be great to change it if agent started before NTP service and adjust time after system time become correct.

Currently need to restart agent to fix time.






[ZBXNEXT-8662] implement monitor "log buffer" sources of data (dump of XX last log lines) Created: 2023 Aug 29  Updated: 2023 Aug 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Oleksii Zagorskyi Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: newitemkey
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Imagine that you have a source of information while gives you a XX-lines limited output buffer of last events. Let's call as a "buffer".

Something like this emulated output (order as in this example):

# tail -n 10 apcupsd.events | tac
2022-10-30 20:41:03 +0200  apcupsd shutdown succeeded
2022-10-30 20:41:03 +0200  apcupsd exiting, signal 15
2022-10-30 20:40:32 +0200  Running on UPS batteries.
2022-10-30 20:40:26 +0200  Power failure.
2022-10-30 20:40:16 +0200  Power is back. UPS running on mains.
2022-10-30 20:40:16 +0200  Mains returned. No longer on UPS batteries.
2022-10-30 20:40:10 +0200  Running on UPS batteries.
2022-10-30 20:40:04 +0200  Power failure.
2022-10-30 20:34:50 +0200  Power is back. UPS running on mains.
2022-10-30 20:34:45 +0200  Power failure.

You can pool this buffer at your preferred interval, new lines arrive on top in the list, while previous events go down in the list.
And you would like to monitor only new log lines, if compare with previous check of the buffer.

How to achieve this in zabbix easily?
Currently there no way to do so ...

Would be nice to implement such item key or preprocessing rule or so.






[ZBXNEXT-8608] ZAbbix 6.0 Active Agent HOST IP System Macro Feature. Created: 2023 Jul 31  Updated: 2024 Feb 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.0.18
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Gursel Yarkin Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi,

Is it possible to have a system macro for HOST IP information via Active Agent2 on Zabbix 6.0.18 ?

Regards.






[ZBXNEXT-8406] Use RegExp in Allow/Deny Created: 2023 Apr 17  Updated: 2023 Apr 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Gustavo Guido Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Use a pair of regexp in the Allow/Deny key parameter instead of a pattern

AllowKey=KeyRegExp[ParametersRegExp]

DenyKey=KeyRegExp[ParametersRegExp]

More powerfull an unified (RegExp are all over Zabbix)

 






[ZBXNEXT-8834] Packaged Zabbix Agent for MacOS on M1/M2/etc... Apple silicon Created: 2023 Nov 15  Updated: 2023 Nov 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Colin Burns Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

MacOS Darwin 20.6.0 and 23.0.0 specifically but really anything from 20.6 up.



 Description   

We use a large number of Mac hosts including Mac's running on the new Apple silicon (M1, M2, etc...). We rely heavily on Zabbix as a part of our build automation. I'm able to compile the agents but policy dictates that we must use software provided by upstream sources (package maintainers) and supplied in the form of packages appropriate to the OS so that they can be installed/updated/removed using the system's native package manager. The existing packages for MacOS on X64 are already heavily used and a perfect model for what we're looking for. Hopefully you'll be able to take this in the next sprint. 

If you don't have any Mac's with M-series CPU's and need pre-compiled agent/get/sender binaries with statically linked libraries, please feel free to reach out. I'm happy to supply them. 






[ZBXNEXT-8830] LXC containers report host load avg in zabbix-agent2 Created: 2023 Nov 11  Updated: 2023 Nov 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.4.8
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Steve Allison Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux 6.2.16-14
Debian 12 Bookworm
lxcfs 5.0.3



 Description   

LXC supports container metrics within the container, so that the container has independent load avg metrics. This was introduced July 2019 in LXCFS 3.1.2, see https://discuss.linuxcontainers.org/t/lxcfs-3-1-2-has-been-released/5321

On my LXC systems, /proc/loadavg represents expected load for the processes running in each container, whilst the hosts, with many VMs, have an expected higher load as they are handling all systems.

zabbix-agent2, reports the host load on each LXC. I put some examples at https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/473153-proxmox-8-lxc-container-running-debian-12-zabbix-reports-load-average-of-hostcp -a /

 

LXC#> uptime; cat /proc/loadavg
 11:56:31 up 11:03,  2 users,  load average: 0.08, 0.04, 0.01
0.08 0.04 0.01 0/681 4114539
ZBX#> zabbix_get -s lxc -k system.cpu.load
3.521484

 

Note: Tested same issue on zabbix-agentd



 Comments   
Comment by Steve Allison [ 2023 Nov 11 ]

I've worked around this issue for now using a UserParameter and applying a new template to LXC agent.

UserParameter=ct.cpu.load[*],awk -F'[, ]+' '{avg1=$$1;avg5=$$2;avg15=$$3}{ print $2 }' /proc/loadavg




[ZBXNEXT-8215] Conditional Interval for specific Items when there is an active alert Created: 2023 Jan 18  Updated: 2023 Jan 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Arvind Kumar Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I would like to see or set a conditional interval which is defined when there is an active alert related to that Item, 






[ZBXNEXT-8233] Make internal statistics for zabbix-agent Created: 2023 Jan 27  Updated: 2023 Jun 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 6.2.7rc1
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Evren Yurtesen Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 2
Labels: agent, agent2, internalmonitoring, zabbix-agent2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Attachments: PNG File image-2023-06-06-16-01-02-060.png     PNG File image-2023-06-06-18-56-18-693.png    

 Description   

I was curious about how the zabbix-agent (active) works and how often it sends data etc.

It seems there are some configuration settings but one does not get a real feel about what is actually happening. More information at:

https://www.zabbix.com/forum/zabbix-help/458380-how-often-active-check-item-values-are-sent-to-the-server

It would be interesting to be able to monitor a zabbix-agent to determine how much data it is transferring in active and passive mode, how often, how many connection errors occur, how long each connection takes, how many servers it is communicating with, etc. There are probably many interesting metrics which can be collected and used to optimize the system.



 Comments   
Comment by Evren Yurtesen [ 2023 Jan 27 ]

There are internal metrics for zabbix-server and zabbix-proxy

https://www.zabbix.com/documentation/6.0/en/manual/config/items/itemtypes/internal

Comment by Gursel Yarkin [ 2023 Jun 06 ]

Hi,

Is there any way to check the value of the "Version of Zabbix agent running - agent.version" key's data more frequently than 5 minutes so that the "Version of Zabbix agent running - agent. Version" key's data exits at "Last 5 minutes" , "Last 15 minutes" , "Last 30 minutes", "Last 1,3,6,12 hours" and "Last 1,2,7,30 days" periods infinitely? ​

The aim is to have the METRIC / NUMERIC  type item key data whilst the TEXT / CHAR type item key data at he same dashboard.

When "Last 5 min" period is checked, the value of CHAR/TEXT type item key data's disappears, because the timestamp of the last checked item is
older than "Last 5 min".  

If  "Last 24 hours" period is checked, the value of CHAR/TEXT type item key data's appears, because the timestamp of the last checked item is
older than "Last 24  hours".

 
Is there any way to check the value of the "Version of Zabbix agent running - agent.version" key's data more frequently than 5 minutes so that the "Version of Zabbix agent running - agent. Version" key's data will not get older ever  than the "5 MINUTES" time period ?

Regards,
Nuri.





[ZBXNEXT-8232] Automatic active/passive checks instead of forced by item type Created: 2023 Jan 27  Updated: 2023 Jan 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: 6.2.6
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Evren Yurtesen Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

First of all, I tried to search a similar feature request in the issues but could not find it. I am surprised that nobody asked for it before. (except if I missed it maybe?)

Basic Information:

Currently there are 2 types of Zabbix Agent check functionality. Active and Passive. This is set using the item type per item in the template. In some cases there are multiple of same templates. Eg. Linux by zabbix agent and Linux by zabbix agent active. However not all templates are understandably (as this requires some extra work) duplicated in this manner.

If both types of templates are needed. This creates a certain amount of duplication and extra work. Especially since most templates are not provided in active type.

Problem Description:

As most templates are only available with passive checks, I had to download a template and convert it by mass updating zabbix-agent item types with zabbix-agent-active types (or with find/replace). This worked fine as I could rename the modified template and keep both templates in the system. However since the introduction of UUIDs, this is not feasible anymore. Now, one also needs to change UUIDs and in future keep them in sync. It is also impossible to import 2 templates with items which has same UUIDs. For example as described at: https://www.zabbix.com/forum/zabbix-help/458147-uuid-problem-making-same-template-for-agent-and-agent-active

Suggestion?:

It seems most items can work in active or passive mode. Some items have to be configured as active. (minor inconvenience)

Isn't it possible to have an item type, eg. zabbix-agent-auto, which can automatically determine if active or passive should be used for a specific host?

  • If item type is "auto". To determine if active or passive is used. A preference list can be used on host settings: Eg. active, then passive or passive then active, or only active or passive.
  • There can also be a more general system preference list which is global for all hosts. For hosts where there is no preferences defined, the preference list is inherited.

It is possible to easily determine if active checks are possible if the agent is connecting regularly and fetching items. I saw that a recent feature added to Zabbix is to determine if active checks are functioning or not.

As a plus, if the items are not Zabbix Agent (auto) type (agent or agent-active as they are right now), everything would work exactly the same as before. So there would be total compatibility with existing installations.

I hope the descriptions were clear and understandable. Please ask if they are not clear.

 






[ZBXNEXT-6233] Pick up bigger text file than 64K, vfs.file.contents, Zabbix Agent Created: 2020 Oct 02  Updated: 2023 Aug 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.4
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Aigars Kadikis Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-6554 Zabbix Agent Remote Execution limit t... Closed

 Description   

The item vfs.file.contents is limited to 64K and so as the text field for MySQL engine.

Sometimes it's required to pick up bigger content from /proc/diskstats to pass this information to the preprocessor for example in "Template Module Linux block devices by Zabbix agent active"

The limitation is currently installed at the agent side. Please:

1) Increase the limit of item key 'vfs.file.contents' or 

2) Allow an override or

3) Invent a different agent key 

Currently to workaround issue must alter template "Template Module Linux block devices by Zabbix agent active" and use:

system.run["cat /proc/diskstats"]

which is not suitable for some environments. 



 Comments   
Comment by Marcel Rengers [ 2022 Mar 21 ]

I'm facing a similar issue at the moment. I'm getting a json which is much bigger than 64k as an master item.
I also would appreciate increasing this limitation in general. Not only on agent side but also on the server/proxy side and the database.

PS: I'm not sure if this feature request is the appropriate place for this comment since this feature request is targeted only on the agent while my comment is about the same topic but on a broader scope.

Comment by Alex Kalimulin [ 2023 Aug 23 ]

This will be solved within ZBXNEXT-6554.





[ZBXNEXT-6070] Zabbix Agent2 static binary for Linux Created: 2020 Jul 15  Updated: 2022 Aug 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.1, 5.0.2, 5.0.3rc1, 5.2.0alpha1, 5.2 (plan)
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Sergey Assignee: Michael Veksler
Resolution: Unresolved Votes: 2
Labels: agent2, linux, static
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ALTLinux 9


Issue Links:
Duplicate
Sub-task
depends on ZBX-16772 no Agent V2 packages available for Ce... Closed

 Description   

Not all maintainers provide latest 5.* Zabbix packages for their own Linux, i.e. ALTLinux still has only 4.4.

 

It exists Zabbix Agent 5.0 staticaly compiled, and it works good on ALTLinux, but still is needed Agent*2*, as for example only it supports PostgreSQL 12.

 

Zabbix Server 5.* works good in docker environment, but deploy docker Agent2 containter on a server which is not supposed to be cointainer host is a bad idea.



 Comments   
Comment by Michael Veksler [ 2022 Aug 19 ]

You can compile with following options:

./configure --prefix=/usr/local --enable-agent2 --enable-agent --with-openssl --enable-ipv6 --enable-static-libs 




[ZBXNEXT-6317] please extend quiet msi installer parameter for windows agent 5 AllowKey, UnsafeUserParameters und UserParameter... Created: 2020 Nov 02  Updated: 2022 Jul 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.2.0
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Stefan Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi,

 

we're trying to rollout the zabbix agent on a bunch of windows hosts.

Unfortunately some parameters can not be configured via /quit installation with the msi-package. These are:

 

AllowKey, UnsafeUserParameters and additional UserParameters.

 

Please extend the available options. According to latest documentation, these are:

https://www.zabbix.com/documentation/current/manual/installation/install_from_packages/win_msi)

 

Thank you for your consideration.






[ZBXNEXT-6377] Adding FreeBSD jail name/id for proc.num item Created: 2020 Dec 01  Updated: 2022 Nov 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.0.5, 5.2.1
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Vyacheslav Terekhov Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: agent, freebsd, items, patch, proc.num
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

FreeBSD 8.0+, zabbix_agent 5.0+


Attachments: Text File proc.c.patch    
Issue Links:
Sub-task
part of ZBXNEXT-1711 New key for discovery rule / LLD to c... Closed

 Description   

The proc.c patch adds FreeBSD 8.0+ jail [1] support for the proc.num[] item.

The item takes a fifth parameter as a jail ID or name.

  • If the parameter is empty, information about all processes on the server is returned.
  • If the parameter contains the name or ID of an existing jail, information about processes inside the jail is returned.
  • If the parameter contains 0, information about processes on the host is returned only, processes inside jails are ignored.

This behavior corresponds to the ps (-J option) [2] and sockstat (-j option) [3] utilities.

This patch requires the libjail [4] library, which was introduced in FreeBSD 8.0, so I added a patch to configure.ac that checks for the libjail library. If the library is not found, the fifth parameter of the proc.num[] item is ignored.
 

[1] https://www.freebsd.org/doc/handbook/jails.html

[2] https://www.freebsd.org/cgi/man.cgi?ps(1)

[3] https://www.freebsd.org/cgi/man.cgi?sockstat(1)

[4] https://www.freebsd.org/cgi/man.cgi?jail_getid(3)



 Comments   
Comment by Vyacheslav Terekhov [ 2022 Jun 09 ]

I updated the patch for proc.c from zabbix-6.2.0rc1. Changes:

  • added fix for building on FreeBSD from 5.0 to 9.0 (tested on FreeBSD 7.4). More details in my comment.
  • proc.mem item: added a sixth parameter that accepts a jail name or jail id. For FreeBSD prior to 8.0, this option is ignored.
  • proc.get item: for each process (mode=process/thread) the "jname" field is displayed, which contains the name of the jail (if the process is running inside the jail) or left blank (if the process is running on the host system). For FreeBSD prior to version 8.0, this field is always blank, which may require additional preprocessing rules for such systems. The alternative ways to populate the "jname" field for FreeBSD prior to 8.0 (use "-1" aka "not supported", or the value of the "jid" field) I found more difficult to automate.
Comment by Vyacheslav Terekhov [ 2022 Sep 08 ]

Starting with zabbix-6.2.2 (ZBXNEXT-1711), configure checks for the presence of the libjail library, so the patch-configure.ac is no longer needed.

I updated the patch for proc.c from zabbix-6.2.2. The patch adds a fifth parameter for proc.num and a sixth parameter for proc.mem, where you can pass jail name or jail id:

  • an empty value will return information about all processes;
  • a value of 0 will return information about the processes in the host;
  • a numeric value will return information about the processes in the jail with the specified id;
  • if the agent is compiled without libjail: the text value of the parameter will return an error;
  • if the agent is compiled with libjail: the text value of the parameter will return information about the processes in the jail with the specified name.

If the agent is compiled on FreeBSD < 5.0 - the parameter is ignored.

Comment by Vyacheslav Terekhov [ 2022 Nov 04 ]

This is the final patch for src/libs/zbxsysinfo/freebsd/proc.c (I hope) for zabbix 6.2.4: proc.c.patch.
This patch leaves full compatibility with existing checks in templates, adding the ability to get extended information about processes.

The patch adds a fifth parameter for proc.num[] and a sixth parameter for proc.mem[], where you can pass jail name or jail id:

  • an empty value will return information about all processes (running both in jails and on the host);
  • a value of 0 will return information about the processes in the host;
  • a numeric value will return information about the processes in the jail with the specified id;
  • if the agent is compiled without libjail: the text value of the parameter will return an error;
  • if the agent is compiled with libjail: the text value of the parameter will return information about the processes in the jail with the specified name;
  • if the agent is compiled on FreeBSD < 5.0, an empty value or 0 can be passed to get information about processes only from the host, because jails are not supported.

Also, the code is formatted in accordance with the "C coding guidelines".
I haven't been able to test the agent on FreeBSD < 7.0, but on 7.4, 8.3, 9.0 and 12.3 the agent works predictably.





[ZBXNEXT-6333] Improve zabbix-agent efficiency using better processing of data before sending to server Created: 2020 Nov 09  Updated: 2020 Nov 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Evren Yurtesen Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I do not know if this is feasible. But it may be a good feature for scalability of Zabbix.

The zabbix-agent currently does very little processing before sending items to zabbix server. This can be improved by running preprocessing on the agent side.

 

Example situation:

Monitoring a host using prometheus metrics with `web.page.get` with active agent. The metrics data is 4MBytes in size. This is done by a master item and dependent items. Let's say we are monitoring a fraction of the items in the 4MBytes text document.

Currently zabbix-agent fetches the document and sends to zabbix-server. The zabbix-server extracts the dependent items and discards using preprocessing settings etc.

Wouldn't it be useful if the zabbix-agent could process the dependent items and do not send the original master item to zabbix-server if no hisory/trend period is defined? On top of it, it can take advantage of the discard/threshold functionality and further reduce the data transmission size. Data compression would be a plus...

 

It is currently possible to use zabbix-proxy to achieve this end result.  However it is cumbersome to use a proxy with every zabbix-agent obviously.

 

Could it be possible to somehow leverage the existing proxy code to make proxy run in a smaller context, only the cache local values for the same host without needing to setup proxy in zabbix server for every host? OR maybe such caching and processing features can be added to zabbix agent?

 

Thanks!



 Comments   
Comment by Evren Yurtesen [ 2020 Nov 10 ]

The same applies to things like java_gateway. If there is zabbix-agent installed on a host, why the server needs to query JMX directly? It require many java processes to run on the server and not very scalable.





[ZBXNEXT-5744] Send host metadata before stopping agent service Created: 2020 Feb 05  Updated: 2020 May 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Markus Fischbacher Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Problem

Currently the host metadata is send on specific occasions like the request to refresh active checks on an active agent or after restarting an agent.
But this might occur not often enough to send metadata before a agent is stopped manually.

For example:
Currently we use the metadata field for actions on autoregister. We have a local script to trigger some maintenance things which also adds an host metadata "maintenance", then restarts the zabbix agent to submit the host metadata and then stops the agent service. An action catches this metadata and moves the host to a specific host group.

If the metadata is sent right before the agent service is terminated it could be used to widen the automation options on actions.






[ZBXNEXT-5913] Swap space monitoring per container by docker template Created: 2020 Apr 24  Updated: 2020 Apr 27

Status: Elaborating
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: 5.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Aigars Kadikis Assignee: Anton Fayantsev (Inactive)
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I'm checking current docker template:

https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/templates/app/docker/template_app_docker.xml?at=357c67e2b9773382a8f77d8aaa4d389c064d721a

I think it's crucial to have a metric which shows if the container starts using swap space.

If I'm not mistaken, this information is represented:

grep ^VmSwap /proc/<pid>/status 





[ZBXNEXT-5742] Auto deregistration Created: 2020 Feb 05  Updated: 2020 May 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Markus Fischbacher Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Problem

Currently if a host gets decomissioned the zabbix-host get nodata/agent.ping fails and the items are stuck in queues.
We solve that currently with a hostmetadata entry ("dereg") and and agent service restart to transmit this metadata. On the zabbix server we have an Auto registration action which then disables the host.

Summary

It would be great, if the agent would send the server a signal if it gets uninstalled. In the frontend we would also need an Configuration > Actions > Event source: Auto deregistration where we then can define actions to decide what has to be done.

If the agent is reinstalled later the autoregistration could again trigger the configured actions for this scenario.






[ZBXNEXT-9001] Add wildcard modifier for exclude list of "services[]" item key Created: 2024 Feb 08  Updated: 2024 Mar 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Sergei Ratnikov Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please, add the wildcard modifier for <exclude> list of services[<type>,<state>,<exclude>] Zabbix Agent item key. I noticed that now some software providers started to add version number to the service name. Due to this it is very complex to maintain the list of excluded services. It is required continuously to add new service names to that list.

Good example is "GoogleUpdater" services coming with Google products. It was started from "gupdate,gupdatem". But now it looks like below (and not limited, because it will grow up in future with another versions added):
gupdate
gupdatem
GoogleUpdaterInternalService122.0.6253.0
GoogleUpdaterService122.0.6253.0
GoogleUpdaterInternalService122.0.6253.8
GoogleUpdaterService122.0.6253.8
GoogleUpdaterInternalService122.0.6253.9
GoogleUpdaterService122.0.6253.9
GoogleUpdaterInternalService123.0.6268.0
GoogleUpdaterService123.0.6268.0
GoogleUpdaterInternalService123.0.6268.6
GoogleUpdaterService123.0.6268.6
GoogleUpdaterInternalService123.0.6284.0
GoogleUpdaterService123.0.6284.0
...

Using the wildcard (* or another one) will simplify this list to:
"gupdate,gupdatem,GoogleUpdaterInternalService*,GoogleUpdaterService*"



 Comments   
Comment by Sergei Ratnikov [ 2024 Mar 05 ]

Since the last time few new service names have been appeared in the list. It is becoming annoying to update that list for every week:
gupdate
gupdatem
edgeupdate
edgeupdatem
GoogleUpdaterInternalService122.0.6253.0
GoogleUpdaterService122.0.6253.0
GoogleUpdaterInternalService122.0.6253.8
GoogleUpdaterService122.0.6253.8
GoogleUpdaterInternalService122.0.6253.9
GoogleUpdaterService122.0.6253.9
GoogleUpdaterInternalService123.0.6268.0
GoogleUpdaterService123.0.6268.0
GoogleUpdaterInternalService123.0.6268.6
GoogleUpdaterService123.0.6268.6
GoogleUpdaterInternalService123.0.6284.0
GoogleUpdaterService123.0.6284.0
GoogleUpdaterInternalService123.0.6288.0
GoogleUpdaterService123.0.6288.0
GoogleUpdaterInternalService123.0.6288.2
GoogleUpdaterService123.0.6288.2
GoogleUpdaterInternalService124.0.6315.0
GoogleUpdaterService124.0.6315.0
GoogleUpdaterInternalService124.0.6315.2
GoogleUpdaterService124.0.6315.2
GoogleUpdaterInternalService124.0.6337.0
GoogleUpdaterService124.0.6337.0

Comment by Sergei Ratnikov [ 2024 Mar 11 ]

Two new services in the list on this week:
gupdate
gupdatem
edgeupdate
edgeupdatem
GoogleUpdaterInternalService122.0.6253.0
GoogleUpdaterService122.0.6253.0
GoogleUpdaterInternalService122.0.6253.8
GoogleUpdaterService122.0.6253.8
GoogleUpdaterInternalService122.0.6253.9
GoogleUpdaterService122.0.6253.9
GoogleUpdaterInternalService123.0.6268.0
GoogleUpdaterService123.0.6268.0
GoogleUpdaterInternalService123.0.6268.6
GoogleUpdaterService123.0.6268.6
GoogleUpdaterInternalService123.0.6284.0
GoogleUpdaterService123.0.6284.0
GoogleUpdaterInternalService123.0.6288.0
GoogleUpdaterService123.0.6288.0
GoogleUpdaterInternalService123.0.6288.2
GoogleUpdaterService123.0.6288.2
GoogleUpdaterInternalService124.0.6315.0
GoogleUpdaterService124.0.6315.0
GoogleUpdaterInternalService124.0.6315.2
GoogleUpdaterService124.0.6315.2
GoogleUpdaterInternalService124.0.6337.0
GoogleUpdaterService124.0.6337.0
GoogleUpdaterInternalService124.0.6342.2
GoogleUpdaterService124.0.6342.2

Comment by Sergei Ratnikov [ 2024 Mar 14 ]

Few new items in the list. It is becoming very annoying to edit this exclusion list several times per week:

gupdate
gupdatem
edgeupdate
edgeupdatem
GoogleUpdaterInternalService122.0.6253.0
GoogleUpdaterService122.0.6253.0
GoogleUpdaterInternalService122.0.6253.8
GoogleUpdaterService122.0.6253.8
GoogleUpdaterInternalService122.0.6253.9
GoogleUpdaterService122.0.6253.9
GoogleUpdaterInternalService123.0.6268.0
GoogleUpdaterService123.0.6268.0
GoogleUpdaterInternalService123.0.6268.6
GoogleUpdaterService123.0.6268.6
GoogleUpdaterInternalService123.0.6284.0
GoogleUpdaterService123.0.6284.0
GoogleUpdaterInternalService123.0.6288.0
GoogleUpdaterService123.0.6288.0
GoogleUpdaterInternalService123.0.6288.2
GoogleUpdaterService123.0.6288.2
GoogleUpdaterInternalService124.0.6315.0
GoogleUpdaterService124.0.6315.0
GoogleUpdaterInternalService124.0.6315.2
GoogleUpdaterService124.0.6315.2
GoogleUpdaterInternalService124.0.6337.0
GoogleUpdaterService124.0.6337.0
GoogleUpdaterInternalService124.0.6342.2
GoogleUpdaterService124.0.6342.2
GoogleUpdaterInternalService124.0.6342.3
GoogleUpdaterService124.0.6342.3
GoogleUpdaterInternalService124.0.6355.0
GoogleUpdaterService124.0.6355.0





[ZBXNEXT-7471] Agent auto upgrade Created: 2022 Feb 05  Updated: 2023 Oct 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Luiz Nascimento Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 6
Labels: agent
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-8756 Automatic Agent Version Update Closed

 Description   

Provide agent auto upgrade feature. In large and complex network environments, keeping agents updated with latest patches requires a lot of effort. And not keeping agents updated can be even worse.

Auto upgrade should be optional. It should be possible to block auto upgrade in selected servers when server do not meet new agent requirements. It requires some way to throttle auto upgrade to avoid all agents trying to upgrade at same time.

Agent should be downloaded or pushed from server or proxy using current network ports and flows avoiding new network requirements.

Best regards.






[ZBXNEXT-9024] Agents Capacity Created: 2024 Feb 16  Updated: 2024 Mar 28

Status: Needs documenting
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (N)
Affects Version/s: 6.4.12rc1, 7.0.0beta2
Fix Version/s: 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Medium
Reporter: Michael Veksler Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
caused by ZBX-21703 Zabbix Agent2 is no longer retrieving... Closed
Sub-task
depends on ZBX-24017 Agent2 passive checks return "nil" in... Closed
Team: Team D
Sprint: S24-W10/11, S24-W14/15
Story Points: 2

 Description   

We need to provide ability to increase max number of allowed workers for Agent & Agent2:

Agent 2 v6.4:

  1. Set Max plugins capacity = 1000
  2. Set Default plugin capacity = 100

Agent 2 v7.0:

  1. Set Max plugins capacity = 1000
  2. Set Default plugin capacity = 1000

Agent v7.0:

  1. Set default value of  StartAgent = 10
  2. Set default value StartAgent = 3 for RaspberryX and similar small systems


 Comments   
Comment by Mihails Prihodko [ 2024 Mar 04 ]

Mini spec v1.0

Affected

  • Zabbix agent 2 with plugins
  • Zabbix agent 1
  • Packaging of Zabbix agent 1

Zabbix agent 2 plugin capacity calculation

Plugin capacity determines the maximal number of goroutines that can be started by a plugin simultaneously.

Plugin maximum capacity is currently calculated using the following rules.

Step 1.
MaxCapacity := the first defined value in the following priority:

  1. Plugins.<plugin name>.System.Capacity in plugin config
  2. Plugins.<plugin name>.Capacity in plugin config (deprecated)
  3. DefaultCapacity constant in plugin-support repo, in package plugin. It also acts as a maximal capacity (naming is somewhat misleading).

Step 2.
If MaxCapacity found during step 1 is larger than DefaultCapacity (number 3 above), then MaxCapacity := DefaultCapacity.

To be changed in Zabbix agent 2

Max plugin capacity in Zabbix agent 2 should be set by setting "DefaultCapacity" constant in "plugin-support" repo, in "package" plugin.

UPD (removed): If the Default plugin capacity should be different than max capacity, it should be set in Zabbix agent 2 by setting pluginOptions.System.Capacity to 

Capacity                 int  `conf:"default=<value>"`

UDP (added): If the Default plugin capacity should be different than max capacity, it should be set in Zabbix agent 2. Both 'System.Capacity' and the deprecated 'Capacity' should have higher priority than the default capacity.

If the Default plugin capacity should be equal to max capacity, it should not be set.

Agent 2 v6.4:

  1. Set Max plugins capacity = 1000
  2. Set Default plugin capacity = 100

Agent 2 v7.0:

  1. Set Max plugins capacity = 1000
  2. Set Default plugin capacity = 1000

A warning message should be logged if time spent in collector task exceeds the collector delay. That should be done by timing collector.Collect() execution in collectorTask.perform() and log warning if it exceeds collector.Period().

To be changed in Zabbix agent 1

Configuration parameter StartAgents determines the number of processes started as listeners.

The default value of StartAgents should be set by setting config_forks[ZBX_PROCESS_TYPE_LISTENER] in src/zabbix_agent_zabbox_agentd.c

Agent v7.0:
Set default value of StartAgents = 10

As Jurijs Klopovskis suggested, a smaller capacity equal to 3 for small systems should be set during packaging.

 

wiper 1.0
yurii 1.0
Comment by Mihails Prihodko [ 2024 Mar 25 ]

QA-note

Capacities can be checked by defining the 'StatusPort' parameter in zabbix_agent2.conf and checking capacities for different plugins using a browser like so https://www.zabbix.com/documentation/current/en/manual/appendix/config/zabbix_agent2#statusport

Comment by Mihails Prihodko [ 2024 Mar 28 ]

Available in versions:

Comment by Mihails Prihodko [ 2024 Mar 28 ]

(3) [D]





[ZBXNEXT-7536] MSI installer HostnameItem parameter Created: 2022 Mar 04  Updated: 2022 Aug 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G)
Affects Version/s: 5.4.10, 5.4.11, 6.0.0, 6.0.1
Fix Version/s: None

Type: New Feature Request Priority: Low
Reporter: tuor Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi

This should be a very small change.

We are deploying the agent with a GPO and it would be a lot simpler, if we could pass the HostnameItem as MSI parameter instead of having to deploy a separate file into the Zabbix Agent config directory.

The list of currently supported parameters: https://www.zabbix.com/documentation/current/en/manual/installation/install_from_packages/win_msi#supported-parameters

Thank you!



 Comments   
Comment by Juan [ 2022 Jul 25 ]

This option would really help us deploy the agent on 1000+ servers. I see the HOSTMETADATAITEM is supported out of the box, so why not HOSTNAMEITEM and HOSTINTERFACEITEM ?

 

Thank you





[ZBXNEXT-7744] Redis SSL Support for Zabbix Agent 2 Created: 2022 May 26  Updated: 2023 Dec 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 6.0.4
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Parva Assignee: Aleksandre Sebiskveradze
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File Redis_zabbix_error-1.jpg    

 Description   

Hi,

I am unable to get Redis data for Redis parameters after SSL.
For Non-SSL, all the data are being fetched.
Can you help me with the parameter to define for fetching data after Redis SSL?
The installed Redis version is 6.2.3 and in Redis, TLS authentication is enabled with certificates.



 Comments   
Comment by James Howe [ 2023 Dec 14 ]

As a workaround, you could configure redis to also listen on a local unix socket, and have zabbix connect via that.





[ZBXNEXT-9081] Disks on a HBA are not discovered by zabbix Created: 2023 Nov 03  Updated: 2024 Mar 28

Status: IN QA
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Critical
Reporter: Stefan Assignee: Andrejs Zazuks
Resolution: Unresolved Votes: 0
Labels: SMART, disk
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zabbix_agent2_smart-discovery_scsi.log    
Issue Links:
Causes
Duplicate
Team: Team B
Story Points: 2

 Description   

Steps to reproduce:

  1. Server with SAS-harddisks which are directly connected to an HBA
  2. add smart-template or ask zabbix-agent2 directly

Result:
in short:

smartctl raw output:

smartctl --scan 
/dev/sda -d scsi # /dev/sda, SCSI device 
/dev/sdb -d scsi # /dev/sdb, SCSI device 
/dev/sdc -d scsi # /dev/sdc, SCSI device 
/dev/sdd -d scsi # /dev/sdd, SCSI device 
/dev/sde -d scsi # /dev/sde, SCSI device 
/dev/sdf -d scsi # /dev/sdf, SCSI device 
/dev/sdg -d scsi # /dev/sdg, SCSI device 
/dev/sdh -d scsi # /dev/sdh, SCSI device 
/dev/sdi -d scsi # /dev/sdi, SCSI device 
/dev/sdj -d scsi # /dev/sdj, SCSI device 
/dev/sdk -d scsi # /dev/sdk, SCSI device 
/dev/sdl -d scsi # /dev/sdl, SCSI device 
/dev/sdm -d scsi # /dev/sdm, SCSI device 
/dev/sdn -d scsi # /dev/sdn, SCSI device 
/dev/sdo -d scsi # /dev/sdo, SCSI device 
/dev/sdp -d scsi # /dev/sdp, SCSI device 
/dev/sdq -d scsi # /dev/sdq, SCSI device 
/dev/sdr -d scsi # /dev/sdr, SCSI device 
/dev/sds -d scsi # /dev/sds, SCSI device 
/dev/sdt -d scsi # /dev/sdt, SCSI device 
/dev/sdu -d scsi # /dev/sdu, SCSI device 
/dev/sdv -d scsi # /dev/sdv, SCSI device 
/dev/sdw -d scsi # /dev/sdw, SCSI device 
/dev/sdx -d scsi # /dev/sdx, SCSI device 
/dev/sdy -d scsi # /dev/sdy, SCSI device 
/dev/sdz -d scsi # /dev/sdz, SCSI device 
/dev/sdaa -d scsi # /dev/sdaa, SCSI device 
/dev/sdab -d scsi # /dev/sdab, SCSI device 
/dev/sdac -d scsi # /dev/sdac, SCSI device 
/dev/sdad -d scsi # /dev/sdad, SCSI device 
/dev/sdae -d scsi # /dev/sdae, SCSI device 
/dev/sdaf -d scsi # /dev/sdaf, SCSI device

but zabbix discover just two of them, which are SATA:

smart.disk.discovery                          [s|[{"{#NAME}":"sdae sat","{#DISKTYPE}":"ssd","{#MODEL}":"INTEL SSDSC2KB480GZ","{#SN}":"PHYI233307HB480BGN","{#PATH}":"/dev/sdae","{#RAIDTYPE}":"sat","{#ATTRIBUTES}":"Reallocated_Sector_Ct Power_On_Hours Power_Cycle_Count Available_Reservd_Space Program_Fail_Count Erase_Fail_Count Unsafe_Shutdown_Count Power_Loss_Cap_Test SATA_Downshift_Count End-to-End_Error_Count Uncorrectable_Error_Cnt Drive_Temperature Unsafe_Shutdown_
Count Temperature_Celsius Pending_Sector_Count CRC_Error_Count Host_Writes_32MiB Workld_Media_Wear_Indic Workld_Host_Reads_Perc Workload_Minutes Unknown_SSD_Attribute Available_Reservd_Space Media_Wearout_Indicator Thermal_Throttle_Status Power_Loss_Cap_Test Host_Writes_32MiB Host_Reads_32MiB NAND_Writes_32MiB"},{"{#NAME}":"sdaf sat","{#DISKTYPE}":"ssd","{#MODEL}":"INTEL SSDSC2KB480GZ","{#SN}":"PHYI233307QZ480BGN","{#PATH}":"/dev/sdaf","{#RAIDTYPE}":"sat","{#ATTRIBUTES}":"Reallocated_Sector_Ct Power_On_Hours Power_Cycle_Count Available_Reservd_Space Program_Fail_Count Erase_Fail_Count Unsafe_Shutdown_Count Power_Loss_Cap_Test SATA_Downshift_Count End-to-End_Error_Count Uncorrectable_Error_Cnt Drive_Temperature Unsafe_Shutdown_Count Temperature_Celsius Pending_Sector_Count CRC_Error_Count Host_Writes_32MiB Workld_Media_Wear_Indic Workld_Host_Reads_Perc Workload_Minutes Unknown_SSD_Attribute Available_Reservd_Space Media_Wearout_Ind
icator Thermal_Throttle_Status Power_Loss_Cap_Test Host_Writes_32MiB Host_Reads_32MiB NAND_Writes_32MiB"}]]

I also attached an more detailed (verbose) output..

Expected:

that all Disks are discovered, which is important in a storage area  

 

The go script should discover all disks and remove dublicates by serialnumber, so we don't need to iterate through all combinations, just the things that smartctl --scan discovered



 Comments   
Comment by Stefan [ 2023 Nov 08 ]

I looked at the code and tried to understand it..

in smartfs.go the function getBasicDevices does a for-loop over r.names, but r.names is always empty because it compares with -d sat which can be the same output for SAS drives that are directly connected. Since the scan-option is good in smartctl we can use/parse the output and don't need to iterate over all -d options. If not we need to rethink the logic in the functions getDevices and formatDeviceOutput..

 

Since it's quite important and useless in a lot of cases it would be great if someone could increase the priority

Comment by Jean Cardona [ 2024 Jan 05 ]

I'm having the same issue on a Dell T320 server with a mix of consumer SSD and SAS drives.

The consumer SSD are recognized correctly, but the SAS drive are not.

smartctl raw output:

 

smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/sdd -d scsi # /dev/sdd, SCSI device
/dev/sde -d scsi # /dev/sde, SCSI device

 

Zabbix discovery:

[
    {
        "{#NAME}": "sda sat",
        "{#DISKTYPE}": "ssd",
        "{#MODEL}": "Samsung SSD 850 PRO 256GB",
        "{#SN}": "S39KNX0J210777Y",
        "{#PATH}": "/dev/sda",
        "{#RAIDTYPE}": "sat",
        "{#ATTRIBUTES}": "Reallocated_Sector_Ct Power_On_Hours Power_Cycle_Count Wear_Leveling_Count Used_Rsvd_Blk_Cnt_Tot Program_Fail_Cnt_Total Erase_Fail_Count_Total Runtime_Bad_Block Uncorrectable_Error_Cnt Airflow_Temperature_Cel ECC_Error_Rate CRC_Error_Count POR_Recovery_Count Total_LBAs_Written"
    },
    {
        "{#NAME}": "sdb sat",
        "{#DISKTYPE}": "ssd",
        "{#MODEL}": "Samsung SSD 840 PRO Series",
        "{#SN}": "S1ANNSADC38401B",
        "{#PATH}": "/dev/sdb",
        "{#RAIDTYPE}": "sat",
        "{#ATTRIBUTES}": "Reallocated_Sector_Ct Power_On_Hours Power_Cycle_Count Wear_Leveling_Count Used_Rsvd_Blk_Cnt_Tot Program_Fail_Cnt_Total Erase_Fail_Count_Total Runtime_Bad_Block Uncorrectable_Error_Cnt Airflow_Temperature_Cel ECC_Error_Rate CRC_Error_Count POR_Recovery_Count Total_LBAs_Written"
    }
]

 





[ZBXNEXT-8804] Be able to use a docker socket proxy instead of mapping directly the volu Created: 2023 Oct 29  Updated: 2024 Feb 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Kaybi Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 1
Labels: agent, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,

It would be awesome if "Plugins.Docker.Endpoint" parameter could use a docker socket proxy instead of only supporting unix.

For instance Netdata does it: https://learn.netdata.cloud/docs/installing/docker#with-docker-socket-proxy

Examples of docker socket proxies:

Kind regards



 Comments   
Comment by Kaybi [ 2023 Nov 03 ]

Created a pull request for that feature request: https://github.com/zabbix/zabbix/pull/115





[ZBXNEXT-9028]  Consistent device naming on linux Created: 2024 Feb 20  Updated: 2024 Mar 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 6.4.11
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Roy Sigurd Karlsbakk Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Team: Team INT

 Description   

Hi all

Today, Zabbix finds devices like sda, sdb, sdc etc and that is generally fine on smaller systems. On larger, however, if you have a lot, like 20 or 80 drives, those won't be given the same device name on each bootup. Your sdd and sdc can swap place because one was detected before the other. From Linux' point of view, this isn't a bug at all, since device names shouldn't be trusted anyway. If you keep on trusting device names, zabbix will show all sorts of interesting errors that aren't there, for instance a drive in a RAID where the smart counters have started ticking, and then, after a reboot, another drive has the same count, but the first has zero. So, with the old smartctl check (before zabbix_agent2), I rewrote the discovery to allow for returning a consistent path to the device, namely /dev/disk/by-id/ata-something-blabla (or scsi- or usb-), which then is a symlink to the real device. I know this works and it removes a lot of false positives. The problem is - how can I make Zabbix' LLD for blockdevices do the same? Rewrite the whole thing in scripts? It'd be very nice if there was a way to have zabbix_agent2 do this on its own. My versjon of the LLD script for disks is here in case someone wants to have a peek https://github.com/rkarlsba/ymse/blob/master/zabbix/zbx-smartctl/discovery-scripts/nix/smartctl-disks-discovery.pl

roy 



 Comments   
Comment by Roy Sigurd Karlsbakk [ 2024 Mar 08 ]

Is there any progress on this?





[ZBXNEXT-7876] extend "oracle.ts.discovery" key output to include SEGMENT_SPACE_MANAGEMENT as additional LLD macro Created: 2022 Jul 20  Updated: 2023 Jan 19

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Oleksii Zagorskyi Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Team: Team INT

 Description   

https://www.zabbix.com/documentation/6.0/en/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2#oracle

Some may need to monitor only table spaces, created with MANUAL extent, not AUTO.
It would be nice to include the property to the existing LLD key to be able to use it in filters.

We probably need to alter just one SQL query in this source file https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/plugins/oracle/handler_tablespaces_discovery.go

Some external links about the topic:

http://www.dba-oracle.com/oracle_tips_mamt_segment_management.htm

https://oracle-base.com/articles/9i/automatic-segment-free-space-management

 






[ZBXNEXT-7961] Bigger call timeout for Agent 2 Oracle plugin Created: 2022 Sep 06  Updated: 2023 Jul 29

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 6.0.8
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aigars Kadikis Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2022-09-06-17-20-52-023.png    
Issue Links:
Duplicate
duplicates ZBX-20110 Zabbix agent2: plugin oracle -> handl... Closed
Sub-task
Team: Team INT

 Description   

From the link:

https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/conf/zabbix_agent2.d/plugins.d/oracle.conf?at=refs%2Fheads%2Frelease%2F6.0

There are settings like:

### Option: Plugins.Oracle.CallTimeout
#    The maximum time in seconds for waiting when a request has to be done.
#
# Mandatory: no
# Range: 1-30
# Default:
# Plugins.Oracle.CallTimeout=<Global timeout> 

The problem is with huge oracle database to measure all table spaces it takes multiple minutes to complete. This item can be timeconsuming:

Please allow to configure up to 5m of execution time:

 # Range: 1-300


 Comments   
Comment by Denis Monari [ 2023 Jul 29 ]

I suggest to extend the CallTimeout to a bigger value, like 300 seconds. Otherwise this plugin is not useful in medium or bigger systems.

CallTimeout int `conf:"optional,range=1:300"`




[ZBXNEXT-8665] zabbix agent2 mongodb, use db.getReplicationInfo() to get oplog timediff Created: 2023 Aug 30  Updated: 2024 Feb 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: liaolinbo Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Refer to sourcecode the implementaion of oplog timediff is diff the last and first oplog.

Why not use db.getReplicationInfo.timeDiff api to get it?



 Comments   
Comment by liaolinbo [ 2023 Aug 30 ]

Sorry, the sourcecode link is: https://git.zabbix.com/projects/AP/repos/mongodb/browse/plugin/handlers/handler_oplog_stats.go#44





[ZBXNEXT-8767] Add systemd trigger prototype for failed units Created: 2023 Oct 18  Updated: 2023 Oct 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 6.4.7
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Florain Schmaus Assignee: Vjaceslavs Bogdanovs
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The systemd plugin has current a trigger prototype for non-running units with level warning (and for recently restarted services).

 

Please also add a trigger prototype for failed units with level error.






Zabbix agent2 mssql plugin (ZBXNEXT-6235)

[ZBXNEXT-8673] Investigate and implement Kerberos auth with MSSQL Created: 2023 Sep 01  Updated: 2023 Sep 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Rudolfs Zvejs Assignee: Rudolfs Zvejs
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team INT

 Description   

Explore and implement using Kerberos for authenticating a connection from plugin to a MSSQL server.






[ZBXNEXT-9000] Agent2 Oracle Plugin should query v$asm_diskgroup_stat instead of v$asm_diskgroup Created: 2024 Feb 08  Updated: 2024 Feb 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 6.4.10
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Hadar Paiss Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Oracle?



 Description   

Agent2 Oracle Plugin should query v$asm_diskgroup_stat instead of v$asm_diskgroup in two files in: Zabbix/[src|https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src]/[go|https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go]/[plugins|https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/plugins]/oracle/

handler_asm_diskgroups.go

handler_asm_diskgroups_discovery.go

 

Querying  v$asm_diskgroup  force Oracle to rescan the disks which is slow and has a laot of overhead for Oracle and system.

Querying  v$asm_diskgroup_stat return the exact same data (both rows and columns) without rescanning disks.

Thanks,

Hadar






[ZBXNEXT-7539] ODBC and Zabbix Agent2 - Monitoring Execution SQL Query time Created: 2022 Mar 08  Updated: 2022 Nov 23

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N), Server (S)
Affects Version/s: 6.0.1
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Dimitri Bellini Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 0
Labels: Agent2, odbc
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team INT

 Description   

We received a good number of requests from our customers about monitoring the execution time of a specific SQL query.
I know, we can use "external script" or "user parameters" but i did not like so much this way, I prefer to manage all of this stuff directly with a template (more polished).
Could be nice to see this kind of new item inside the ODBC and Agent2 DB monitor plugin.
Thanks so much DevTeam






[ZBXNEXT-8731] unable to monitor esxi hosts in zabbix Created: 2023 Oct 01  Updated: 2023 Oct 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 6.4.7
Fix Version/s: None

Type: Epic Priority: Trivial
Reporter: mukesh bhoir Assignee: Vjaceslavs Bogdanovs
Resolution: Unresolved Votes: 0
Labels: agent
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

esxi vmare


Epic Name: vmware exsi monitoring issue
Story Points: 6

 Description   

i have install zabbix server and when i adding esxi vmware in monitoring data is not fetching.Is agent installation is required on esxi host?






[ZBXNEXT-8248] Zabbix_agent2: "LLD.FILTER.DB.NOT_MATCHES" for MySQL plugin Created: 2023 Feb 03  Updated: 2023 Jul 04

Status: Elaborating
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N), Templates (T)
Affects Version/s: 6.0.12
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Nexus-256 Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team INT

 Description   

Good afternoon!

I think it would be better to add a macro to the MySQL plugin in which you can specify a list of databases that do not need to be detected.

For example, this is very conveniently implemented in the MongoDB plugin:

{$MONGODB.LLD.FILTER.DB.NOT_MATCHES} (admin|config|local)

At the moment, a similar regular expression does not work in the MySQL plugin.
I had to set a separate filter for each database in "mysql.db.discovery", but this is not very convenient.

Maybe there is some other way to specify multiple databases in a filter that I don't know about yet.

 

 






[ZBXNEXT-8260] SAP Agent plugin for Zabbix agent 2 Created: 2023 Feb 08  Updated: 2024 Mar 07

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Eriks Sneiders Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Team: Team INT

 Description   

Add plugin to Zabbix agent 2 that would allow to gather metrics from SAP agent.






[ZBXNEXT-7796] Add support of global state to systemd.unit.info and systemd.unit.get Created: 2022 Jun 13  Updated: 2023 Jan 19

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: v99glu Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team INT

 Description   

As of 2022-06-13 Zabbix Agent2 does not have ability corresponding to command systemctl show.
This command shows overall system status rather than unit status and particularly property SystemState that is most important indicator of system operation state.
For example command systemctl show --property=SystemState --value returns literal "degraded" when at least one systemd unit is in failed state. It will be worth to support item keys like systemd.unit.info[,SystemState] and systemd.unit.get[] on a zabbix side.






[ZBXNEXT-7425] Please add systemd.unit.info["{#UNIT.NAME}",Type,Service] information to the systemd.unit.get["{#UNIT.NAME}"] query. Created: 2022 Jan 14  Updated: 2022 Dec 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 5.4.9
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Rudolf Kastl Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File systemd by zabbix agent2 active.yaml     File template_app_systemd_active.yaml     File zabbix-6.2-systemd.yml     File zbx_export_templates.yaml    

 Description   

In my environment i am checking for systemd.unit.info"{#UNIT.NAME}",Type,Service to get the service type. Additionally i have set a trigger condition that for example services with type "oneshot" will not fire the trigger.

With the latest provided systemd template all data is gathered in one go by: systemd.unit.get"{#UNIT.NAME}"

Unfortunately to get the service type i have to run another query separately for each service: systemd.unit.info"{#UNIT.NAME}",Type,Service 

In the ideal world the initial systemd.unit.get"{#UNIT.NAME}" would also include the data of systemd.unit.info"{#UNIT.NAME}",Type,Service to have a single query get the service type information.

If you need  additional information please let me know.

 

 

 



 Comments   
Comment by Rudolf Kastl [ 2022 Jan 18 ]

Added the enhanced active systemd check that i am using currently.

Comment by Orion Poplawski [ 2022 Aug 24 ]

The exclusion of oneshot services from the server trigger is really needed - otherwise you get a lot of spurious alerts.  This still seems to be an issue with 6.0/6.2

Comment by Orion Poplawski [ 2022 Aug 24 ]

Rudolf - do you by any chance have an updated template from 6.0?  Thanks.

Comment by Rudolf Kastl [ 2022 Aug 24 ]

I do use 6.2.1 now. Will update tomorrow with a fresh export.

Comment by Rudolf Kastl [ 2022 Aug 29 ]

zbx_export_templates.yaml<- 6.2 version (active monitoring)

Comment by Orion Poplawski [ 2022 Aug 30 ]

After looking at the zabbix systemd go plugin code a bit, I think the main limitation is the various systemd DBus interfaces.  zabbix is getting all of the "Unit" information in the discovery - but the "Service Type" is part of the Service API.  I'm not sure it's worth hacking in an additional call to get the service type in the discovery phase - the additional condition in the trigger may be appropriate.  I still want to track when oneshot services run, so I don't want them fully excluded from the service monitoring.

I've attached my version of the active agent template.

Comment by Rudolf Kastl [ 2022 Sep 29 ]

Thanks. Another question is really the dbus activated services.  One of the popular ones is timedatex e.g. but there are others.

 

 

Comment by Rudolf Kastl [ 2022 Dec 01 ]

This is my latest active agent2 systemd template: zabbix-6.2-systemd.yml

 

It provides:

  • getting of service api information that is relevant for monitoring (such as service type)
  • exclusion of "dbus" and "oneshot" servicetypes from the service trigger (dbus activated services are not always continously running)
  • an info trigger for services that are running but not enabled

 





[ZBXNEXT-6997] Keep zabbix agent 2 configuration on restart Created: 2021 Oct 12  Updated: 2021 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 5.4.5
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: vyidanov Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

windows or linux no metter



 Description   

Steps to reproduce:

we are talking about zabbix agent2
on the client the following settings:

/etc/zabbix/zabbix-agent2.conf
EnablePersistentBuffer = 1
PersistentBufferPeriod = 1d
PersistentBufferFile = /var/spool/zabbix/agent.db

when the tcp connection is lost and resumed, everything works normally.
BUT if the client computer was working, then network disconected manualy and after some time, reboot.
the collection of new metrics will not occur.
and when the connection is restored, the data that was collected before the reboot is sent to the server.
**it is clear that this is a feature of the "active agent" check type

 Expected:

Is it possible to make a key in config - which allows persistentBufferFile to persist store
data about the last successful set of metrics.
and when starting a client without a network, the agent would continue to collect the necessary metrics.

 



 Comments   
Comment by Alexander Vladishev [ 2021 Oct 13 ]

Moved to ZBXNEXT project due it is a new feature request.





[ZBXNEXT-6783] Add number representation for systemd.unit.info Created: 2021 Jul 19  Updated: 2022 Oct 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 5.0.13
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Khatsayuk Alexander Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi all. Will be great to have a number representation for metrics like "ActiveState" for systemd unit like it done for service.info for Windows Services. It's rather not comfortable to store string data instead of numeric.

Yes, I know that we can use systemd.unit.get, but it has overhead with a lot of extra data returned with item and it must contains preprocessing step for item.






[ZBXNEXT-8803] Additional SMART data for SSDs Created: 2023 Oct 26  Updated: 2023 Nov 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Stephen Erisman Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I have noticed several important missing SMART data values for various SSD types.

All of these are already returned by `smartctl -a -j /dev/xxx` but are not yet being returned by the Zabbix Agent2 and therefore not available to the SMART monitoring template.

 

All SSD types (possibly useful for HDDs as well):

  • Logical block size: (size in bytes of each logical block)
    • JSON path: "logical_block_size"
    • Note: This would be useful along with Total_LBAs_Read / Total_LBAs_Written to be able calculate total MB/GB/TB read/written.

NVMe SSDs:

  • Data units read (count of logical blocks read)
    • JSON path: "nvme_smart_health_information_log"."data_units_read"
  • Data units written (count of logical blocks written)
    • JSON path: "nvme_smart_health_information_log"."data_units_written"
  • Note: These are roughly the equivalent of the Total_LBAs_Read and Total_LBAs_Written that many SATA SSDs already return.

SAS SSDs:

  • Percentage used (estimated % lifetime used)
    • JSON path: "scsi_percentage_used_endurance_indicator"
    • Should probably be returned in the same field that is used for the equivalent NVMe value.

Having these additional data values available would be quite helpful in monitoring SSD health over time.



 Comments   
Comment by Claus Rosenberger [ 2023 Nov 20 ]

This feature request is important to create pre warnings before the TBW threshold provided by the vendor will be reached. Also the time to replace the drives can be estimated in a better way.





Zabbix agent2 mssql plugin (ZBXNEXT-6235)

[ZBXNEXT-8675] Explore and implement Azure Active Directory authentication for DB connections Created: 2023 Sep 01  Updated: 2023 Sep 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Rudolfs Zvejs Assignee: Rudolfs Zvejs
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team INT

 Description   

Explore and implement Azure Active Directory authentication for DB connections






[ZBXNEXT-7465] Support STARTTLS for agent2-based certificate monitoring Created: 2022 Feb 02  Updated: 2023 Nov 01

Status: Elaborating
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 5.4.10, 6.0.0beta3, 6.0.0rc1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Christian Anton Assignee: Rudolfs Zvejs
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

any


Team: Team INT

 Description   

The new web.certificate.get item key supports a lot of options to gather information from certificates, such as SNI etc.

BUT: it does not support monitoring certificates through a connection that requires STARTLS to initiate the encrypted connection, such as some email servers which listen only on port 25 (or an unencrypted submission port) and require to initiate the certificate handshake from client side with the STARTTLS command.

Nagios' monitoring_plugins plugin "check_ssl_certificate" offers such an option:

-a <add> add the text to the openssl line, used for checking the smtp ssl certificate with starttls ("-a '-starttls smtp'")

This way, you can monitor the certificate from a STARTTLS enabled SMTP-server like this, for example:

/opt/plugins/custom/check_ssl_certificate -H 1.2.3.4 -p 25 -a "-starttls smtp" -v -w 90 -c 30 Result code: WARNING check_ssl_certificates: WARNING - only 76 day(s) left for *.my-company.com[1.2.3.4].

Would be very useful to have this functionality also in Zabbix.



 Comments   
Comment by Christian Anton [ 2022 Feb 03 ]

The argument of the nagios plugin mentioned above is by the way just a wrapper of the corresponding openssl s_client command argument, as shown here:

 -starttls prot - use the STARTTLS command before starting TLS
                 for those protocols that support it, where
                 'prot' defines which one to assume.  Currently,
                 only "smtp", "lmtp", "pop3", "imap", "ftp" and "xmpp"
                 are supported.

 

So, really a "low hanging fruit".

 

Comment by user185953 [ 2023 Jun 19 ]

Yes, I am also surprised that native certificate monitoring is so limited, especially if it is "low hanging fruit" like you say.

It would be awesome if I could monitor my SMTP, PostgreSQL, XMPP and NNTP server  certificates out of the box.

 

PS: Anton, what is your openssl version? Even "OpenSSL 1.0.2k", offers more starttls options than that:

 -starttls prot - use the STARTTLS command before starting TLS
                 for those protocols that support it, where
                 'prot' defines which one to assume.  Currently,
                 only "smtp", "pop3", "imap", "ftp", "xmpp",
                 "xmpp-server", "irc", "postgres", "lmtp", "nntp",
                 "sieve" and "ldap" are supported.
Comment by user185953 [ 2023 Oct 13 ]

Any suggestions how new item should look?

 

I think  tls.certificate.get is good name, but most compatible is keeping web.certificate.get and putting protocol before url like "protocol://server.address":

If "protocol" is STARTTLS protocol supported in openssl, "protocol://server.address" gives TLS check with that STARTTLS protocol.

If "protocol" is supported starttls protocol with "s" appended - like "smtps" or "ldaps" - then "protocols://server.address" gives direct TLS check.

For backwards compatibility also "server.address", "tls://server.address", "ssl://server.address" and "https://server.address" gives direct TLS check like before.

For more backwards compatibility also maybe make "http://server.address" give direct TLS check, despite it is wrong because no STARTTLS support in http?

 





[ZBXNEXT-8755] Add ability to influence the UpdateStrategy for the Zabbix Agent 2 Helm Chart Created: 2022 Mar 16  Updated: 2023 Oct 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N), Installation (I)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Michaela DeForest Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: agent, helm
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

  1. Install Zabbix Agent Helm Chart
  2. Make a modification to the chart

Result:
The DaemonSet for the Zabbix Agent Helm Chart takes a long time to restart because it does not set the DaemonSet `maxUnavailable` value.
Expected:

Allow UpdateStrategy Values to be modified in order to reduce update time.

 

Allow the update strategy and `maxUnvailable` values to be configurable, so that we can increase the `maxUnavailable` value.






[ZBXNEXT-6165] Plugin Lifecycle communication and documentation Created: 2020 Aug 27  Updated: 2022 Mar 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Markus Fischbacher Assignee: Aleksandre Sebiskveradze
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 5.0.x



 Description   

Is there a way to communicate the state of a plugin to the server? Maybe as a metric.
For example: we would like to have a plugin which tells the state about the zabbix agent or more specific it's last state.

If the agent2 was manuall/intentionally stopped the Plugin Manager stops the plugins and the plugin sends a last message "stopped" for example. If the agent2 crashed this would not happen.

Also we have an "wrapper-package" which installs the agent/agent2 and some scripts to the clients. In this package we handle some "client-lifecycle" logic (installed/uninstalled). If the package gets uninstalled it writes to a file ("installed"/"uninstalled") which is then read by the agent - with this way somewhat automate the host activation/deactivation in zabbix. Currently we do this with restarting the agent service and then stopping it before the uninstall happens.

With the above function/feature a agent2 plugin could read described file and submitting the state a last time on stopping. This way we wouldn't have to play around with service restarts.



 Comments   
Comment by Markus Fischbacher [ 2020 Aug 27 ]

Beside that It would be great if the Zabbix Documentation or at least the agent2 source code. Could describe the lifecycle of function calls for the various plugin types a bit better. Idealy in a graphic but at least in text.

Currently for newcommers it's kind of hard to grasp which functions are called when through figuring out through source code and trial and error.





[ZBXNEXT-7595] zabbix agent 6.0.2 cannot get system.hw.chassis[*] in HP server Created: 2022 Mar 31  Updated: 2022 Oct 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 6.0.2
Fix Version/s: None

Type: New Feature Request Priority: High
Reporter: gaojian Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

I can't get system.hw.chassis[*] using zabbix_get when zabbix_agent2 version is 6.0.2,but i using zabbix_agent version is 3.4.4 is fine。



 Description   

zabbix client:

[root@oc-yx-hdp-18-196 ~]# dmidecode -t 1

  1. dmidecode 3.1
    Getting SMBIOS data from sysfs.
    SMBIOS 2.8 present.

Handle 0x0009, DMI type 1, 27 bytes
System Information
        Manufacturer: HP
        Product Name: ProLiant DL380 Gen9
        Version: Not Specified
        Serial Number: 6CU630Y2B1
        UUID: 30393137-3136-4336-5536-333059324231
        Wake-up Type: Power Switch
        SKU Number: 719061-B21
        Family: ProLiant

[root@oc-yx-hdp-18-196 ~]# hostname -i
10.174.18.196

[root@oc-yx-hdp-18-196 ~]# netstat -antup | grep zabbix
tcp        0      0 0.0.0.0:20050           0.0.0.0:*               LISTEN      2769/./zabbix_agent 
tcp6       0      0 :::20051                :::*                    LISTEN      26068/./zabbix_agen 

[root@oc-yx-hdp-18-196 ~]# ps -aux | egrep '2769|26068'
root      2769  0.0  0.0  21020   760 ?        S    Mar23   0:00 ./zabbix_agentd
root     26068  1.1  0.0 2795016 37300 ?       Sl   Mar28  48:38 ./zabbix_agent2
root     32493  0.0  0.0 112712   984 pts/0    S+   18:01   0:00 grep -E --color=auto 2769|26068

[root@oc-yx-hdp-18-196 ~]# zabbix-3.4.4/sbin/zabbix_agentd -V
zabbix_agentd (daemon) (Zabbix) 3.4.4
Revision 74338 7 November 2017, compilation time: Nov  7 2019 14:27:01

Copyright (C) 2017 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

[root@oc-yx-hdp-18-196 ~]# zabbix-6.0.2/sbin/zabbix_agent2 -V
zabbix_agent2 (Zabbix) 6.0.2
Revision d726a4d916 14 March 2022, compilation time: Mar 16 2022 13:41:43

Copyright (C) 2022 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
We use the library Eclipse Paho (eclipse/paho.mqtt.golang), which is
distributed under the terms of the Eclipse Distribution License 1.0 (The 3-Clause BSD License)
available at https://www.eclipse.org/org/documents/edl-v10.php

We use the library go-modbus (goburrow/modbus), which is
distributed under the terms of the 3-Clause BSD License
available at https://github.com/goburrow/modbus/blob/master/LICENSE

 

zabbix server:

abnormal

[root@monitor ~]# zabbix_get -s 10.174.18.196 -p 20051 -k "system.hw.chassis[model]"

[root@monitor ~]# zabbix_get -s 10.174.18.196 -p 20051 -k "system.hw.chassis[serial]"
Intel(R) Corporation
[root@monitor ~]# zabbix_get -s 10.174.18.196 -p 20051 -k "system.hw.chassis[vendor]"
ZBX_NOTSUPPORTED: Cannot obtain hardware information.

normal

[root@monitor ~]# zabbix_get -s 10.174.18.196 -p 20050 -k "system.hw.chassis[vendor]"

HP
[root@monitor ~]# zabbix_get -s 10.174.18.196 -p 20050 -k "system.hw.chassis[model]"
ProLiant DL380 Gen9
[root@monitor ~]# zabbix_get -s 10.174.18.196 -p 20050 -k "system.hw.chassis[serial]"
6CU630Y2B1

[root@monitor ~]# zabbix_get -V
zabbix_get (Zabbix) 6.0.2
Revision d726a4d916 14 March 2022, compilation time: Mar 14 2022 12:18:22

Copyright (C) 2022 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).

Compiled with OpenSSL 1.1.1g FIPS  21 Apr 2020
Running with OpenSSL 1.1.1g FIPS  21 Apr 2020






[ZBXNEXT-6778] CRI-O/crictl support for zabbix container monitoring, or possibly higher level gRPC LLD Created: 2021 Jul 14  Updated: 2022 Oct 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: High
Reporter: Alex King Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 7
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

There has been a move the last several months of kubernetes and other container orchestration moving away from using the docker. They are moving to a containerd CRI-O approach which doesn't use the docker socket. This means the current functionality interfacing with /var/run/docker.sock, would have to be replaced with something like this https://github.com/cri-o/cri-o/blob/master/README.md#the-http-status-api _t_hat  provides metrics via their direct endpoint without a prom exporter.

Reference _with more information about CRI-O container metrics collection via https://github.com/cri-o/cri-o/blob/master/tutorials/metrics.md_

Given the rise in golang and gRPC calls, maybe it would make more sense for a higher level gRPC built in LLD that could work for anythingn with a gRPC interface, similar to how grpcurl works for any gRPC interactionn.

FWIW the location in zabbbibx source code where this is enabled for docker https://github.com/zabbix/zabbix/tree/master/src/go/plugins/docker






[ZBXNEXT-8700] Add TBW support (for SATA SSDs) to Zabbix SMART template Created: 2023 Sep 12  Updated: 2024 Feb 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: High
Reporter: Dan MacDonald Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 0
Labels: templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Recently I have come to realise that a SATA SSD passing a long or short smartctl test on a SATA SSD doesn't mean that the drives performance hasn't degraded.

It would seem that the correct way to test the health of a SATA SSD under Linux is to use one of these TBW (Total Bytes Written) scripts / commands which are based upon smartctl:

https://askubuntu.com/questions/865792/how-can-i-monitor-the-tbw-on-my-samsung-ssd

The current SMART template:

https://www.zabbix.com/integrations/smart

Has a percentage used item of NVMe disks but it seems to lack an equivalent for SATA disks which would be TBW.

I would like to see the Zabbix SMART template upgraded to support TBW for at least Samsung SSDs. I think it should alert by default when the TBW drops below 90%. I have a couple of disks with a TBW of 87% and it has brought the speed of the array (pool) down drastically.



 Comments   
Comment by dimir [ 2023 Sep 21 ]

Coming from https://www.zabbix.com/forum/zabbix-help/470638-monitoring-tbw-total-bytes-written-for-samsung-sata-ssds

Comment by Dan MacDonald [ 2023 Sep 29 ]

Actually, there's no need for that TBW script.

For Samsung SATA SSDs you can get the wear levelling count from smartctl:

smartctl -a /dev/sda | grep Wear | awk '{print $4}'

Comment by Dan MacDonald [ 2024 Feb 29 ]

I have found a Zabbix template that works for monitoring the wear levelling of Samsung SATA SSDs, even when they're connected to a RAID controller running in HBA/IT mode as is the case for me:

 

https://github.com/vargaloid/zabbix_template_samsung.ssd.smart

 

I have tested it with Zabbix 6.0, Ubuntu 22.04 and a Dell PowerEdge RAID controller of some sort.

Comment by Dan MacDonald [ 2024 Feb 29 ]

I have opened a ticket for it though because I think they need to adjust their default wear levelling trigger point by almost 90%

 

https://github.com/vargaloid/zabbix_template_samsung.ssd.smart/issues/2





[ZBXNEXT-6416] Enable MQTT Plug-in for Agent2 to support client-certificate with TLS Created: 2020 Dec 28  Updated: 2023 Dec 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 5.2.2
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Ted Cabeen Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File MQTT_ClientCerts.patch    

 Description   

Per the discussion in https://support.zabbix.com/browse/ZBXNEXT-6328 this is a feature request to add client certificate-based authentication to TLS connections with MQTT.  This is required to use the AWS IoT Core service.

In order to achieve this, the MQTT plugin will need to call tls.LoadX509KeyPair() with paths to the client cert and key, create a TLS Config object containing that configuration, then set the TLS config as an MQTT option using SetTLSConfig(). 

I have attached a patch that does this by treating a username and password that begins with a '/' as a path to a cert/key to be loaded into TLS.  It may make sense to add additional checks that confirm a username starting with a '/' is actually a file before loading it, but I didn't add code for that to my proof-of-concept.



 Comments   
Comment by Caio Vernaglia [ 2022 Dec 03 ]

Found this request when troubleshooting MQTT with AWS IoT Core.

Would be interesting to hava that option, since without it, it's impossible to connect to AWS IoT Core. 

Comment by Ted Cabeen [ 2023 Dec 19 ]

Was this effectively implemented in the patch to resove ZBX-22399?  It looks like it.

https://support.zabbix.com/browse/ZBX-22399





[ZBXNEXT-8631] Update PostgreSQL plugin TLS parameters Created: 2023 Aug 10  Updated: 2023 Aug 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 7.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Denis Rasikhov Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 0
Labels: plugin, postgresql
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team INT
Story Points: 1

 Description   

During the work on the issue ZBX-22060 it was noticed that behaviour of TLS parameters in the PostgreSQL plugin differs from the parameters providing the same functionality that are used by the psql command line client.

Another related issue: ZBX-23217

The following parameters behaviour should be checked and rethinked:

1. TLSConnect:

  • There are 3 other encryption modes: prefer (default mode), allow, disable. Maybe there is no point to add allow and disable modes, but prefer should probably be available.
  • If it the parameter is not specified, it should default to prefer (in that case if we will specify hostssl in the pg_hba.conf file on the server to require encryption from the client, it will use it automatically and we won't need to specify TLSConnect at all).
  • Value required should probably be renamed to require, as this value is used in the parameter with the same functionality in psql client and in ODBC driver.
  • Values verify_ca and verify_full should probably be renamed to verify-ca and verify-full accordingly, to avoid confusion and since these values are also used in psql client and in ODBC driver.

2. TLSCAFile:

  • Value should default to ~/.postgresql/root.crt (means, if agent is running under user zabbix it will effectively be /var/lib/zabbix/.postgresql/root.crt, if under root - /root/.postgresql/root.crt, etc. - check the sslrootcert parameter in the documentation).
  • If root.crt is present in the default location (or specified with TLSCAFile, TLSConnect=require should act as TLSConnect=verify-ca, it is mentioned in the documentation.

3. TLSCertFile:

  • Value should default to ~/.postgresql/postgresql.crt (check the note about CA certificate above).
  • This parameter should be ignored if an SSL connection is not made (check the
    sslcert parameter description).

4. TLSKeyFile:

  • Value should default to ~/.postgresql/postgresql.key (check the note about CA certificate above).
  • This parameter should be ignored if an SSL connection is not made (check the
    sslkey parameter description).

Consult the PostgreSQL documentation about encryption modes and options in libpq and certificates usage:
https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE
https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-PROTECTION






[ZBXNEXT-8090] systemd service discovery should be extended Created: 2022 Nov 07  Updated: 2023 Aug 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 6.0.10
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Stefan Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

With the current systemd implementation we are limited in filter rules for services. For example if you install rsync on a monitored host and use the systemd-service template you'll get a notification that rsync is not running because of "condition failed" (in this case a missing config file) and there exist a lot of other things (eg systemd-fsck-root.service, systemd-pstore.service, open-vm-tools.service). We've here 2 options: 1. create a list where we collect all these services and get this into the default template or 2. we extend the discovery function and looking for systemd-conditions af this values are 0 or -1 we don't get this into the lld-list



 Comments   
Comment by Dave Tapesar [ 2023 Aug 22 ]

Hello, I created a new item prototype in the systemd.unit.discovery[service] section, by cloning the   "{#UNIT.NAME}: Active state" :

  • Name: "{#UNIT.NAME}: Condition Result'
  • Key: systemd.service.conditionResult"{#UNIT.NAME}"
  • Type of information : text
     

  • Preprocessing step 1
    • JSONPath: $.ConditionResult

You can add a description if you want, like a chosen quote from systemd documentation

Before the unit is started, systemd will verify that the specified conditions and asserts are true. If not, the starting of the unit will be skipped. Failing conditions or asserts will not result in the unit being moved into the "failed" state

If you want the original trigger prototype '{#UNIT.NAME}: Service is not running' to stay "OK" when there is a "condition failed", you can change it to

last(/Systemd by Zabbix agent 2/systemd.service.active_state["{#UNIT.NAME}"])<>1 and last(/Systemd by Zabbix agent 2/systemd.service.conditionResult["{#UNIT.NAME}"])="true" 

Still you won't get a notification if a regular service fails because of a condition (e.g postif main.cf config file has been deleted, the service is not active anymore).

I'm sure there should be a better and prettier way to solve this issue.





[ZBXNEXT-5931] Native monitoring of certificate validy / expiration Created: 2020 May 04  Updated: 2022 Oct 12

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Alain Devarieux Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 46
Labels: items, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File google_certificate.png     PNG File sslchecker.png    
Issue Links:
Duplicate
Sub-task
depends on ZBXNEXT-6708 Monitor TLS/SSL website certificates Closed
Sprint: Sprint 78 (Jul 2021)

 Description   

Still needing to rely on a script to monitore TLS certificate is frustrating.

When adding a web-scenario for HTTPS websites, it would be usefull to have a check of certificate validy and/or expiration date. Another possilibity is to add this option to HTTP Agent item type.

It would create an item with date of certificate expiration. We can then use this item to trigger and alert.

 

 



 Comments   
Comment by Marcel Jäpel [ 2020 May 05 ]

That's not so easy. Because HTTP(S) is not the only one. 

If you would have an integrated ssl expiration date check than it has to support different protocols (ftp, smtp, ldap, rdp, and so on). Some protocols have there own syntax for starttls-like implementation. Additionally to that you have to differentiate mechanisms in the "same" protocol (e.g. LDAP+StartTLS and LDAPS). In some scenarios both variants could deliver different certificates.

Currently I use a own script based on openssl s_client, too.

Sure, it would be nice if this will be part of Zabbix. But if there is a protocol option missing, than you have to use the old script additionally ...

Comment by Vladislavs Sokurenko [ 2020 May 05 ]

There is option in curl CURLOPT_CERTINFO but not sure how it fits in HTTP agent, could be similar to headers

Example of output:

Subject:C = US, ST = CA, L = San Francisco, O = "Cloudflare, Inc.", CN = zabbix.com
Issuer:C = US, ST = CA, L = San Francisco, O = "CloudFlare, Inc.", CN = CloudFlare Inc ECC CA-2
Version:2
Serial Number:0609affe4caeed2a5d1b400649673e30
Signature Algorithm:ecdsa-with-SHA256
Public Key Algorithm:id-ecPublicKey
X509v3 Authority Key Identifier:keyid:3E:74:2D:1F:CF:45:75:04:7E:3F:C0:A2:87:3E:4C:43:83:51:13:C6
X509v3 Subject Key Identifier:24:10:52:D2:C7:E8:73:74:78:4B:11:3F:B0:E4:4D:2D:EE:C0:63:D7
X509v3 Subject Alternative Name:DNS:*.zabbix.com,DNS:zabbix.com
X509v3 Key Usage:DigitalSignature
X509v3 Extended Key Usage:TLSWebServerAuthentication,TLSWebClientAuthentication
X509v3 CRL Distribution Points:, FullName:, URI:http://crl3.digicert.com/CloudFlareIncECCCA2.crl, 
FullName:, URI:http://crl4.digicert.com/CloudFlareIncECCCA2.crl
X509v3 Certificate Policies:Policy:2.16.840.1.114412.1.1, CPS:https://www.digicert.com/CPS, Policy:2.23.140.1.2.2
Authority Information Access:OCSP-URI:http://ocsp.digicert.com, CAIssuers-URI:http://cacerts.digicert.com/CloudFlareIncECCCA-2.crt
X509v3 Basic Constraints:CA:FALSE
CT Precertificate SCTs:SignedCertificateTimestamp:, Version:v1(0x0), LogID:A4:B9:09:90:B4:18:58:14:87:BB:13:A2:CC:67:70:0A:, 3C:35:98:04:F9:1B:DF:B8:E3:77:CD:0E:C8:0D:DC:10, Timestamp:Dec416:00:58.1542019GMT, Extensions:none, Signature:ecdsa-with-SHA256, 30:45:02:20:6C:E3:35:C3:3C:EC:49:97:93:4E:77:53:, 4E:58:4A:30:D4:3F:DF:EE:41:A0:B9:B7:BA:D1:4B:A8:, 2F:8E:5C:84:02:21:00:DF:BC:DC:62:70:BF:29:38:8C:, A7:01:28:9B:4E:0F:50:F0:ED:60:81:75:EA:49:1D:29:, E7:76:78:F3:06:B0:CA, SignedCertificateTimestamp:, Version:v1(0x0), LogID:5E:A7
Start date:Dec  4 00:00:00 2019 GMT
Expire date:Oct  9 12:00:00 2020 GMT
Signature:30:45:02:20:46:87:79:25:20:36:30:84:f1:13:9f:30:b6:0b:07:1e:aa:0c:37:79:50:07:18:21:96:b3:41:e1:19:73:9a:aa:02:21:00:8d:69:22:85:be:45:7a:be:5a:00:7f:d2:dd:1a:ec:7e:de:e2:28:ad:df:76:ac:db:c7:99:6b:94:5e:a8:14:33:
Cert:-----BEGIN CERTIFICATE-----
MIIEvzCCBGWgAwIBAgIQBgmv/kyu7SpdG0AGSWc+MDAKBggqhkjOPQQDAjBvMQsw
CQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28x
GTAXBgNVBAoTEENsb3VkRmxhcmUsIEluYy4xIDAeBgNVBAMTF0Nsb3VkRmxhcmUg
SW5jIEVDQyBDQS0yMB4XDTE5MTIwNDAwMDAwMFoXDTIwMTAwOTEyMDAwMFowYjEL
MAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
MRkwFwYDVQQKExBDbG91ZGZsYXJlLCBJbmMuMRMwEQYDVQQDEwp6YWJiaXguY29t
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZpcY9/1N8CXxsoMWaqfAG6GfoMRZ
prCbV49E69BzxvzGnMe6uljXr3ppHgk0f0UdslbDhWlA+ff71Y+xCcyjY6OCAu4w
ggLqMB8GA1UdIwQYMBaAFD50LR/PRXUEfj/Aooc+TEODURPGMB0GA1UdDgQWBBQk
EFLSx+hzdHhLET+w5E0t7sBj1zAjBgNVHREEHDAaggwqLnphYmJpeC5jb22CCnph
YmJpeC5jb20wDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
BgEFBQcDAjB5BgNVHR8EcjBwMDagNKAyhjBodHRwOi8vY3JsMy5kaWdpY2VydC5j
b20vQ2xvdWRGbGFyZUluY0VDQ0NBMi5jcmwwNqA0oDKGMGh0dHA6Ly9jcmw0LmRp
Z2ljZXJ0LmNvbS9DbG91ZEZsYXJlSW5jRUNDQ0EyLmNybDBMBgNVHSAERTBDMDcG
CWCGSAGG/WwBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5j
b20vQ1BTMAgGBmeBDAECAjB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGGGGh0
dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0aHR0cDovL2NhY2Vy
dHMuZGlnaWNlcnQuY29tL0Nsb3VkRmxhcmVJbmNFQ0NDQS0yLmNydDAMBgNVHRMB
Af8EAjAAMIIBAwYKKwYBBAHWeQIEAgSB9ASB8QDvAHYApLkJkLQYWBSHuxOizGdw
Cjw1mAT5G9+443fNDsgN3BAAAAFu0aSjKgAABAMARzBFAiBs4zXDPOxJl5NOd1NO
WEow1D/f7kGgube60UuoL45chAIhAN+83GJwvyk4jKcBKJtOD1Dw7WCBdepJHSnn
dnjzBrDKAHUAXqdz+d9WwOe1Nkh90EngMnqRmgyEoRIShBh1loFxRVgAAAFu0aSi
wgAABAMARjBEAiBYXB9xf840lF95G8a4wcyxVnOur3oLd+5+/nBc4SO53gIgX4AN
bZYPmRPEn2DkVNd+wih8hX4NRzsXQ6q7SdyzbhQwCgYIKoZIzj0EAwIDSAAwRQIg
Rod5JSA2MITxE58wtgsHHqoMN3lQBxghlrNB4RlzmqoCIQCNaSKFvkV6vloAf9Ld
Gux+3uIord92rNvHmWuUXqgUMw==
-----END CERTIFICATE-----

Subject:C = US, ST = CA, L = San Francisco, O = "CloudFlare, Inc.", CN = CloudFlare Inc ECC CA-2
Issuer:C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root
Version:2
Serial Number:0ff3e61639aa3d1a1265f41f8b34e5b6
Signature Algorithm:sha256WithRSAEncryption
Public Key Algorithm:id-ecPublicKey
X509v3 Basic Constraints:CA:TRUE,pathlen:0
X509v3 Key Usage:DigitalSignature,CertificateSign,CRLSign
Authority Information Access:OCSP-URI:http://ocsp.digicert.com
X509v3 CRL Distribution Points:, FullName:, URI:http://crl3.digicert.com/Omniroot2025.crl
X509v3 Certificate Policies:Policy:X509v3AnyPolicy, CPS:https://www.digicert.com/CPS
X509v3 Subject Key Identifier:3E:74:2D:1F:CF:45:75:04:7E:3F:C0:A2:87:3E:4C:43:83:51:13:C6
X509v3 Authority Key Identifier:keyid:E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0
Start date:Oct 14 12:00:00 2015 GMT
Expire date:Oct  9 12:00:00 2020 GMT
Signature:38:5f:a7:ff:fc:85:f2:73:32:e4:d5:a3:89:99:96:60:af:32:c1:03:b3:65:df:be:1e:03:ca:a5:ed:85:b2:8f:af:4b:8c:73:8f:2a:8c:a9:00:0e:01:24:17:f7:ec:52:85:76:c8:e5:1c:79:ca:c3:17:87:50:b6:04:33:36:9e:2a:9e:18:17:96:32:12:af:43:cc:57:18:de:db:c7:d8:88:25:83:e5:ca:06:25:31:fd:bd:5d:48:3b:51:01:dd:2c:14:c7:c1:60:51:e9:95:01:d8:b2:33:56:0e:47:66:8d:6c:cd:af:f9:85:d9:eb:1c:47:47:88:34:e8:f0:fa:c2:ab:4f:69:4e:09:59:d4:57:c6:cc:c1:c8:e3:e6:19:c1:58:38:52:e2:e2:83:85:de:22:34:dc:3f:a6:f7:af:24:bc:e0:6f:c0:ab:68:2d:52:c7:6b:05:57:2c:42:1b:2d:48:87:03:0c:90:ab:48:48:a9:28:be:34:8a:fb:ba:ed:f4:60:99:1d:15:78:11:aa:d9:6d:53:7f:69:28:bc:b7:6b:20:76:7f:a0:55:03:71:79:f5:67:a7:b0:a0:0a:17:57:b2:00:a9:ad:cf:ff:67:8c:3e:26:e5:a7:24:bc:c2:6f:10:e8:89:c6:70:a5:d2:1f:80:ed:0d:3f:27:13:
Cert:-----BEGIN CERTIFICATE-----
MIIDozCCAougAwIBAgIQD/PmFjmqPRoSZfQfizTltjANBgkqhkiG9w0BAQsFADBa
MQswCQYDVQQGEwJJRTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJl
clRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTE1
MTAxNDEyMDAwMFoXDTIwMTAwOTEyMDAwMFowbzELMAkGA1UEBhMCVVMxCzAJBgNV
BAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZEZs
YXJlLCBJbmMuMSAwHgYDVQQDExdDbG91ZEZsYXJlIEluYyBFQ0MgQ0EtMjBZMBMG
ByqGSM49AgEGCCqGSM49AwEHA0IABNFW9Jy25DGg9aRSz+Oaeob/8oayXsy1WcwR
x07dZP1VnGDjoEvZeFT/SFC6ouGhWHWPx2A3RBZNVZns7tQzeiOjggEZMIIBFTAS
BgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjA0BggrBgEFBQcBAQQo
MCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTA6BgNVHR8E
MzAxMC+gLaArhilodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vT21uaXJvb3QyMDI1
LmNybDA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93
d3cuZGlnaWNlcnQuY29tL0NQUzAdBgNVHQ4EFgQUPnQtH89FdQR+P8Cihz5MQ4NR
E8YwHwYDVR0jBBgwFoAU5Z1ZMIJHWMys+ghUNoZ7OrUETfAwDQYJKoZIhvcNAQEL
BQADggEBADhfp//8hfJzMuTVo4mZlmCvMsEDs2Xfvh4DyqXthbKPr0uMc48qjKkA
DgEkF/fsUoV2yOUcecrDF4dQtgQzNp4qnhgXljISr0PMVxje28fYiCWD5coGJTH9
vV1IO1EB3SwUx8FgUemVAdiyM1YOR2aNbM2v+YXZ6xxHR4g06PD6wqtPaU4JWdRX
xszByOPmGcFYOFLi4oOF3iI03D+m968kvOBvwKtoLVLHawVXLEIbLUiHAwyQq0hI
qSi+NIr7uu30YJkdFXgRqtltU39pKLy3ayB2f6BVA3F59WensKAKF1eyAKmtz/9n
jD4m5ackvMJvEOiJxnCl0h+A7Q0/JxM=
-----END CERTIFICATE-----

The info chain is provided in a series of data in the format "name:content" where the content is for the specific named data.

AVAILABILITY

This option is only working in libcurl built with OpenSSL, NSS, Schannel or GSKit support. Schannel support added in 7.50.0

Added in 7.19.1

Comment by dimir [ 2020 May 05 ]

I think what user asks here is to implement it as part of Web Monitoring. I think it would be more convenient to have this functionality as part of that instead of introduce another set of items for agent.

I guess most often when you need to check a web site certificate you also need to make sure its functionality works. Imagine you have around 200 web sites to monitor and periodically you add/edit/remove them. You would have to adjust the agent checks accordingly each time.

Comment by Alain Devarieux [ 2020 May 05 ]

While I agree that all certificates need monitoring, I think that the most important feature to address at first is HTTP TLS Monitoring. As Zabbix is already able to crawl a website, this feature can be added to the web scenario.

We can still fall back to openssl script to monitore other kind of certificates.

Comment by Gatis Rumbens [ 2020 May 06 ]

As a Zabbix use Curl in Web scenarios as well in HTTP agent it's pretty easy obtain certificate start, expiration dates, subject, issuer and so on. It's achievable by
basically with those two/three options to handle headers and certificate data: CURLOPT_VERBOSE, CURLOPT_HEADER, CURLINFO_CERTINFO ( -I and -v flags in CLI and -k for insecure connections - in case of self signed certificate). It would be really nice to have more useful new keys in this case.

CLI example

curl --insecure -v -I https://www.zabbix.com 2>&1
* About to connect() to www.zabbix.com port 443 (#0)
*   Trying 104.31.68.176...
* Connected to www.zabbix.com (104.31.68.176) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* SSL connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Server certificate:
*       subject: CN=zabbix.com,O="Cloudflare, Inc.",L=San Francisco,ST=CA,C=US
*       start date: Dec 04 00:00:00 2019 GMT
*       expire date: Oct 09 12:00:00 2020 GMT
*       common name: zabbix.com
*       issuer: CN=CloudFlare Inc ECC CA-2,O="CloudFlare, Inc.",L=San Francisco,ST=CA,C=US
> HEAD / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.zabbix.com
> Accept: */*
>
 

Now I'm using for SSL certificate expire date checks this simple bash oneliner (returned result is days till expire date)

[ns@sys]# expr "("  $(date '+%s' --date "`echo |openssl s_client -showcerts -servername www.zabbix.com -connect www.zabbix.com:443 2>/dev/null| openssl x509 -noout -dates | grep -i 'notAfter=' | sed 's#notAfter=##' `") - $(date '+%s') ")" / 24 / 3600
156
Comment by patrik uytterhoeven [ 2021 Jul 16 ]

I would like to see it in HTTP Agent item i don't think you want to buid a webscenario for this kind of monitoring.

Comment by James Cook [ 2021 Jul 19 ]

Hi Guys,

Just as a note for this in terms of potential additional items to detect certificate configuration issues.

We implemented checks for the common things such as

  • TLS Expiry Date / TLS Future Date (i.e. currently inactive due to future start date)
  • TLS Issuer
  • TLS Serial
  • TLS Signature Algorithm
  • TLS Version
  • TLS Subject
  • TLS Subject Alternative Names

All of the above ensure the validity of the TLS certificate.

For us most importantly we check whether a specific set off subject alternative names exist or an individual one using regular expressions.

Cheers

James

Comment by Marco Hofmann [ 2021 Aug 03 ]

How will this be solved?
Zabbix agent?
Zabbix agent2?
Web scenario?
HTTP agent?

Comment by Maxim Chudinov (Inactive) [ 2021 Aug 03 ]

Hello, starko

It will be a plugin for agent2.

Comment by Filipe Paternot [ 2021 Aug 03 ]

Any reason for it not to be implemented in server/proxy side? Monitoring websites via agent sounds bad idea for my setup. Its too big, have too many ssl endpoints, and its too much distributed.

We think its easier to manage using the current distribution setup, that is using proxy.

Is that a new general direction on expanding Zabbix monitoring capabilities?

Comment by Alex Kalimulin [ 2021 Aug 04 ]

fpaternot, the current implementation is just yet another agent2 item - web.certificate.get[host], similar to web.page.get[]. So it's a natural choice to have such check in the agent along with other web.* items. Also, this gives you a pretty high degree of flexibility if you need to monitor a lot of websites without the additional overhead of managing proxies.

Comment by Filipe Paternot [ 2021 Aug 04 ]

Sorry, I don't see the flexibility you mention.

When one creates a host (lets call it example.com), we have to give it an interface. Since we have it monitored via agent2, we have to point that interface to zabbix-agent-host.

Point one: a user looking for that host example.com, will see dns/ip of Zabbix-agent-host. That creates confusion.

Point two: we have an additional component to maintain, the Zabbix agent. We have to look/tune sessions for that plugin, and monitor its usage. Thats not well implemented yet, like the internal Zabbix itens for poller usage.

Point three: Zabbix agent is not currently required to monitor web pages, but it will be now, just to check just the certificate. From this point of view, I'd prefer to do an external script call, curl -v and preprocess the result. Of course it gives us a performance hit, but sounds better than adding agent to dependency list.

Point four: as Gatis Rumben mentioned here, its already available from lib curl, the current setup of Zabbix proxy/server. It's perfectly possible to either extend http agent or web scenario. I personally think http agent is more flexible to implement as it does not affect existing hosts and can be easily expanded as Zabbix Admin wants.

 

I can create a new feature request for it to be implemented on server/proxy side if you guys think its not a fit in this request.

Comment by Filipe Paternot [ 2021 Aug 04 ]

Adding a few more comments:

  • on Zabbix training (from 2.0 to 5.0 that I participated in), we see as good practice to add proxies even if you don't need them just yet. The point is that it reduces load on server, its easier to expand and provides additional capabilities to maintain Zabbix server and not loose data. In the long run, its the only way to distribute and grow Zabbix installations. So it's an additional overhead but a needed one if you are monitoring an IT environment.
  • I just realized that the original feature request does asks for a web scenario or http agent implementation. So, I think we can improve on the subject at hand.

Looking forward for your reply.

Kind regards

Comment by Glebs Ivanovskis [ 2021 Aug 05 ]

yet another agent2 item - web.certificate.get[host], similar to web.page.get[]

It is funny to hear, because web.page.* items weren't even capable of SSL until very recently (see ZBXNEXT-287). If I get dates/versions right, HTTP Agent (ZBXNEXT-4358) was implemented before web.page.* became aware of HTTPS. This timeline makes me think that there are very few users in need of HTTPS monitoring who are still using agent's web.page.* items, they all must have switched to HTTP Agent as soon as it became available.

Comment by richlv [ 2021 Aug 05 ]

Zabbix repeatedly communicated that both of the agent implementations will be equal going forward.
Will this feature be added in the C agent as well?

In any case, having it on the agent seems like a mistake. Server/proxy level would be the usable one, otherwise it will be easier to reimplement the functionality as external checks, trapper items or whatever.

Comment by Constantin Oshmyan [ 2021 Aug 05 ]

richlv wrote:

In any case, having it on the agent seems like a mistake. Server/proxy level would be the usable one, otherwise it will be easier to reimplement the functionality as external checks, trapper items or whatever.

I'm absolutely agree.

Additionally, I'd like to support fpaternot who reminded that the initial problem definition for this task (see Description field) was about Web-scenario or HTTP agent, i.e. server-side checks (Zabbix server or Zabbix proxy). A possibility to perform the agent-side checks could be a pleasant addition, but not a replacement for the server-side checks.

Comment by Glebs Ivanovskis [ 2021 Aug 05 ]

If Zabbix SIA does not change its mind and if there is sufficient demand I can probably develop a libcurl-based loadable module. If it happens, it will be possible to use it with server/proxy as Simple check or with old agent (not agent2) as Zabbix agent or Zabbix agent (active).

Disclaimer: I have not yet figured out how to package modules, so there will likely be some manual compilation involved (like that, no rocket science).

Comment by Marco Hofmann [ 2021 Aug 05 ]

+1 for the arguments of fpaternot I dislike the fact, that this feature was implemented, without the original request in mind. We already have Web scenarios and http agent via proxies, now we have a third way. This is not logical.

Comment by Alex Kalimulin [ 2021 Aug 11 ]

Dear all, thanks for your feedback and criticism. I still believe this change will benefit many Zabbix users running Agent2, but I also understand there are use cases and constraints that may require alternative approaches. If you find that this solution is not applicable in your environment please feel free to add ZBXNEXTs with your proposals, as the certificate validation doesn't have to be an "either-or" feature.

Comment by Marco Hofmann [ 2021 Aug 11 ]

With all due respect Kalimulin: But this is disrespectful towards Aldevar. This very request here ZBXNEXT-5931 is very clearly about adding a cert vadility check for web-scenarios and/or HTTP Agent. It was Zabbix SIA decision, to bring up a whole different solution. And now it's our part, the community, to create a new ZBXNEXT and collect votes from scratch, although we have 34 votes here?

IMHO Zabbix company should've created a fresh ZBXNEXT for the Agent2 approach, and let our ZBXNEXT untouched with all its votes. Now this ZBXNEXT will be closed, although no solution was provided, and we stay here, with empty hands, despite the 34 votes.

This is totally unfair regarding this community request. Not happy.

Ps.: To make this clear: I'm not unhappy about the new feature. I like the new feature. I'm unhappy about hijacking this ZBXNEXT and implementing something else, which was not the initial request and then closing it and then requesting us to start from scratch.

Comment by Glebs Ivanovskis [ 2021 Aug 11 ]

Dear starko, fpaternot, richlv, constantin.oshmyan, Voters and Watchers!

The work on loadable module has started. Feel free to join discussion on specification.

Comment by Filipe Paternot [ 2021 Aug 11 ]

The specification for agent2 seems fine, the issue we seem to have in common is that we expect it to be available for Zabbix server monitoring (and proxy as usual), not the agent.

Comment by Rostislav Palivoda [ 2021 Aug 12 ]

Discussed with Kalimulin to keep this ticket open for for server/proxy (web scenarios) implementation. Implementation for agent close in ZBXNEXT-6708. Therefore move merge comment into ZBXNEXT-6708 and close it as fixed. ZBXNEXT-5931 will be reopened and discussion continues. 

Comment by Constantin Oshmyan [ 2021 Aug 12 ]

Discussed with Kalimulin to keep this ticket open for for server/proxy (web scenarios) implementation. [...] ZBXNEXT-5931 will be reopened and discussion continues.

Thank you, a wise decision!

Comment by Gatis Rumbens [ 2021 Aug 12 ]

This time I fully agree with the community that requested is one thing, but the implementation is quite different what was asked. As it requires additional resources, configuration and deployment on the monitored environment, which was not necessary until now. Imagine if its infrastructure is huge. It takes a very large amount of work to do this with this solution of Agent2.

Comment by Marco Hofmann [ 2021 Aug 16 ]

Thanks so much for listening palivoda! Hope this issue will be solved sometime in the future, with Web-Scenario or HTTP-Agent in mind.

Comment by Glebs Ivanovskis [ 2021 Aug 31 ]

Hi all!

Please check out a loadable module implementing web.certificate.get for server/proxy and old agent. Your feedback is very much appreciated! Feel free to drop questions in discussions, report issues and propose changes.

Comment by Mickael Martin (Cyres) [ 2021 Oct 05 ]

Hello,

I see certificate like web scenario : an object, linked to a host with some automatics items :

  • Date of "start"
  • Date of expiration
  • Serial number
  • Authority's names
  • Protocols available (TLS1.1, TLS 1.2, ...)
  • Revocation status
  • Maybe size of public key, cipher, etc...

Be careful, certificate are not only for web, you can have certificate for SMTP, OpenVPN, etc.

A page like that SSLChecker https://github.com/pernodpepper/SSLChecker

Comment by Gergely Czuczy [ 2021 Nov 10 ]

May I ask whether this implemented feature also covers SNI?

Many people have LBs which are also terminating the TLS on HTTPs sessions, reverse-proxying to normal http/fpm/whatever backends. They are service multiple sites using multiple certs. It is very important to be able to request a specific host's certificate from the LB, otherwise this feature will be limited to simply monitoring the default host's certificate.

 

Comment by Alex Kalimulin [ 2021 Nov 10 ]

phoemix, yes, it does support SNI.

Comment by Gavin Hill [ 2022 Jan 28 ]

I'm confused as to how this agent2-based check would work.  If I have 2 sites I want to check (www.google.com, www.aws.com) how would I set this up in Zabbix?  I don't have agents running on those sites.  How would I add 2 checks (one for each site) to be run by a single agent?  Do I now need to stand up multiple VM's each running an agent to check each site's certificates?

Comment by Rodrigo Castro [ 2022 Mar 07 ]

Gavin you only need to add a host for each website, all monitored by the same agent2 deployed (in localhost or monitored by proxy). Change the template inherited macros of each host to monitor the websites.

Comment by dimir [ 2022 Oct 12 ]

highpeak You can install Zabbix server module https://github.com/i-ky/sheepskin and monitor these without an agent.





[ZBXNEXT-7542] Agent 2 API Listener plugin Created: 2022 Mar 09  Updated: 2022 Oct 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Gaël MONDON Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,

It would be great to have an agent2 plugin that would enable an api listener in order to catch data sent by external webhook.

As the zabbix-sender allows to catch data on command line, the API listener would allow to send data to a Zabbix trapper item (probably json data).

For example, we could have an api.listener[servicename] key that would create a local API listener http(s)://hostname/api/zabbix/servicename, all data that would be send to this API would be stored in the item value.

 

thanks.






[ZBXNEXT-6313] New MQTT Item Type Key needs a 'ignore retained' flag Created: 2020 Nov 01  Updated: 2020 Nov 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 5.2.0
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: David D Assignee: Michael Veksler
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 5.2.0 on CentOS 8



 Description   

Hi

I'm starting to make use of the new MQTT Item Type, and hitting an issue.

I'm using an MQTT to both populate a list for LLD to use to make individual items to monitor, as well as (obviously) to monitor items.

I have some items that are only emitted once a day or less...

Current behavior is to pull in retained items when either the MQTT Server is restarted or when Zabbix is restarted.   This works great for my MQTT item that populates the LLD list, as it should see everything recent/retained and create an item for it.

But for the MQTT item that feeds the individual items, pulling in the retained items has the negative side effect that I cannot detect if an item has been published recently or not... that is, the nodata() will get reset every time Zabbix re-established a connection with the MQTT server...  So my "heartbeat" item that is only published 1x/day appears to be more recent than it truly is.

It would be great if the mqtt[] key had an "ignore-retained" (or a "include-retained") flag so that the re-starts/re-connects didnt reset the timing on everything.

Thanks

 






[ZBXNEXT-8997] Ember+ plugin Created: 2024 Feb 08  Updated: 2024 Mar 21

Status: In Progress
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Medium
Reporter: Eriks Sneiders Assignee: Eriks Sneiders
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team INT
Story Points: 5

 Description   

Add a plugin with a single key (discovery ?) currently initial plan is for a single item key "ember.get". More details in the specification.






[ZBXNEXT-7511] web.certificate.get change fail states Created: 2022 Feb 17  Updated: 2022 Oct 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (N)
Affects Version/s: 5.4.10
Fix Version/s: None

Type: Change Request Priority: Low
Reporter: Alex Samad Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I have a ssl server I am monitoring with the web.cewrtificate.get. The problem is that the ssl site wants a client certificate.

 

The plugin fails as it get a tls handshake failure - the server closes the connection because no client cert provided. But the plugin has the server certificate.  think it should accept the values returned






[ZBXNEXT-1798] adding more trigger severities Created: 2013 Jun 19  Updated: 2015 Jun 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Tad rimk Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: triggerseverities
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello
I need big help.
I'm using zabbix 1.8.13 ver. And when confronted with a problem. I need more severity than those that have zabbix (not classified, Information, Warning, Average, High Disaster), perhaps there is a way to have or make another saverity?
Edit/Delete Message



 Comments   
Comment by Tad rimk [ 2013 Jun 19 ]

How this to do?----> adding more trigger severities triggerseverities

Comment by Oleksii Zagorskyi [ 2013 Jun 23 ]

ZBXNEXT-470 is related





[ZBXNEXT-5555] Multiple Graph of Host in Single Graph Created: 2019 Nov 08  Updated: 2024 Feb 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Appliance (L), Java gateway (J), Server (S), Templates (T)
Affects Version/s: 4.2.7
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Harsh Trivedi Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RHEL 7.5 kernal version 3.10.0-862.14.4 e17 x86_64



 Description   

I need to graph a resource for a complete group of server to see if one is below or higher than the group. for example lets say i have a 10 physical server  and i want to see a graph with memory usage of all the 10 server in one graph.



 Comments   
Comment by Alexei Vladishev [ 2020 Feb 04 ]

It reminds me ZBXNEXT-5712. Is support of host groups in graph widget what you are looking for?

Comment by xaa ru [ 2020 May 14 ]

you can use grafana for this. just a couple of hours to configure

Comment by Ryan Eberly [ 2024 Feb 03 ]

Host group filtering would probably be an easy addition and it makes it so the widget doesn't need to be updated in environments where the hosts change. 





[ZBXNEXT-8127] Consistent Host Discovery Created: 2022 Nov 30  Updated: 2022 Nov 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Proxy (P), Server (S), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Norbert Püschel Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: actions, api, frontend, lld, macros, templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Host Discovery, Auto Registration, Host Prototypes



 Description   

Zabbix currently has three different mechanisms to automatically create host objects: Discovery with Discovery Action, Autoregistration Actions and LLD Host Prototypes. Each of these is a powerful, useful mechanism on its own. Together they are are confusing inconsistent mess.

For example: LLD creates Hosts with Host Prototypes, allowing you to use Preprocessing and Macros to exactly define the created host. Discovery and Autoregistration are limited to actions with a limited set of possible operations and no preprocessing.

On the other hand, Discovery and Autoregistration create fully customizable host objects, while hosts generated from prototypes are weirdly crippled with a lot of attributes that are readonly (there has been improvement recently there, but e.g. host groups still cannot be added). Even worse, all dependent hosts will vanish when the master host is deleted, which means for example by deleting the vCenter-Host you can wipe out all of your compute monitoring history with two mouse clicks!

So I propose to unify these three mechanisms in a useful and consistent manner:

1) No more dependant hosts and readonly attributes - what use are they anyway? Make host prototypes generate fully editable hosts.

2) Change Discovery and Autoregistration from Actions to a LLD-Style interface with host prototypes and Preprocessing. This would allow much better initial customization of discovered hosts.

3) Make them work together: Whenever a host is found by multiple discovery methods, just let them add their stuff together:

  • Host groups are all added if new -> no problem.
  • Templates are added if new; if there is a conflict, the template that was added first wins.
  • User Macros are copied; if the host already has the respective macro set, it keeps is value.
  • Interfaces are added if they have different attributes.

4) Adopt the LLD "yellow exclamation mark" method for deleting hosts that are no longer discovered by ANY discovery method. Add a button to switch such a host to "manually created" to protect them from expiration.

I believe these changes would make host discovery much more powerful and understandable at the same time.

 






[ZBXNEXT-5248] Better API warnings Created: 2019 May 30  Updated: 2019 May 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.2.1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Bendyna Vitalii Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: api
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix Server 4.2.1
Zabbix Proxy 4.2.1



 Description   
  1. API explanation: please add better explanation for API, as sometimes it's not easy to guess what should be in parameters.
  2. API response warnings: If request is correct, but, for example, parameter "proxy_hostid" is outside of parameters array, API will just omit it without notifying user that parameter is omitted. For example, in this JSON parameter "proxy_hostid" will be omitted without any warnings:
{ 
"jsonrpc":"2.0",
"method":"host.create",
"params":{ 
"host":"Some-host-name",
"interfaces":[ 
{ 
"type":1,
"main":1,
"useip":1,
"ip":"127.0.0.1",
"dns":"",
"port":"10050"
}
],
"groups":[ 
{ 
"groupid":"17"
}
],
"templates":[ 
{ 
"templateid":"10586"
}
],
"macros":[ 
{ 
"macro":"{$REAL_DOMAIN_NAME}",
"value":"example.com"
}
]
},
"proxy_hostid":"10583",
"auth":"some-auth-string",
"id":1
}


 Comments   
Comment by richlv [ 2019 May 30 ]

Mostly the same as ZBX-3783. Specific suggestions on how to improve documentation would be needed, if anything is unclear.





[ZBXNEXT-5048] Export/Import Services Created: 2019 Feb 15  Updated: 2019 Mar 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 4.0.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Cesar Murilo da Silva Junior Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: export, import, services, sla
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I have more than 800 SLA's registered, and I worry if someone will delete accidentally or not one of them. It would be better to import / export an SLA instead of restoring a backup and losing a history, even for a short period of time.



 Comments   
Comment by richlv [ 2019 Mar 10 ]

IT service import/export also requested in ZBXNEXT-3281.





[ZBXNEXT-4566] Permission zabbix administrator on maps with images Created: 2018 Apr 07  Updated: 2019 Aug 10

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Diego Cavalcante Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 16.04 LTS


Attachments: PNG File bug01.png     PNG File bug02.png     PNG File bug03.png     PNG File bug04.png     PNG File bug05.png     File inserting-image-item-in-private-map-allows-all-zabbix-admins-see-some-content.mp4    
Issue Links:
Duplicate
is duplicated by ZBX-15141 Permissions failure Closed

 Description   

Good night dear.

I recently encountered a problem regarding permissioning on maps,

I have some maps, which are specific hosts and triggers for a group, to which only users who have the appropriate permissions in this group should have access to "list and view the maps", but that is not quite what is happening.

If the user is of type "user zabbix" such maps are not listed nor displayed.
If the user is of type "administrator zabbix" the maps are listed and displayed in a way that had never seen before, with the icons in gray and the text "* UNKNOWN" linked to the data.

I noticed that if the map contains only "host, trigger, group, map" elements, the permission applied to the user works perfectly and it is not able to list or view the maps.

And if the map contains at least 1 element of type "image", the user is able to list and view the map in the way I described above, it seems to me that this is not correct.

I faced this problem in version 3.4.6, and tried an upgrade to version 3.4.8 and the problem persists.

Is it a permission setting, or a bug?
I hope it was clear, below I separated some prints to illustrate the problem.

In short: if any map that contains some element of type "image", any user of type "administrator zabbix" is able to list and see, if I remove all elements of the "image" type of maps, permission works perfectly.



 Comments   
Comment by Diego Cavalcante [ 2018 May 15 ]

version 3.4.9 the problem persists.

Comment by Aigars Kadikis [ 2018 May 23 ]

Can confirm this on 3.4.9.

Here is how to reproduce it:
1) Create user 'another' and assign it to User type 'Zabbix Admin' which by default has no rights to any host.
2) With Zabbix super administrator create a new map and add 'Zabbix server' host inside it. Sharing type remains as 'Private'
3) Authorize with 'another' user. Ensure the map is not visible.
4) Use Zabbix super administrator and include one image in the same map. Save the map
5) With user 'another' refresh the map page. The map becomes visible. It is possible to go inside and see some images (not including sensitive data).
inserting-image-item-in-private-map-allows-all-zabbix-admins-see-some-content.mp4

Comment by Diego Cavalcante [ 2018 May 23 ]

Hello Aigars Kadikis, your reproduction of the problem was perfect.
This is exactly the problem, I followed your procedure and the behavior is the same as yours, the permissioning of the elements in the maps works perfectly, but if you insert a single element of type "image" then the permission fails, so any user of type "zabbix administrator" will be able to list and view the maps of other users even if they are" private "and even if they do not have any permission on the elements contained in the map "even though the sensitive data is hidden ".

I can confirm that the problem affects all versions 3.4.x and all alphas of 4.0.
Version 3.2.x in my tests are working ok.

Comment by Alexander Vladishev [ 2018 May 23 ]

It works as documented.

Admin level users can see private maps regardless of being the owner or belonging to the shared user list.

Comment by Diego Cavalcante [ 2018 May 23 ]

The way it is, I only see 2 exits:

1º Do not use elements of type "image" in the maps. Well, the permissions are respected.
2. Do not leave any users with "Zabbix admin" profile. Well, the permissions are respected.

I have to choose between the 2.

Comment by João Edson [ 2018 May 23 ]

Step by the same problem as Diego and I do not see exit since if not leave some users as admin they no longer have access to some elements

Comment by Alexander Vladishev [ 2018 May 24 ]

I moved this issue to ZBXNEXT project. Please vote for this change request!

Comment by Alex Tomasello [ 2018 Nov 27 ]

In include/classes/api/services/CMap.php there are some lines that permit this:

 // Setting PERM_READ permission for maps with at least one image.
 $selement_images = self::getSelements(array_keys($sysmaps_r), SYSMAP_ELEMENT_TYPE_IMAGE);
 self::setMapPermissions($sysmaps_r, $selement_images, [0 => []], $selement_maps);
 self::setHasElements($sysmaps_r, $selement_images);
Comment by Alex Tomasello [ 2019 Jan 15 ]

Any updates?

Comment by Alex Tomasello [ 2019 Jan 23 ]

Hi there, I've reported code lines involved in this issues/feature. This ticket was opened on  2018 Apr 07 ...Any updates?

Comment by Dirk Bongard [ 2019 Aug 10 ]

I wonder about this authorization concept.

When I look at this list of references, I can not believe that large companies agree with this mess, or have spent a lot of money on work arounds.

Example: We have several 24/7 data centers. Some have their own site administrators. To be able to administer their own hosts, they need to be Zabbix Adminstrator. This gives them all rights to maps again. The same issue is with Discovery. I am not able to give a DBA for a single host the rights for scheduled downtime without giving it the right Zabbix Adminstrator.
From an authorization perspective, Zabbix is not suitable for large DCs, in particular multi-tenancy environment.
Map is one of many gaps.

By the wording, it is true that an administrator should see everything, but an application admin should be able to set up maintenance or add a template to his host. That's why many of us are Zabbix administrators and have in this case too many rights.

 





[ZBXNEXT-4125] API access to global regular expressions Created: 2017 Sep 26  Updated: 2023 Aug 15

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.4.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: David Angelovich Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: regularexpression
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sprint: Roadmap Backlog
Story Points: 2

 Description   

Its either undocumented, hard to find documentation for, or not possible - but I'd like to be able to create/update/delete/get global regular expressions in Zabbix.



 Comments   
Comment by Aleksejs Petrovs [ 2017 Sep 27 ]

Hello David,
currently you can't manipulate with global expressions through the API.





[ZBXNEXT-4481] Reveal User group permissions in Host groups Created: 2018 Apr 04  Updated: 2019 Apr 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 3.0.16
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: adminuser, permissions, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In the configuration view of a User group Zabbix-Admins may find out easily what permission applies to which host group(s) resp. host(s).

But sometimes it is desirable to do the exercise the other way around too. That's to say, looking at a Host group and finding out which User groups apply permission to it and which users have finally access granted or explicitly denied.



 Comments   
Comment by Marc [ 2018 Jun 06 ]

Just hacked together this one after a request of an admin on site - maybe it's for the time being useful to anyone else too (see last condition of WHERE clause!):

zabbix=# SELECT ug.name user_group,
zabbix-#        p.name permission
zabbix-# FROM   groups hg,
zabbix-#        rights r,
zabbix-#        usrgrp ug,
zabbix-#        ( VALUES
zabbix(#         ( 1, 'Deny' ),
zabbix(#         ( 2, 'Read' ),
zabbix(#         ( 3, 'Read-Write' )
zabbix(#        ) AS p ( id, NAME )
zabbix-# WHERE  ug.usrgrpid = r.groupid
zabbix-#        AND r.permission = p.id
zabbix-#        AND r.id = hg.groupid
zabbix-#        AND hg.NAME = 'A Host group name one is interested in';
                  user_group                   |    permission
-----------------------------------------------+------------
 A User group                                  | Read-Write
 Another User group                            | Read
 Yet another User group                        | Read
 What shall I say, a User group                | Read

Should be fairly easy to extend it to reveal users behind user groups as well.

Comment by Marc [ 2019 Apr 09 ]

Similar statement working with MySQL (the one in the previous comment was for Postgres):

SELECT ug.NAME user_group,
       CASE
         WHEN r.permission = 1 THEN 'Deny'
         WHEN r.permission = 2 THEN 'Read'
         WHEN r.permissionis = 3 THEN 'Read-Write'
       END     AS permission
FROM   groups hg,
       rights r,
       usrgrp ug
WHERE  ug.usrgrpid = r.groupid
       AND r.id = hg.groupid
       AND hg.NAME = 'A Host group name one is interested in';

 





[ZBXNEXT-3704] New operation types: add/delete macro, set macro value Created: 2017 Feb 16  Updated: 2017 Apr 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 3.4.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: macros, operations
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There could be many uses for this, one of them is dynamic adjustment of update intervals depending on trigger states. (Macro support in intervals is coming with ZBXNEXT-1675.)



 Comments   
Comment by Semiadmin [ 2017 Apr 15 ]

May be, add also the operation type like this one:
"Change update interval of item {ITEM.ID1} to 30"
or "...to {$FAST}"
This option'll allow to monitor anomalies more carefully.
Recovery operation'll return an old value.





[ZBXNEXT-3061] Using Oracle bind variables in the queries generated by Frontend. Created: 2015 Dec 03  Updated: 2015 Dec 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleg Ivanivskyi Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: bind, oracle, performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 2.2 and 2.4


Issue Links:
Duplicate
is duplicated by ZBX-9635 Availability report does not use Orac... Closed

 Description   

ZBXNEXT-166 introduced Oracle bind variables support for server/proxy and only for inserts.
Many ZABBIX Frontend/API queries are causing hard parse (it makes query performance poor) as they are not using bind variables at all. They are using directly value in query. Example:

SELECT f.triggerid,f.functionid,h.host,h.name FROM functions f JOIN items i ON f.itemid=i.itemid JOIN hosts h ON i.hostid=h.hostid WHERE (f.functionid BETWEEN '4937' AND '4941' OR f.functionid BETWEEN '4959' AND '4963' OR f.functionid BETWEEN '4981' AND '4985' OR f.functionid BETWEEN '5003' AND '5007' OR f.functionid BETWEEN '5025' AND '5029' OR f.functionid BETWEEN '5050' AND '5054' OR f.functionid BETWEEN '5072' AND '5076' OR f.functionid BETWEEN '6760' AND '6764' OR f.functionid BETWEEN '6786' AND '6790' OR f.functionid BETWEEN '6820' AND '6824' OR f.functionid BETWEEN '6842' AND '6846' OR f.functionid BETWEEN '6864' AND '6868' OR f.functionid BETWEEN '6886' AND '6890' OR f.functionid BETWEEN '6908' AND '6912' OR f.functionid BETWEEN '6930' AND '6934' OR f.functionid BETWEEN '6952' AND '6956' OR f.functionid BETWEEN '6974' AND '6978' OR f.functionid BETWEEN '6996' AND '7000' OR f.functionid BETWEEN '7018' AND '7022' OR f.functionid BETWEEN '7040' AND '7044' OR f.functionid BETWEEN '7062' AND '7066' OR f.functionid BETWEEN '7084' AND '7088' OR f.functionid BETWEEN '7106' AND '7110' OR f.functionid BETWEEN '7128' AND '7132' OR f.functionid BETWEEN '7150' AND '7154' OR f.functionid BETWEEN '7172' AND '7176' OR f.functionid BETWEEN '7194' AND '7198' OR f.functionid BETWEEN '7216' AND '7220' OR f.functionid BETWEEN '7238' AND '7242' OR f.functionid BETWEEN '7260' AND '7264' OR f.functionid BETWEEN '7282' AND '7286' OR f.functionid BETWEEN '7304' AND '7308' OR f.functionid BETWEEN '7326' AND '7330' OR f.functionid BETWEEN '7348' AND '7352' OR f.functionid BETWEEN '7370' AND '7374' OR f.functionid BETWEEN '7392' AND '7396' OR f.functionid BETWEEN '7414' AND '7418' OR f.functionid BETWEEN '7436' AND '7440' OR f.functionid BETWEEN '7458' AND '7462' OR f.functionid BETWEEN '7480' AND '7484' OR f.functionid BETWEEN '7502' AND '7506' OR f.functionid BETWEEN '7524' AND '7528' OR f.functionid BETWEEN '7546' AND '7550' OR f.functionid BETWEEN '7568' AND '7572' OR f.functionid B... 

It would be great, if Zabbix API will use bind variables in queries also.






[ZBXNEXT-3034] Support groupfunc (grpavg, grpmax, grpmin, grpsum) via the API Created: 2015 Nov 02  Updated: 2015 Dec 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Chris Christensen Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: aggregate
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The API should support the ability to query grouping functions: groupfunc (grpavg, grpmax, grpmin, grpsum). This would allow better understanding of item values from a grouping perspective for validation before implementing the grp* item key and the ability to look at grouped data values where a grp* item key was not previously set.


There is precedent for the use of group aggregates with the existing API methods, but the implementation is akward and could benefit from optimization(s) rather than multiple queries. For example:



 Comments   
Comment by Chris Christensen [ 2015 Nov 02 ]

Just to note, ZBXNEXT-1192 looks similiar, but I believe they are different in that the aggregates do not include hostgroup item selection.

Comment by Chris Christensen [ 2015 Nov 02 ]

Here's an example with the trends table using MySQL:

Variables: i.key_, g.name, clock (and grouping)

SELECT clock, AVG(value_avg) FROM trends
WHERE itemid IN (
  SELECT DISTINCT i.itemid
  FROM items i, hosts h, hosts_groups hg, groups g
  WHERE i.hostid=h.hostid
   AND h.hostid=hg.hostid
   AND i.key_='system.cpu.load[,avg5]'
   AND i.status=0
   AND i.state=0
   AND h.status=0
   AND g.name IN ('hostgroup-name-1', 'hostgroup-name-2'))
AND (clock BETWEEN 1422496800 AND 1422536400)
GROUP BY clock DIV 300;




[ZBXNEXT-2860] Improve housekeeper algorithm Created: 2015 Jun 29  Updated: 2015 Nov 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 2.4.5
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: housekeeper
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently Zabbix server retrieves all itemid's min clock from history* and trends* table. Also it uses housekeeper table to remove non-existing items. We need to optimize the process and drop housekeeper table at all and use only history and trends tables data.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Jun 30 ]

In ZBX-9278 (which I posted earlier ) I suggested some exact solutions for almost the same aspects as Alexey mentioned here.

I cannot imagine how we could drop the housekeeper table at all.

I'd suggest to close current report as duplicate and move unique details to the ZBX-9278

Comment by Oleksii Zagorskyi [ 2015 Nov 03 ]

Now I understand how Alexey's scenario would work and I agree that it would be nice a for following scenario:
Existing zabbix installation, where long time ago type of information has been changed for many items (itemIDs), and these itemIDs are still in zabbix configuration.

How to "clean" currently existing installations? - yes, remove values for every history/trends table for items which do not exist already for this table type.
My suggestion in ZBX-9278 would not help for this scenario.

Comment by Oleksii Zagorskyi [ 2015 Nov 05 ]

Before working on this issue, take a look please to ZBX-10012 discussion.





[ZBXNEXT-3754] Convert old trigger hysteresis and drop {TRIGGER.VALUE} support in trigger expressions Created: 2017 Mar 22  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Installation (I), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: hysteresis, recoveryexpression, upgrade
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

{TRIGGER.VALUE} is still being used for trigger hysteresis while there is a new and supposedly better way to achieve the same result, namely Recovery expression. As a result we need to support two ways of doing the same thing.

Conversion algorithm should be derived and implemented in DB upgrade and XML import.



 Comments   
Comment by Andrey Melnikov [ 2017 Mar 22 ]

Better create function between($a,$b) to avoid write multiple expressions for each trigger.





[ZBXNEXT-3471] querying trend API for aggregate information Created: 2016 Oct 03  Updated: 2016 Oct 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.5
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Martin Møller Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, items, trends
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 6.8 Server with MySQL, running af a VMware VM.
8 GB RAM, approximate database size: 160 GB.



 Description   

I have tried to integrate trends into my PDF report, and I believe I am querying the way I should, but it looks like trend.get ignores the time_from and time_till values and just return the value from one record instead.

For example, I have some hosts/gateways that have had some unscheduled downtime. Some of them a few days ago, but it I ask for trend data for say a week, it just says that no pings were ever lost.

If I have a host that is still down, I at least get a value that is not zero, but typically much higher than what the period it covers would lead to.

Example:Report from 2016.09.25 22:33 until 2016.10.02 22:33.

Ping loss is shown as 0%?!
Looking at the graph, it is clear that the actual ping loss in that period is 37.12%

If I manually query the trend database the way I would expect the API to, I get a value matches this pretty well:

mysql> select AVG(value_avg) AS trend_avg from trends WHERE itemid=52391 and clock BETWEEN 1474835627 and 1475440427;
+-------------+
| trend_avg   |
+-------------+
| 37.11576826 |
+-------------+
1 row in set (0.00 sec)

Datapoints:

mysql> select clock,value_avg AS trend_avg from trends WHERE itemid=52391 and clock BETWEEN 1474835627 and 1475440427;
+------------+-----------+
| clock      | trend_avg |
+------------+-----------+
| 1474837200 |    0.0000 |
| 1474840800 |    0.0000 |
| 1474844400 |    0.0000 |
| 1474848000 |    0.0000 |
| 1474851600 |    0.0000 |
| 1474855200 |    0.0000 |
| 1474858800 |    0.0000 |
| 1474862400 |    0.0000 |
| 1474866000 |    0.0000 |
| 1474869600 |    0.0000 |
| 1474873200 |    0.0000 |
| 1474876800 |    0.0000 |
| 1474880400 |    0.0000 |
| 1474884000 |    0.0000 |
| 1474887600 |    0.0000 |
| 1474891200 |    0.0000 |
| 1474894800 |    0.0000 |
| 1474898400 |    0.0000 |
| 1474902000 |    0.0000 |
| 1474905600 |    0.0000 |
| 1474909200 |    0.0000 |
| 1474912800 |    0.0000 |
| 1474916400 |    0.0000 |
| 1474920000 |    0.0000 |
| 1474923600 |    0.0000 |
| 1474927200 |    0.0000 |
| 1474930800 |    0.0000 |
| 1474934400 |    0.0000 |
| 1474938000 |    0.0000 |
| 1474941600 |    0.0000 |
| 1474945200 |    0.0000 |
| 1474948800 |    0.0000 |
| 1474952400 |    0.0000 |
| 1474956000 |    0.0000 |
| 1474959600 |    0.0000 |
| 1474963200 |    0.0000 |
| 1474966800 |    0.0000 |
| 1474970400 |    0.0000 |
| 1474974000 |    0.0000 |
| 1474977600 |    0.0000 |
| 1474981200 |    0.0000 |
| 1474984800 |    0.0000 |
| 1474988400 |    0.0000 |
| 1474992000 |    0.0000 |
| 1474995600 |    0.0000 |
| 1474999200 |    0.0000 |
| 1475002800 |    0.0000 |
| 1475006400 |    0.0000 |
| 1475010000 |    0.0000 |
| 1475013600 |    0.0000 |
| 1475017200 |    0.0000 |
| 1475020800 |    0.0000 |
| 1475024400 |    0.0000 |
| 1475028000 |    0.0000 |
| 1475031600 |    0.0000 |
| 1475035200 |    0.0000 |
| 1475038800 |    0.0000 |
| 1475042400 |    0.0000 |
| 1475046000 |    0.0000 |
| 1475049600 |    0.0000 |
| 1475053200 |    0.0000 |
| 1475056800 |    0.0000 |
| 1475060400 |    0.0000 |
| 1475064000 |    0.0000 |
| 1475067600 |    0.0000 |
| 1475071200 |    0.0000 |
| 1475074800 |    0.0000 |
| 1475078400 |    0.0000 |
| 1475082000 |    0.0000 |
| 1475085600 |    0.0000 |
| 1475089200 |    0.0000 |
| 1475092800 |    0.0000 |
| 1475096400 |    0.0000 |
| 1475100000 |    0.0000 |
| 1475103600 |    0.0000 |
| 1475107200 |    0.0000 |
| 1475110800 |    0.0000 |
| 1475114400 |    0.0000 |
| 1475118000 |    0.0000 |
| 1475121600 |    0.0000 |
| 1475125200 |    0.0000 |
| 1475128800 |    0.0000 |
| 1475132400 |    0.0000 |
| 1475136000 |    0.0000 |
| 1475139600 |    0.0000 |
| 1475143200 |    0.0000 |
| 1475146800 |    0.0000 |
| 1475150400 |    0.0000 |
| 1475154000 |    0.0000 |
| 1475157600 |    0.0000 |
| 1475161200 |    0.0000 |
| 1475164800 |    0.0000 |
| 1475168400 |    0.0000 |
| 1475172000 |    0.0000 |
| 1475175600 |    0.0000 |
| 1475179200 |    0.0000 |
| 1475182800 |    0.0000 |
| 1475186400 |    0.0000 |
| 1475190000 |    0.0000 |
| 1475193600 |    0.0000 |
| 1475197200 |    0.0000 |
| 1475200800 |    0.0000 |
| 1475204400 |    0.0000 |
| 1475208000 |    0.0000 |
| 1475211600 |    0.0000 |
| 1475215200 |   98.3333 |
| 1475218800 |  100.0000 |
| 1475222400 |  100.0000 |
| 1475226000 |  100.0000 |
| 1475229600 |  100.0000 |
| 1475233200 |  100.0000 |
| 1475236800 |  100.0000 |
| 1475240400 |  100.0000 |
| 1475244000 |  100.0000 |
| 1475247600 |  100.0000 |
| 1475251200 |  100.0000 |
| 1475254800 |  100.0000 |
| 1475258400 |  100.0000 |
| 1475262000 |  100.0000 |
| 1475265600 |  100.0000 |
| 1475269200 |  100.0000 |
| 1475272800 |  100.0000 |
| 1475276400 |  100.0000 |
| 1475280000 |  100.0000 |
| 1475283600 |  100.0000 |
| 1475287200 |  100.0000 |
| 1475290800 |  100.0000 |
| 1475294400 |  100.0000 |
| 1475298000 |  100.0000 |
| 1475301600 |  100.0000 |
| 1475305200 |  100.0000 |
| 1475308800 |  100.0000 |
| 1475312400 |  100.0000 |
| 1475316000 |  100.0000 |
| 1475319600 |  100.0000 |
| 1475323200 |  100.0000 |
| 1475326800 |  100.0000 |
| 1475330400 |  100.0000 |
| 1475334000 |  100.0000 |
| 1475337600 |  100.0000 |
| 1475341200 |  100.0000 |
| 1475344800 |  100.0000 |
| 1475348400 |  100.0000 |
| 1475352000 |  100.0000 |
| 1475355600 |  100.0000 |
| 1475359200 |  100.0000 |
| 1475362800 |  100.0000 |
| 1475366400 |  100.0000 |
| 1475370000 |  100.0000 |
| 1475373600 |  100.0000 |
| 1475377200 |  100.0000 |
| 1475380800 |  100.0000 |
| 1475384400 |  100.0000 |
| 1475388000 |  100.0000 |
| 1475391600 |  100.0000 |
| 1475395200 |  100.0000 |
| 1475398800 |  100.0000 |
| 1475402400 |  100.0000 |
| 1475406000 |  100.0000 |
| 1475409600 |  100.0000 |
| 1475413200 |  100.0000 |
| 1475416800 |  100.0000 |
| 1475420400 |  100.0000 |
| 1475424000 |  100.0000 |
| 1475427600 |  100.0000 |
| 1475431200 |  100.0000 |
| 1475434800 |  100.0000 |
+------------+-----------+
167 rows in set (0.00 sec)

What I see in my report (DEBUG stage):
Trend item search for: ICMP loss of type number

Array
(
    [0] => Array
        (
            [itemid] => 52391
            [name] => ICMP loss
            [key_] => icmppingloss
            [description] => 
            [units] => %
            [lastclock] => 1475439806
            [lastvalue] => 100.0000
        )

)

Trend data for ICMP loss:

Array
(
    [0] => Array
        (
            [itemid] => 52391
            [num] => 60
            [value_min] => 0.0000
            [value_avg] => 0.0000
            [value_max] => 0.0000
        )

)

In this case, it looks like only the first value in the set is used.
I would expect that num would be SUM()'ed, value_min, MIN()'ed, value_avg AVG()'ed, and value_max MAX()'ed over the entire period and then returned.

This is tested on Zabbix 3.0.4. I expect it is also an issue in 3.2, but I have not had time to test it.

It does not look like 3.0.5 is available as a package for my CentOS base yet, but I doubt the issue is fixed, since the release notes make no mention of it.



 Comments   
Comment by richlv [ 2016 Oct 03 ]

first, zabbix api never performs any operations on the database values (there is a separate feature request for that), thus your check with the db level avg() wouldn't be reproducible with the current zabbix api.

as for only one value being returned, please show the raw json sent to the zabbix api (not an interpretation for some library or language, pure json)

Comment by Martin Møller [ 2016 Oct 03 ]

Alright. That would be this part:

{"auth":"<removed>","method":"trend.get","id":1,"params":{"output":["itemid","num","value_min","value_avg","value_max"],"itemids":"52391","time_from":1474851603,"time_till":1475456403,"limit":1},"jsonrpc":"2.0"}

From your description, I think I can gather that limit:1 is my issue and that I will get all rows returned, not the added values. Might there be a call for that some day?
I guess I'll have to see about averaging them in PHP after I receive them, them.

Context:
CURL Options:

Array
(
    [19913] => 1
    [13] => 30
    [78] => 5
    [81] => 
    [64] => 
    [52] => 1
    [74] => 1
    [10023] => Array
        (
            [0] => Content-Type: application/json-rpc
            [1] => User-Agent: ZabbixAPI v1.0 - http://andrewfarley.com/zabbix_php_api
        )

    [10036] => POST
    [10015] => {"auth":"64e85a215abf7e23d57f57fcd246a0f7","method":"trend.get","id":1,"params":{"output":["itemid","num","value_min","value_avg","value_max"],"itemids":"52391","time_from":1474851603,"time_till":1475456403,"limit":1},"jsonrpc":"2.0"}
    [10102] => gzip
)

Got response from API:

({"jsonrpc":"2.0","result":[{"itemid":"52391","num":"60","value_min":"0.0000","value_avg":"0.0000","value_max":"0.0000"}],"id":1})

Response decoded:

(Array
(
    [jsonrpc] => 2.0
    [result] => Array
        (
            [0] => Array
                (
                    [itemid] => 52391
                    [num] => 60
                    [value_min] => 0.0000
                    [value_avg] => 0.0000
                    [value_max] => 0.0000
                )

        )

    [id] => 1
)

PS: Tried removing 'limit:1' and then I get all the rows, so now that part is solved. I didn't get a good grasp on the trend.get call from the one example shown, I'm afraid.

Comment by richlv [ 2016 Oct 03 ]

ZBXNEXT-656 asks for something similar - only for history.get, but that's normal as trend.get didn't exist back then.
other similar feature requests are ZBXNEXT-1192 and ZBXNEXT-3034





[ZBXNEXT-3346] JSON adding new item to map without deleting existing items Created: 2016 Jul 25  Updated: 2016 Jul 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Vekli Sergey Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Vekli Sergey [ 2016 Jul 25 ]

I mean in the theme "adding new item".

asaveljevs Fixed.





[ZBXNEXT-3315] can't get all template properties in one call Created: 2016 Jun 20  Updated: 2016 Jun 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: template.get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when requesting template.get, we may ask for all the properties like applications, macros, items, triggers, graphs... unfortunately, nested properties are not returned :

  • steps for web scenarios
  • items for graphs
  • prototypes for lld rules
  • templated screen items/elements
  • something else ?

if one would like to get all the information about a template, that makes the 'extend' call to these entities useless - it is still required to make another call for all the web scenarios, graphs, lld rules, templated screens...

the host.get method is likely the same.



 Comments   
Comment by richlv [ 2016 Jun 20 ]

also applications for items, and probably many more properties or other entities.

looks like these parameters haven't been thought out that well - the frontend doesn't use them anyway and resorts to the individual .get methods.





[ZBXNEXT-3166] get IDs for web monitoring items using API easily Created: 2016 Feb 24  Updated: 2023 Jul 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.4.7
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: itcbsops Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: ids, items, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-19160 How to get "speed", "response time", ... Closed

 Description   

Dear,

using API, we want to retrieve some informations about Web scenarios, like the average response time for the first (and uniq) step.

We retrieve the web scenario information without any problem (using httptest.get).

But to get the average response time, we use the historyGet, but we must set in parameter (itemid) the id of the average response time (I get the itemid in the frontend url).

In other word, I don't understand how is linked the web scenario id to the average download time of the 1st step.

I've also check on database but cannot see the relation.

Thanks for your help



 Comments   
Comment by Oleksii Zagorskyi [ 2016 Feb 25 ]

Indeed an "httpstepitem" table could be used to get and include actual items to API response.
As the response contains only steps, but each has 3 items and there are also items for scenario - to resolve this request the method should support something like selectItems, which would include items for steps and scenario.

As a workaround, having scenario and step names it's possible to construct item keys https://www.zabbix.com/documentation/2.4/manual/web_monitoring/items and then using hostid get items using item.get with filtering by key.

Should we move it to ZBXNEXT ?

Comment by Oleksii Zagorskyi [ 2016 Feb 25 ]

Or close it as a duplicate of ZBX-9649

Comment by Oleksii Zagorskyi [ 2016 Feb 25 ]

Well, indeed worth to close.

Comment by richlv [ 2016 Feb 25 ]

i'd suggest moving to zbxnext instead. ZBX-9649 was about getting those items, this issue is about getting their ids in the first place.
while constructing item keys might work, it is fragile - what if an upcoming zabbix version changes the keys ?
being able to properly get the associated ids would be quite useful.

Comment by Oleksii Zagorskyi [ 2016 Feb 25 ]

Good point, moved.

Comment by Carl [ 2023 Jul 12 ]

It does not seem possible via API how we can get the relations between httptestid > httpstepid > itemsid.

Using httptest.get($hostid) we can get httptest.httptestid, httptest.hostid, httpstep.httpstepid and httpstep.httptestid - but we cannot get items.itemid

Using item.get($hostid,webitems) we can get items.itemid and items.hostid - but we cannot get httpstep.httpstepid or httptest.httptestid

The httpstepitem table contains httpstepitemid, httpstepid, itemid, type and is necessary to link the two above; but does not appear exposed in API

It seems the following changes may address this:

a) have httptest.get when during selectSteps return the list of steps including the itemid and type from httpstepitem as an array

and/or

b) have item.get when during webitems=true return the httptestid, httpstepid and type from httpstepitem.

I wrote the above before I found this unresolved item of 7 years ago.

It seems like I am the first to vote on the issue, but is there any likelihood this shortcoming will be addressed?





[ZBXNEXT-1461] Notify dependent triggers with an indication of the root problem plus dynamic dependency maps Created: 2012 Oct 10  Updated: 2023 Nov 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Documentation (D), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Volker Fröhlich Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 27
Labels: dependencies, topology
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

This ticket describes my wish from the conference talk "Generating Maps and Hosts from Topological Data" (https://www.youtube.com/watch?v=Sv0ZV05N5oI).

=Scenario=

A Zabbix server is connected to a monitored server via a switch

Z-N-S

Z ... Zabbix server
N ... Networking equipment (switch)
S ... Monitored server

The switch is maintained by a network administrator (NA), the server is maintained by a server administrator (SA). S hosts a website for a customer.

=A little story=

In the middle of the night, SA receives a message on his phone, claiming S is unreachable. What happened? Various things go through his mind: Did somebody mess up the firewall, the nameserver? Did somebody pull a cable or did the switch break? Did the machine or the network stack crash? Is it actually the Zabbix server that became disconnected from this part of the network?

2 minutes later the customer is on the phone, asking the drowsy SA what's wrong with his website. At this point he can't answer the customer's question. He doesn't even know if he can do anything about it. He only knows the problem is apparently real. If he's lucky, he'll reach a NA who can help him find out.

Meanwhile in the network operations center: NA gets a message on the dashboard, saying N is unreachable. He doesn't know the topology very well and therefore doesn't know from the top of his head, which hosts are affected by this outage. He also has no idea what services the machines runs, that is behind the broken switch. He has no immediate sense of urgency besides the trigger severity. If he's lucky, somebody's maintaining some additional information, accessible in the enterprise wiki.

This little story assumes, no trigger dependency is used. The trigger dependency mechanism could have been used to not notify the SA at all, because S depends on N. But that doesn't help the SA, because the customer would have still called him up and he'd have been even more clueless.

=What if ...=

What if the SA would have gotten a message saying:

"Server S is unreachable. This is due to an outage of N."

Reading it, he would have known he can't do anything about the problem. The website would most likely come back online when N is back to work. He could have answered the customer: "We have a network problem, NOC is working on it, have a good night!".

Also, what if the NA had a dynamic map reflecting dependency? Optionally he could also receive messages like below, if he cares:

"Switch N is unreachable. Therefore S is unreachable too."

NA: "Gosh, S is an important server, I better hurry!"

If you're creative with triggers and trigger dependency, you can visually reflect affected hosts on static maps and get this kind of notification. It only works in specific topologies though and may break silently, when you delete a host. This is not how it should be done.

=What would be necessary?=

I believe all necessary information already exists in the Zabbix database. Zabbix knows about the whole dependency chain. Instead of hiding away subsequent problems, it should also be possible to notify subsequent problems with the root problem message.

=Known limitations=

Trigger dependencies are connected with a logical OR. This might not be ideal for modelling topology.



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Oct 10 ]

I'm not sure but ZBX-4744 looks a bit related.

Comment by Raymond Kuiper [ 2012 Oct 10 ]

I disagree, Volker is suggesting a fundamental change in handling trigger dependencies in actions and maps.

Comment by Volker Fröhlich [ 2012 Oct 12 ]

Related to ZBXNEXT-1333

Comment by Volker Fröhlich [ 2013 Mar 01 ]

Loosely connected to ZBXNEXT-1547

Comment by romale [ 2013 Nov 19 ]

>all necessary information already exists in the Zabbix database. Zabbix knows about the whole dependency chain.

imho, in current state, zabbix does not know about dependencies. Firstly, it should create a network tree. i think it should discover who is host, who is switch, router etc and who of this at righ side and at left side for topology compilation and relations between devices. Also, it should to know who is Port for root cause discovery and port to port mappings. This mechanism is requires model-oriented approach. And, since, all of network devices are typically SNMP-based, so, discovery should rely on SNMP.
Examples.
Our topology: ZABBIX-switch_port11-SWITCH1-switch_port12router_port1-ROUTER1-router_port2switch_port21-SWITCH2-switch_port22-HOST1
Scenario:
If switch_port21 is disconnected (we are receive router_port2 LinkUp/Down SNMP Trap, we can use this info in correlation).
Remark: Zabbix DB may contain info: router_port2 connected to switch_port21 (based on mac address table info while topology discovery), or on upper level relation: ROUTER1 at left side has SWITCH1, and ROUTER1 at right side has SWITCH2.
When HOST1 is unreachable, zabbix poll by icmp or snmp or tcp the SWITCH2: hey, are you OK? No answer. Next step - zabbix poll ROUTER2: he is replay via icmp for example, it worked and router_port2 status is Down.
So, HOST1 unreachable - is secondary issue and should be suppressed (suppresed message should be emailed to SA with root cause "SWITCH2 is down"), and root cause - "SWITCH2 is down" (this message to NA with affected devices for example. What if 400 hosts is connected to SWITCH2, cisco 6513? NA should know a scale of trouble ).

This is my reflections about network topology discovery and dependencies and about some implementations.
imho, just templates with dependencies is not enough today. It creates human errors, complexity of maintenance and tight monitoring.





[ZBXNEXT-3974] API "trend.get" call doesn't support sorting Created: 2017 Jul 03  Updated: 2017 Jul 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 3.2.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Anton Alekseev Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Documentation says

The following parameters are supported by all get methods:

  • ...
  • sortfield
  • sortorder
  • ...

But using "sortfield" and/or "sortorder" in "trend.get" call has no effect:

Example 1. Sorting by clock doesn't work
Request:
{
  "auth": "...",
  "id": 1,
  "params": {
    "time_till": 1498710000,
    "time_from": 1498700000,
    "sortorder": "ASC",
    "sortfield": "clock",
    "itemids": [
      "26031",
      "26032"
    ],
    "trend": "0",
    "output": [
      "itemid",
      "clock"
    ]
  },
  "method": "trend.get",
  "jsonrpc": "2.0"
}

Response:
{
  "id": 1,
  "result": [
    {
      "clock": "1498701600",
      "itemid": "26031"
    },
    {
      "clock": "1498705200",
      "itemid": "26031"
    },
    {
      "clock": "1498708800",
      "itemid": "26031"
    },
    {
      "clock": "1498701600",
      "itemid": "26032"
    },
    {
      "clock": "1498705200",
      "itemid": "26032"
    },
    {
      "clock": "1498708800",
      "itemid": "26032"
    }
  ],
  "jsonrpc": "2.0"
}
Example 2. Descending sorting by itemid doesnt' work
Request:
{
  "auth": "...",
  "id": 1,
  "params": {
    "time_till": 1498710000,
    "time_from": 1498700000,
    "sortorder": "DESC",
    "sortfield": "itemid",
    "itemids": [
      "26031",
      "26032"
    ],
    "trend": "0",
    "output": [
      "itemid",
      "clock"
    ]
  },
  "method": "trend.get",
  "jsonrpc": "2.0"
}

Response:
{
  "id": 1,
  "result": [
    {
      "clock": "1498701600",
      "itemid": "26031"
    },
    {
      "clock": "1498705200",
      "itemid": "26031"
    },
    {
      "clock": "1498708800",
      "itemid": "26031"
    },
    {
      "clock": "1498701600",
      "itemid": "26032"
    },
    {
      "clock": "1498705200",
      "itemid": "26032"
    },
    {
      "clock": "1498708800",
      "itemid": "26032"
    }
  ],
  "jsonrpc": "2.0"
}

applyQuerySortOptions isn't used in include/classes/api/services/CTrend.php. Neither does ORDER BY SQL clause.






[ZBXNEXT-3716] Empty response received from Zabbix server "localhost" when execute the default of ZBX scripts Created: 2017 Feb 23  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.2.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: carlgan Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, macros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ZXB 3.2.2 +Centos 7.1


Attachments: Text File debug info for ping cmd.txt    

 Description   

Empty response received from Zabbix server "localhost" when execute the default of ZBX scripts(e.g. ping, detect operating system, traceroure) from dashboard.
Details info:
Empty response received from Zabbix server "localhost". [scripts_exec.php:71 ? CFrontendApiWrapper->execute() ? CApiWrapper->__call() ? CFrontendApiWrapper->callMethod() ? CApiWrapper->callMethod() ? CFrontendApiWrapper->callClientMethod() ? CLocalApiClient->callMethod() ? call_user_func_array() ? CScript->execute() ? CApiService::exception() in include/classes/api/services/CScript.php:311]



 Comments   
Comment by richlv [ 2017 Feb 23 ]

could a misconfiguration of the server ip/port in the frontend.
worth discussing first in channels, listed at http://zabbix.org/wiki/Getting_help





[ZBXNEXT-3622] user.get and usergroup.get don't return LDAP users/groups Created: 2016 Dec 20  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.2.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: David Angelovich Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RHEL 7



 Description   

user.get won't return users that use the "System Default" authentication when its set to use LDAP. Its returning only the internal users.
Specifying a known LDAP userid returns an empty result.

usergroup.get won't return groups Frontend access is System default when its set to use LDAP.

Documentation isn't clear whether there's a flag to work around this or if its intentional.



 Comments   
Comment by richlv [ 2016 Dec 20 ]

could you please clarify what exactly is "known LDAP userid" ?
please note that zabbix only validates the password against ldap, users must exist in zabbix for any purpose (logging in, getting their names over the api etc)

Comment by David Angelovich [ 2016 Dec 20 ]

I mean a user that has been already configured as a zabbix user, whose auth is against LDAP.





[ZBXNEXT-3515] Add embedded script support to Web scenario steps Created: 2016 Oct 28  Updated: 2016 Oct 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 3.2.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: JavaScript
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Web scenarios do not provide Real User Monitoring (RUM), where a scenario runs in a fully-blown Internet browser engine.
Any code supposed to be interpreted or executed in the browser on client side, as it is the case with JavaScript, will have no effect.

A web application with an authentication procedure that requires to get a salted hash POSTed connot be monitored by Zabbix.

E.g.:

var response = challenge + "-" + password;
jxl.setValue("uiResponse", challenge + "-" + hex_md5(response));

In the past I've seen things like these only now and then. Meanwhile, I'm encountering more and more web services that cannot be monitored with Zabbix.

So, how about adding embedded script support on step level?

PS: It seems reasonable to use JavaScript but I think other interpreters like for instance LUA could help here too






[ZBXNEXT-1485] Redesigning the get methods output parameter Created: 2012 Oct 25  Updated: 2014 Jan 21

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Documentation (D), Frontend (F)
Affects Version/s: 2.1.0
Fix Version/s: 2.2.0

Type: Change Request Priority: Major
Reporter: Pavels Jelisejevs (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: api, documentation, frontend
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-7682 uselessness of countOutput Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
ZBXNEXT-1491 Property array support for API get me... Change Request (Sub-task) Closed  
ZBXNEXT-1492 Drop support of output shorten for AP... Change Request (Sub-task) Closed  
ZBXNEXT-1505 Property array support for all API ge... Change Request (Sub-task) Closed  
ZBXNEXT-2017 Drop support of output refer for API ... Change Request (Sub-task) Closed  

 Description   

The output parameter for get methods should be redesigned to be simpler and more intuitive to use.

More details in the specification: http://zabbix.org/wiki/Docs/specs/ZBXNEXT-1485



 Comments   
Comment by Pavels Jelisejevs (Inactive) [ 2012 Oct 31 ]

To make the transition smoother and less painful, I've separated three subtasks that need to be done first: ZBXNEXT-1492, ZBXNEXT-1505 and ZBXNEXT-1491.

Comment by richlv [ 2013 Mar 14 ]

subtasks closed, this one can be closed, too

jelisejev Wait, there's still stuff to be done in this task too.





[ZBXNEXT-1718] CountOutput ignores permissions in several APIs Created: 2013 Apr 22  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.0.6, 2.2.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Pavels Jelisejevs (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: actions, api, maps, permissions, screens
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In several APIs permissions can only be checked by retrieving the object and then filtering them on the PHP side. Since countOutput returns the data right after it is retrieved from the DB, permissions for such requests are not checked.

The following APIs are affected by this problem:

  • action
  • map
  • screen

This should be fixed using the code added in ZBX-6407.






[ZBXNEXT-1525] separate Item and Discovery selection in the API. Created: 2012 Nov 22  Updated: 2013 Jan 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.1.0
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Eduards Samersovs (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For example in CHostInterface->get() option "selectItems" return all types of items include discoveries. It must be another option "selectDiscovery" to get only discovery items.
Situation where called API::Item()->get() with option 'filter' => array('flags' => null) must be separated - Items get through API::Item(), discovery through API::DiscoveryRule()






[ZBXNEXT-1673] Possibility to manipulate SLA by adding corrections Created: 2013 Mar 19  Updated: 2021 Nov 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 2.0.5
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: itservices, patch, sla
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux, CentOS-6.3, PostgreSQL 9.1.8, Apache HTTPD-2.2.15, PHP-5.3.3


Attachments: File zbxNext1673-2.2.9.patch     PNG File zbxNext1673-MonitoringServices.png     PNG File zbxNext1673-ServicesConfiguration.png    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-6999 Advanced SLA reporting Closed

 Description   

SLA calculation in IT-Services might become a powerful feature.
Beside some minor limitations which actually won't prevent using it seriously, there is one thing that is crucial -at least in my opinion.

If SLA calculation is taken to represent the real service levels and shall be used for reporting and potentially even used for penalty, then there has to be a way to subsequently add corrections for defined time periods.

Such a correction could be defined on trigger level with parameter like 'Trigger status', 'Time period(s)' and 'Comment/Reason'.
For the case of an error that has extensive impact of SLA calculation, it would also be nice to have the possibility to recursively add a SLA-/Trigger-correction on higher levels as well.

These corrections have to be audited and be visible.
For non-graph views this could be a visual indicator with link/tool-tip to/about the corresponding corrections.
In graphs this could be noticeable by different colors.

A correction may not change the data a SLA is based of, it rather should be a separate definition that gets taken into account for on-demand calculation and displaying of SLA.

By this feature it would be possible to correct incorrect SLA calculations based on missing data or any kind of malfunctions in the processes of data collection.



 Comments   
Comment by Oleksii Zagorskyi [ 2013 Mar 20 ]

ZBXNEXT-334 is a bit related.

Comment by Stephen Dayman [ 2013 Oct 31 ]

The current SLA calculation is very useful for us and helps as a leading indicator of our performance but the correction mechanism is a problem. I would like the SLA correction at a child to cause the recalculation of the availability of the parent recursively. Currently I update the parent with uptime/downtime but this affects the calculation since I loose any availability data of other children.

Comment by Marc [ 2015 Jun 07 ]

Attached patch zbxNext1673-2.2.9.patch is an attempt to implement this request without making deep cuts - as always it's quick'n dirty hacked together without much thinking and testing

The idea is to use additional service times to either overrule OK or PROBLEM SLA periods.

While such "Correction periods" affect SLA calculation completely, details may be identified in the availability report (reports3.php) view only:

If a correction takes place within a SLA period, this is indicated by appending the effective correction period in orange to the regular OK/PROBLEM period values. So the regular values consider corrections and the the orange values indicate how much time was corrected.
On mouse-over a popup with responsible correction time services is displayed.

Btw, the nice thing about using service times is that no data modification is necessary. SLA data remains untouched, just the on-demand calculation is affected.

Comment by Alexei Vladishev [ 2021 Oct 13 ]

Support of excluded downtimes is coming in Zabbix 6.0 LTS soon. We are working on it.

Comment by Alexei Vladishev [ 2021 Nov 16 ]

It is under development in ZBXNEXT-6999





[ZBXNEXT-6551] Whether the Zabbix network topology function can add elements to the map through the API Created: 2021 Mar 08  Updated: 2021 Mar 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.0.28
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: 苟亚材 Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

  1. I created a map in Zabbix
  2. I want to add network devices to the Map through the Zabbix API
  3. I refer to the API documentation, and there are only a few methods about operating on the map, such as create, get, delete, and update
  4. May I ask whether Zabbix can realize this requirement at present

Result:

Expected:

 






[ZBXNEXT-2593] Allow to create host inventory in Zabbix API Created: 2014 Nov 14  Updated: 2016 Aug 03

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Sergei Prutskikh Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: api, database, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In Zabbix API it is possible to create host with inventory, but if host is already created and inventory this host is disabled, it is not possible to update this host to create inventory.

in your API class CHost.php there is some additional code that restrict to create inventory while Host Update function.

Host update function actially call massUpdate function and here we see this code:

if (!isset($existingInventoriesDb[$hostId])) {
							$host = get_host_by_hostid($hostId);
							self::exception(ZBX_API_ERROR_PARAMETERS, _s(
								'Inventory disabled for host "%1$s".', $host['host']
							));
						}

Why you cant create new inventory for host if there is no inventory for host exists yet?



 Comments   
Comment by richlv [ 2014 Nov 14 ]

have you set "inventory_mode" to 0 or 1 as per https://www.zabbix.com/documentation/2.2/manual/api/reference/host/object ?

Comment by Aleksandrs Saveljevs [ 2016 Aug 03 ]

Is the problem still relevant for you?





[ZBXNEXT-2457] Interfaceid shouldn't be mandatory for item.create Created: 2014 Sep 11  Updated: 2014 Sep 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.4.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Pavels Jelisejevs (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, interfaces, item
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently to create an item, we always need to do a host.get request first to retrieve the ID of an interface first. In some cases it would be much more convenient if the "interfaceid" parameter for item.create was optional and would just take the main interface of the correct type.






[ZBXNEXT-1984] Configurable limitation for 'value like' searches in history Created: 2013 Oct 25  Updated: 2013 Oct 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.0.9
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: reliability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Would be nice if a maximum period for selection in history can be configured.
This setting may either enforce a maximum period or disable and ignore 'value like' filter.

Without such limitation a (relational) database may be overloaded easily.



 Comments   
Comment by richlv [ 2013 Oct 26 ]

wondering whether max graph period setting affects this (in defines.inc.php) - although here we don't have the benefit of selecting from trends

Comment by Marc [ 2013 Oct 26 ]

ZBX_MAX_PERIOD takes effect but a reasonable value for text based items is not necessarily sufficient for number based items.

Anyhow, the main problem is not the period and thus amount of (text based) data in general.
It's about the fact that "LIKE '%foo%'" queries are considerably more expensive and should be able to be restricted separately in some way.





[ZBXNEXT-1881] Require to improve error displaying in API, because now all errors, undefined index's and others, is intercepted by zbx_err_handler() and don't shows without Frontend. Created: 2013 Aug 28  Updated: 2013 Sep 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Eduards Samersovs (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[ZBXNEXT-5154] The zabbix API for authentication should return an HTTP error code when the authentication fail Created: 2019 Mar 30  Updated: 2019 Apr 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.26
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Andre Rodier Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

  1. Call the API 'user.login' and a wrong password with curl or any other tool
  2. The API returns 200, and a field "error" in JSON

Expected:

  • The API should returns 403 when the authentication fails.


 Comments   
Comment by Andre Rodier [ 2019 Mar 30 ]

Here a test using Ansible URI module

ok: [homebox] => changed=false 
  access_control_allow_headers: Content-Type
  access_control_allow_methods: POST
  access_control_allow_origin: '*'
  access_control_max_age: '1000'
  cache_control: no-cache
  connection: close
  content_type: application/json
  cookies: {}
  cookies_string: ''
  date: Sat, 30 Mar 2019 06:14:10 GMT
  expires: Thu, 01 Jan 1970 00:00:01 GMT
  json:
    error:
      code: -32602
      data: Login name or password is incorrect.
      message: Invalid params.
    id: '1'
    jsonrpc: '2.0'
  msg: OK (unknown bytes)
  redirected: false
  server: nginx
  status: 200
  strict_transport_security: max-age=31536000;
  transfer_encoding: chunked
  url: https://zabbix.rodier.me/api_jsonrpc.php

The status should be 403, not 200.

Comment by Arturs Lontons [ 2019 Apr 01 ]

Hi,
For now this is by design, so it's not necessarily a bug.
But using proper response status codes could be considered a feature request, so I'll change the ticket type and pass it onto the development team.

Comment by Andre Rodier [ 2019 Apr 01 ]

Thank you, I understand this is by design.

I am sure you'll find a way to make this compliant with REST API standards.





[ZBXNEXT-2825] User and user group description fields Created: 2015 May 22  Updated: 2023 Sep 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Installation (I)
Affects Version/s: 2.4.5
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: OdinZabbix Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: users
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-6570 Add a 'Description' field to 'Host gr... Closed

 Description   

Add user description field on the user creation screen and user group description on the user group creation screen.
It allows to describe the purpose of all users. For example, if I added some user for test purposes and want to inform my colleagues do not delete it for a couple of days.



 Comments   
Comment by richlv [ 2015 May 22 ]

description for :

Comment by Nathan Liefting [ 2022 Aug 19 ]

This is definitely a nice quick easy addition!

Comment by Galo Xucro [ 2022 Nov 16 ]

It looks trivial to add a description field, with minimal impact on database and other features.

In large installations, it's necessary to document the purpose of each usergroup and some users: why was it created for? permissions? alerting? dashboards? api access?.

Zabbix configuration should allow for some kind of auto-documenting, it'd make the life of Zabbix administrators easier.

Comment by sbindley [ 2023 Sep 07 ]

if not a description field, then a tags field. this would allow to add tags for short description, expiration dates, a temp flag, etc.





[ZBXNEXT-2621] Support LLD for Web Scenario's Created: 2014 Nov 28  Updated: 2021 Jul 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Frank Assignee: Unassigned
Resolution: Unresolved Votes: 75
Labels: lld, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3147 Add webcheck prototypes to Zabbix Closed

 Description   

It would be nice if LLD could be used for web scenario's allowing mass vhosting checks.



 Comments   
Comment by Marc [ 2014 Nov 30 ]

Just to get it right, you're talking about something similar to "Web scenario prototypes" for LLD, right?

Comment by Frank [ 2014 Dec 01 ]

Yes, I'd like to auto-detect vhosts (which I'm already doing for a "simple" item/trigger check) and automatically do webchecks on them.

Comment by Jon Beilke [ 2016 May 06 ]

Using the Zabbix API as a workaround for auto generating web scenarios for now, but would really like to see this integrated into LLD. Any updates on this feature request?

Comment by Marc [ 2016 May 06 ]

jrbeilke,
unfortunately it's not on the roadmap yet. Possibly see "(Co-)sponsoring development" for the fastest way to get it there

Comment by Evan Montgomery-Recht [ 2016 Oct 24 ]

Can you provide an example of how to add a web scenario via Zabbix API? Ideally it would be a multi-step scenario.

Basically we have a situation where we have about 60 web applications is various stages of the SDLC. We need a way to dynamically detect if a application has been deployed to one of our servers. This detection would occur based on a 'is-URL' present (or does it respond back to the right status code) in a template. If so, add application to be monitored. (Ideally we would need to be able to say, if down for at least a week, or some other defined timeframe, it's likely no longer deployed.)

Comment by Jon Beilke [ 2016 Oct 24 ]

Should be covered on the Zabbix doc site - https://www.zabbix.com/documentation/3.2/manual/api/reference/httptest/create

{
    "jsonrpc": "2.0",
    "method": "httptest.create",
    "params": {
        "name": "Homepage check",
        "hostid": "10085",
        "steps": [
            {
                "name": "Homepage",
                "url": "http://mycompany.com",
                "status_codes": 200,
                "no": 1
            },
            {
                "name": "Homepage / About",
                "url": "http://mycompany.com/about",
                "status_codes": 200,
                "no": 2
            }
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

We're using Ruby as it allows us to fetch a JSON list of sites from an internal API and then add the necessary Web Scenarios to Zabbix with this zabbixapi gem - https://github.com/express42/zabbixapi

The readme for the zabbixapi gem includes an example for adding Web Scenarios (a.k.a. httptests). The steps are passed as an array to the API as part of the Web Scenario, and are ordered based on the number (no) property.

Comment by Vladimir Ulogov [ 2016 Oct 25 ]

But long-term solution for this, would be a support of the WebScenario prototypes in LLD. I am voting for this.

Comment by Eduard Muradov [ 2020 Feb 06 ]

Hey. Is there any news about this feature?

Comment by Ben Hanson [ 2021 Jul 15 ]

I can see that using web scenarios prototypes in LLD might be a bit counterintuitive, since scenarios would likely be individual to an apache/iis/etc application.  Maybe it would make more sense to have an improved HTTP agent item to do single URL checking, since that is already a prototype.

It's just so much easier to do a clean web scenario + trigger.

So is there a way to make an HTTP agent item that behaves like a single step web scenario?

Comment by Slash [ 2021 Jul 15 ]

LLD web scenario can be very useful when you need to monitor several websites on a reverse proxy cluster or even a single http server. You can also monitor several endpoints of a specific application.

Currently we have to create a userparameter with LLD to perform this action.





[ZBXNEXT-2519] Move API to Zabbix Server Created: 2014 Oct 16  Updated: 2021 Sep 06

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexei Vladishev Assignee: Unassigned
Resolution: Unresolved Votes: 34
Labels: performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-10119 Method to go over all triggers given ... Closed

 Description   

There are number of drawbacks of current implementation of Zabbix API:

  • code duplication (C, PHP)
  • poor performance especially for template related operations
  • lack of bulk operations and in-memory cache
  • API code is too tied to front-end code (no clear separation)
  • API is not available without Zabbix front-end

It's proposed to move API to Zabbix Server side.



 Comments   
Comment by Marc [ 2014 Nov 15 ]

There should be a reliable mechanism (timeout?) to cancel or prevent expensive API requests.
Currently one can just restart the HTTP server. Restarting the Zabbix server is certainly no option.

Otherwise issues like ZBX-6763 might become a serious problem.

Comment by Marc [ 2014 Nov 15 ]

Btw, how about implementing this as a separate process accessing the shared memory of the server?

Comment by Andris Zeila [ 2014 Nov 21 ]

Yes, the current plan is to implement it as separate process(es). This will allow to partly re-use existing functionaly for some requests (for example template linking) and also will give access to configuration/value caches.

Comment by Oleksii Zagorskyi [ 2015 Aug 28 ]

Performance issue for template related operations discussed in ZBX-6118

Comment by OFN Team [ 2015 Nov 10 ]

We've had a number of comments from our developers that are creating micro services (which we'll run in application containers) that are looking for a restful end point to send metrics to. Will this be available on the proxy as well and will the API be expanded to allow updating item values?

Comment by Ross Peoples [ 2016 Feb 01 ]

Can we make this a separate component from the Zabbix server entirely so that it can be installed on a separate machine from the server? The reason I ask is this: the server already has a lot to do, ingesting data from the proxies, writing it to the database, monitoring anything not monitored by the proxies, calculating triggers and items, and running actions based on those triggers in addition to the other various tasks it has to do.

In a large enterprise environment, being able to horizontally scale is a requirement and thus far, we've been able to do that by adding proxies and additional web servers, but there can only be one Zabbix server. We are planning to start using the Zabbix API much more heavily in the next year, so being able to set up multiple API servers behind a load balancer would be extremely beneficial and take some load off the Zabbix server.

Comment by Ryan Armstrong [ 2016 Apr 03 ]

I agree with Ross. We definitely need to start separating the server into discrete, horizontally scalable micro-services. May need to look at memcached/redis for distributing in-memory caches between components.

I did consider prototyping a RESTful API written in C but it lead to another million new cool ideas and I couldn't decide where to start. For example, it really should sit in front of a shared Data Access Layer (or two: one for config, one for metrics) which could also be a discrete component with a RESTful/other API and then be used by the front-end, server, public API, etc.

So in summary, please don't move the API to the server binary; let's make it discrete and scalable.

Comment by Alexei Vladishev [ 2016 Apr 04 ]

Ryan & Ross, I totally agree with you. The API component must be as independent as possible and ideally shouldn't affect runtime processing of Zabbix Server. We may also give users a choice: run it as part of Zabbix Server or as a standalone process for those who prefer scalability. In both cases the API component shouldn't tightly coupled with Zabbix Server, there will be no shared resources at all.

From the other hand, having API on Zabbix Server side would allow interesting things like building distributed or HA Zabbix Server on top of the API or making all communications (server-agent, proxy-server) to be based entirely on API calls. Just imagine Zabbix Agent doing history.put or Proxy doing config.get. I like it, do you?

Comment by richlv [ 2016 Apr 04 ]

when decoupling the api, what about the server caches (value, configuration) ?
those would be very valuable to reuse for the api.
separate caching engines like redis could be considered, but the complexity of a zabbix deployment would increase massively

Comment by Ryan Armstrong [ 2016 Apr 05 ]

Yeah I think the caches are valuable to the API but do agree that redis/memcached/other would add install complexity.
Alexei, I definitely like it.

I understand this idea is turning into a complete redesign (Zabbix v4?), but if you will indulge me, I'd like to regurgitate the "million new cool ideas" that I feel may actually have value to you. Take it or tweak it or leave it I guess, but I feel some isolation and abstraction would make Zabbix stand out from the crowd.

In brief:

  • All shared memory caches are reimplemented as discrete services with private APIs (i.e. Zabbix implementation of redis/memcached/etcd)
  • Each worker process (currently discrete PIDs via fork()) migrated to a discrete service with private API (e.g. trapper, pinger, poller, trigger eval, action queue, etc.)
  • Two new Data-Access Layer (DAL) private APIs to abstract away the database (one for time series, one for config/other) to enable multiple backends (OpenTSB, MongoDB, etc.) without affecting other components. The config service could apply templates at runtime rather than storing duplicate data to disk (which is then expensive to update)
  • Use a message queue to improve API interconnects (pub/sub), atomicity of changes, producer/consumer load balancing, agent comms, delivery and queuing of metrics, actions, etc.
  • a watchdog service to make sure each component is started/listening
  • Public API is then a discrete service which leverages private APIs and DAL
  • Web front-end should exclusively use the public API ("eat your own dog food")

Advantages:

  • Improved (limitless?) scalability of each component (deploy as monolithic server or distributed micro-services (containerised?))
  • HA per component
  • Significantly improved extensibility (new DAL backends or event brokers would be so much easier!)
  • Improved topologies across network boundaries
  • Eliminate proxies (replace with ZabbixMQ or agent proxies like SCCM)
  • faster changes to templates via config API with updates published on the MQ (no bulk updates or syncers to DB)
  • Leverage service discovery protocols (e.g. consul)

Should I put together some sort of proposal on the wiki?





[ZBXNEXT-2330] Support of templates and macro expander - to create external reports Created: 2014 Jun 04  Updated: 2015 Jun 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Lukas Macura Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: cli, latestdata, reports
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-247 Built in feature to export reports an... Open

 Description   

It would be great to create some macro expander functionality with support of templates.
After it, it is relatively easy to create templates to output almost any content (svg, html, txt, tex, ...)
And it is possible to rewrite "latest data" page by embeding such results.

With this functionality, any user can make its own report and templates can be shared on zabbix wiki page.
Even more, anybody can write simple script which can create any output (pdf, png, ...)
There are many templating systems for PHP, like smarty or latte. Parameter of expansion would be hostgroup, host or item to expand hosts, items or latest data in loop.
Smarty example:

<table border="0" width="300">
  <tr>
    <th colspan="2" bgcolor="#d1d1d1">
      Host group {$hostgroupname}"</th>
  </tr>
  {foreach from=$hosts item="entry"}
    <tr bgcolor="{cycle values="#dedede,#eeeeee" advance=false}">
      <td>{$entry.description}</td>        
     </tr>
  {/foreach}
</table>

For start, it is enaugh to have zabbix_expand cli. Templating can be done later.



 Comments   
Comment by Oleksii Zagorskyi [ 2014 Jun 05 ]

Maybe suggested solution is fresh, but in general this is duplicate of ZBXNEXT-247, linked just in case.





[ZBXNEXT-2260] Deprecated macros should be removed Created: 2014 Apr 14  Updated: 2020 Oct 21

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexander Vladishev Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: macros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Support of deprecated macros like {IPADDRESS}, {HOSTNAME}, {TRIGGER.KEY}, {TRIGGER.COMMENT}, {STATUS}, {PROFILE.*} should be dropped.

Upgrade path should replace deprecated macros by supported analogs.



 Comments   
Comment by Juris Miščenko (Inactive) [ 2014 Apr 14 ]

Implemented in svn://svn.zabbix.com/branches/dev/ZBXNEXT-2260

Comment by richlv [ 2014 Apr 14 ]

(1) how exactly is this being done ? just by dropping the support ?
if so, this has a potential of massively messing up with existing users that are upgrading - they have huge amounts of items, actions and other configuration entities that will be broken now, and there is no way to easily fix them - they either have to find each instance manually in the frontend, or know all tables in the db where this should be changed and do direct sql.

that would be seriously, seriously bad.

sasha Will be introduced an upgrade patch. All deprecated macros will be replaced by supported analogs.

<richlv> HOORAY, thanks
we will need a nice spec, listing all macros and locations where they will be changed

jurism We need a specification that lists database tables and fields where the macros are stored and what macros can be placed in those fields.

jurism Database patch added.

Comment by Alexander Vladishev [ 2014 Apr 15 ]

(2) [PS] please review my changes in r44407.

jurism Reviewed. RESOLVED.





[ZBXNEXT-7808] Enhance system.sw.packages to auto-add template to an host with auto-registering Created: 2022 Jun 17  Updated: 2023 Jan 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 6.0.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Zeiko Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: agent, api, templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi,

 

Currently auto-register only use metadata field limited to 255 char to filter hosts.

 

This is usefull to filter between windows and linux but very limited if you want more automation.

 

Auto-register working with agent active, I would be nice to have another field that use system.sw.packages to auto add template to hosts. Currently theres no easy and automated way to add template to host

 

The process could be something like :

 

Host register to server => Server detect windows/linux metadata and filter on that (if auto discover rule is set) => Server filter on system.sw.packages and add template to hosts (with rules added in autoregister action).

 

Regards



 Comments   
Comment by Zeiko [ 2022 Jun 17 ]

I setted up the priority by looking at the "?" if it is not the correct one you can change it !

Comment by dimir [ 2023 Jan 05 ]

Sorry, could you please elaborate what exactly is asked here and provide a complete use case.

Comment by Zeiko [ 2023 Jan 06 ]

Hi,

 

Sorry, English is not my main language so I might be unclear.

The goal here is to automatically add templates to a server when specifics packages are detected.

 

Currently (well in 6.0, I didn't work on this since) auto-registration does not give a way to simply add templates to a server whithout manual actions or specific API scripts (I might be wrong but this is what I concluded after some research)

 

We can simply use a variable to get the OS type (Linux/Windows) and add the server to the correct group with auto-registration.

 

It could be nice to add a way to filter on system.sw.packages and with autoregister rules, add templates to a server when a packages is detected.

 

Simple example :

 

Installing zabbix active agent with auto-registration on nginx server :

  • Zabbix active agent do the registration process
  • Zabbix server get the OS metadata and add the server to linux group
  • Zabbix server get the packages list, find nginx -> Add server into nginx group and add nginx template

 

Is this easier to understand ?





[ZBXNEXT-111] mandatory parameters for api differ from gui Created: 2009 Oct 20  Updated: 2012 Oct 21

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: validation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

trunk rev 8107



 Description   

api mandatory values differ from gui - for example, gui does not allow creating user w/o surname and password, api does. supposedly these should match



 Comments   
Comment by Artem Suharev (Inactive) [ 2009 Oct 29 ]

This is a global problem of checking passed data, and is part of future API development what is not covered by a single issue... =) for now it's stays on clients side responsibility.

Comment by richlv [ 2009 Nov 02 ]

valid as a feature request (so that it doesn't get lost)





[ZBXNEXT-1384] API: get hostsgroups that belongs to a usergroup Created: 2012 Aug 27  Updated: 2012 Oct 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Stanislav Kelberg Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 3
Labels: hostgroup, permissions, usergroups
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Need to have ability to retrieve the hostgroups that belong to a certain usergroup via API.

I couldn't find it in documentation. According to this thread http://www.zabbix.com/forum/showthread.php?t=21168, such functionality is not implemented yet. Since I haven't found a feature request raised for it, I've raised one on my own.



 Comments   
Comment by Fco. Javier Rial [ 2012 Aug 29 ]

Thanks for creating this feature request. I am the one who started the thread
http://www.zabbix.com/forum/showthread.php?t=21168

In the thread I implemented a patch to get this feature working.
Check the code in the thread.





[ZBXNEXT-1198] per-proxy refresh for passive proxies Created: 2012 Apr 25  Updated: 2018 Mar 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: flexibility, passiveproxy
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

for active proxies, we can set config & data refresh per proxy in the proxy config file.

for passive proxies, we can only set this in the server config file for all proxies at once. this does not scale well for multiple passive proxies that should have different parameters.

there should be a way to configure both config & data sending/polling frequencies per passive proxy.

this will require extending db schema and frontend so that these parameters can be configured in administration -> dm



 Comments   
Comment by richlv [ 2018 Mar 23 ]

additional keywords : update





[ZBXNEXT-15] possibility to export and import Zabbix users Created: 2009 Jun 30  Updated: 2021 Jun 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: usability, usergroups, users, xml
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Will be nice to have possibility to export and import Zabbix users.



 Comments   
Comment by Cal Sawyer [ 2009 Sep 10 ]

To add to this - ability to clone existing group permissions to a new group

Comment by Matt Tharma [ 2015 Dec 09 ]

+1





[ZBXNEXT-2768] Parameter to expand {ITEM.VALUE} macro for event.get API Created: 2015 Apr 08  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.9, 2.4.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Kodai Terashima Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: api, event, macro, trigger
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

event.get API method cannot get its expanded name directly, need to get objectid and get expanded name using trigger.get.

However, trigger.get with expandDescription expands {ITEM.VALUE} same as {ITEM.LASTVALUE}. There is no way to get correct event info from API like frontend events screen.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Apr 08 ]

See also ZBX-6491

Comment by Oleksii Zagorskyi [ 2016 Apr 05 ]

I've tested, and looks like even after the ZBX-6491 fix, the {ITEM.VALUE} is expanded same as {ITEM.LASTVALUE} using the trigger.get API method.

So current request is still actual.

I feel that the trigger.get method needs an additional parameter which will define how to expand the {ITEM.VALUE} macro.
Because API can be used for both tasks:

  • managing configuration using own frontend - should be expanded as {ITEM.LASTVALUE}
  • displaying current problems - should be expanded as {ITEM.VALUE}

But currently there no way control the macro substitution.

Comment by richlv [ 2017 Apr 22 ]

note that there are two things desired - trigger name expansion for event.get and ITEM.VALUE expansion support. this might have to be split in two feature requests, if not implemented in one go.





[ZBXNEXT-2291] No way to update the authentication type from internal to ldap or http via zabbix api Created: 2014 May 07  Updated: 2022 Nov 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Harpreet Kaur Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: authentication
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-4268 Authentication API Closed
Sub-task
part of ZBXNEXT-5673 API method for global configuration c... Open

 Description   

There is no api to update the authentication type from intenal to http via zabbix api. From UI only this parameter can be updated. This is a limitation.



 Comments   
Comment by Gregory Chalenko [ 2022 Nov 29 ]

To change user authentication type to LDAP you need to add user to user group with frontend access set to LDAP. To change back you will need to remove user from that user group. As for HTTP authentication: HTTP Basic authentication is done on webserver level therefor API cannot control it, SAML authentication can be used for any Zabbix user with frontend access set to Internal.





[ZBXNEXT-2084] Ability to lock configuration settings by Zabbix Super Admin Created: 2013 Dec 22  Updated: 2013 Dec 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.0.10
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: permissions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Sometimes it's desirable to disallow users of type 'Zabbix Admin' to change certain settings or objects even if they have write permissions via corresponding host group.

In my case some settings/assignments should be kept to assure integrity.

While ZBXNEXT-77 is about permission on user level what probably needs a complete re-design/-write of user management this issue is meant to revoke permission globally on object/element level.

E.g.:
Locking a group wouldn't allow a Zabbix Admin to add/remove hosts or to change the group name without affecting access right to hosts of group itself
Locking a template wouldn't allow to link/unlink a this particular template from a host with r/w permission

I could also think of locking settings on group level:
checking 'Lock status' won't allow enabling/disabling it for host members
checking 'Lock interfaces won't allow adding/removing/updating interfaces
same for templates, macros, proxy, ...






[ZBXNEXT-1790] ability to alert when lld entity is not discovered anymore Created: 2013 Jun 12  Updated: 2024 Feb 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 2.0.6
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 16
Labels: lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-4613 Trigger for discovery rule issues Closed
is duplicated by ZBXNEXT-8711 Internal event for not discovered Closed

 Description   

if low level discovery rule does not discover some entity anymore, we show a warning on the frontend, but there is no way to alert on this.

for example, we can monitor filesystems for used space, but not for availability.

maybe that could be another internal event type ?

"New LLD entities discovered" / "Previously discovered LLD entities lost"

the last would be a bit bad with period of 0 - could we have some way to notify user about which entities were lost ?



 Comments   
Comment by Nicola V [ 2015 Oct 02 ]

Hello, I strongly support this feature: it's very valuable to asses whether an item has disappeared because of LLD.

Comment by jj [ 2016 Mar 23 ]

tried internal cheks?

Comment by richlv [ 2016 Mar 23 ]

internal items/events won't help.

another idea - a new trigger function lldwilldeletein() or better named
would return 0 if an item is still discovered and time in seconds until the item would be deleted.

Comment by Gustavo Guido [ 2023 Oct 04 ]

Appliying the same rules applied with services in network discovery will be nice.
Discovered, Up, Lost, Down (don´t know if with the same names)
Also the deletion of the item/trigger etc can be done by the same rules, you decide when an item will be deleted depending on certain rules, not the same keep lost resource for every resource discovered.

 

Very similar

https://support.zabbix.com/browse/ZBXNEXT-8711

Comment by Cesar Inacio Martins [ 2024 Jan 24 ]

Hi, has anyone found a workaround?

I'm looking for a way to identify when a discovered item stops to be discovered... 
I need to trigger and create an event about this situation.
Trying to figure out if a trigger prototype with nodata() function does the job.

 

Comment by Peter Barrette [ 2024 Jan 24 ]

Hi Ceasar, here's what I've done:

Create a user parameter file for zabbix agent on the zabbix server:

/etc/zabbix/zabbix_agent2.d/userparameter_pgsql.conf

 

The file contains the following line:

UserParameter=zabbix.undiscovered,psql -d zabbix -U zabbix -c "select count(item_discovery.ts_delete) from item_discovery where item_discovery.ts_delete <> 0 and item_discovery.key_ not like 'exclude%';" -qt

Note that I'm using a PostgreSQL database, so I also need a .pgpass file for the zabbix user:

/var/lib/zabbix/.pgpass

 

That file contains the password for the zabbix dabase user:

localhost:*:*:zabbix:passwordhere

 

Then create a new check item for the zabbix server:

Name: Zabbix Server dropped from discovery
Type: Zabbix agent
Key: zabbix.undiscovered
Type: Numeric

Then create a new trigger:

Name: Count of items dropped from discovery: {ITEM.VALUE}
Expression: last(/Zabbix Server/zabbix.undiscovered)<>0
Severity: Whatever you like.

 

This produces an alert with the count of dropped discovery items.

To find the specific items that were dropped, I then SSH into the zabbix server and execute the following query against the pgsql database:

select hosts.name, items.name, items.status, to_timestamp(item_discovery.lastcheck) as lastcheck, to_timestamp(item_discovery.ts_delete) as ts_delete
from items
left join hosts on items.hostid = hosts.hostid
left join item_discovery on items.itemid = item_discovery.itemid
where item_discovery.ts_delete <> 0
and item_discovery.key_ not like 'exclude%'
order by hosts.host;

 

Note that I ignore certain dropped discovery items in both cases with the "and item_discovery.key_ not like 'exclude%'" syntax. If you don't need that, don't use it.

Comment by Cesar Inacio Martins [ 2024 Jan 24 ]

Hi Peter , 

 

Thank you for your suggestion, however, they don't apply to my environment. 

I need something that shows exactly to our support team what is missing. 
Need to be simple like any other event.

Comment by Peter Barrette [ 2024 Jan 24 ]

Play around with the userparameter query and you can get the full list dumped to the item and handle the trigger based on that.

Comment by Gustavo Guido [ 2024 Feb 05 ]

A work arround could be done by an script item that uses de API and reports  the not dicovered itms. 

Whith the new history.push you can fire a trigger.





[ZBXNEXT-1226] Graph percentile from API Created: 2012 May 19  Updated: 2014 Mar 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Attilla de Groot Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 1
Labels: flexibility, percentile
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-756 Trigger function percentile Closed

 Description   

Hi,

Service providers often base their billing on the 95th percentile of bandwidth usage on a link. In a graph the percentile can be displayed easily, but I'd like to get this value over a given period from the API as well. This would allow me to base billing on these value, instead of getting the value from the mysql database directly.



 Comments   
Comment by Oleksii Zagorskyi [ 2012 May 20 ]

See also ZBXNEXT-756.
Issues linked.





[ZBXNEXT-1137] ability to see directly monitored statistics Created: 2012 Mar 01  Updated: 2012 Oct 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

in "status of zabbix" report we can see the total amount of hosts, items and nvps.
in proxy details page we can see per proxy amount of hosts, items and nvps.

if there are proxies used, there is no way to see the amount of hosts, items & nvps, assigned directly to the master host.

preferably, there would be api calls for all of these statistics






[ZBXNEXT-5167] problem.get returns arrays of problems from disabled items/triggers Created: 2018 Aug 22  Updated: 2024 Mar 11

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ingus Vilnis Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 15
Labels: api, problem
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-5186 Show only active problems through pro... Closed
is duplicated by ZBX-17438 problem.get returns problems that has... Closed

 Description   

 

Steps to reproduce:

  1. Get a trigger in Problem state. See it listed in Monitoring -> Problems and dashboard widgets. 
  2. Disable the trigger or item for it in host or template. See the trigger is not listed in the Problems page thus it is invisible for the frontend.

Result:

Using the Debug mode see that the problem event generated by the disabled trigger is still listed in the array returned by problem.get API. 

Set the trigger back to enabled and see it returns to Problem page (expected). 

Expected:
Problems are not returned by API for triggers that are not actually displayed by web interface. 

 

While this is not such a big deal on "normal" daily use, there can be edge cases where this makes the web interface almost unusable. One such happened during a performance test with many triggers having multiple event generation mode on. It is understandable that displaying all those problems generate load but it exhausts all the PHP memory limit even after the items were disabled.

The problem events are removed only after the items / triggers are deleted (or unlinked from hosts).



 Comments   
Comment by Edgars Melveris [ 2018 Oct 22 ]

Moved this to feature requests.

Comment by Ingus Vilnis [ 2018 Oct 22 ]

So you think this is a cool feature instead of a performance bug?

Comment by Edgars Melveris [ 2018 Oct 22 ]

Well... I think it works "as designed". If we think, that the design can be better, that's a feature request... in my opinion.

Comment by Ingus Vilnis [ 2018 Oct 22 ]

Then is it a good design to return in the background lots of data which is not even displayed by the web interface in any way?

Comment by Edgars Melveris [ 2018 Oct 22 ]

Not to get into discussion about good or bad design, but as most designs - it can be improved.

I'm not sure I'm right, maybe there where reasons I'm not aware of, why it was created as is. So I see it as a design that works, but can/should be improved.

A bug in my opinion is something that doesn't work as designed.

Comment by Ingus Vilnis [ 2018 Oct 23 ]

From such perspective we can treat any bug reports as feature requests because regardless of the problem Zabbix as such is working, isn't it? 

I can clearly imagine that no one ever thought about this particular problem for a second before it was designed and implemented. 

On one hand Zabbix is putting serious efforts to improve the performance on large scale. Take ZBXNEXT-4108 as example. Off the topic but even ZBXNEXT-4820 requesting for better sounds gets turned down because of the increase in the file size. Then how is this my request considered as a feature when useless data is returned by a page request causing considerable load on all components of Zabbix?

Were you actually able to reproduce it?

Comment by Edgars Melveris [ 2018 Oct 23 ]

Hello Ingus, thanks for the valuable opinion, you might be right. But I'm not the person to make the decision, but I will forward this ticket, so that appropriate decision can be made. Maybe it will be moved back to ZBX.

Yes, I was able to reproduce the error, it's easy on a host with one trigger.

Comment by Ingus Vilnis [ 2018 Oct 23 ]

Thank you very much!

With one trigger it is not a big problem, I agree there, but when there are thousands of triggers in mixed order on multiple hosts then the slowdown is significant. 

Comment by Edgars Melveris [ 2018 Oct 23 ]

Thanks to aleksejs.petrovs, who pointed out that api output should match that what you see in frontend, so moving this back to bugs and marking as confirmed.

Sorry for the confusion.

Comment by Valdis Murzins [ 2019 Mar 28 ]

While I can understand the confusion, that problem.get is returning more problems, than displayed, in Problem list it was done on purpose.
Currently the steps are:

  1. select number of problems, with any matching filters applied.
  2. get triggerids, that matches them.
  3. select triggers, with any matching filters applied (including 'monitored' => true)
  4. remove from list the problems without related triggers
  5. repeat from step 1, if not enough problems are selected
    (Note: data for any trigger is requested only once)

What is requested by this task, is to add "monitored" filter for event.get and problem.get.
'monitored' filter implies adding NOT EXISTS check, which will look for data in tables functions, items, hosts and triggers, to the SQL.
This is quiet heavy check. In current implementation it is done only for triggers request, and is checked only once for any trigger. Adding it in problem.get and event.get, will require to do this check for every problem or event, which is way more times, than it is currently done.

With this, I have strong grounds to doubt that this change will be beneficial to the performance of Problem list page.

Also I will insist, that this is Feature request and not a bug, because

  1. currently the pages are displaying correct data
  2. problem.get and event.get was made without 'monitored' on purpose as very heavy operations. (same as history.get)
    And implementing such option should be considered as feature request.

I am not closing the task, as proper performance comparison still can be done.

vmurzins EDIT: It can be considered as feature request to add API parameter, that will be used only by users. (Zabbix frontend has no need for such parameter).

Comment by richlv [ 2019 Apr 18 ]

Looks like moving to bugs was not successful, still a ZBXNEXT.

Comment by Egor [ 2024 Feb 20 ]

Hello colleagues. This is NOT just "Preaty to have" feature. This is real fail of design.

One of Zabbix development direction - service based monitoring. Am I correct? A lot of changes was made for this and we are using this structure for more than 300 service trees. 

Problem described here is one of the most critical issue:

You have service tree with more than 50 services, 300 hosts and 5000 triggers.

You need add one more host - you can't predict that triggers will not generate problems.

Problem generated by template trigger -> Service status changed.

You have no way to change service status back!

You can't change template because a lot of hosts use this template. You can not delete trigger or item because problem will not disapper. You can not delete host - problem will not desappear also plus this will be impossible to resolve this problem at all. Only via database request. 

Only one option - allow manual close from  template -> manual close -> fast disable trigger before item will data. Is this really "Target design"?

 

This problem exist in 7.0.0 unfortunatelly.

 

 

Comment by Egor [ 2024 Feb 20 ]

If you are using "service oriented" monitoring and accidentally deleted host (operator mistake for example) - nightmare for big and 24/7 environments.

only delete FROM events where eventid = '';

Same request here

https://support.zabbix.com/browse/ZBX-21994?jql=reporter%20%3D%20%22Egor%20T.%22

 





[ZBXNEXT-562] Get PNG graph image via API Created: 2010 Nov 18  Updated: 2023 Feb 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: azurIt Assignee: Unassigned
Resolution: Unresolved Votes: 131
Labels: api, export, graphs, png
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sub-task
depends on ZBXNEXT-4588 New Graph Widget Closed
depends on ZBXNEXT-5241 Possibility to show graphs and other ... Open
part of ZBXNEXT-5611 Ability to get an image of last value... Open

 Description   

Can you please add API function which will return graph as an PNG image ? We would like to integrate graphs to our application but we don't want to draw them from graph items (Zabbix is doing this very fine so i don't see a point in it). Thx.



 Comments   
Comment by azurIt [ 2012 Oct 11 ]

What 'Zabbix ID: NMR' means?

Comment by Mattias Geniar [ 2012 Dec 30 ]

NMR = Needs More Research

Since the current work-around to get the graphs involves faking a POST form submit to the frontpage and re-using that sessionID to get the graph itself is pretty annoying, a simple PNG return of the image would be much welcomed as an API request.

Comment by Oleksii Zagorskyi [ 2012 Dec 31 ]

NMR = Needs More Research
NMR = Need Major Release

Comment by Karim GUEDIDER [ 2013 Apr 09 ]

Hi
will it be included in the 2.2 ?
thanks

Comment by Thierry Sallé [ 2013 Oct 04 ]

Yo can directly convert images url to png format using the Perl Zabbix::API.
See https://metacpan.org/module/Zabbix::API::Graph for example.

Comment by azurIt [ 2013 Oct 04 ]

Thierry Sallé: I don't see a point in implementing the whole graph drawing as Zabbix is able to do it very fine.

Comment by Eric VdB [ 2014 Jan 14 ]

Well, there is a point here. It would be super handy if we can retrieve graph images from the api for automated reporting features

Comment by Linus Brimstedt [ 2014 Sep 24 ]

The point of implementing in this in the API rather than accessing the php-pages is that the API is a stable and documented interface. The chart2.php is an internal implementation that should not be used by external resources.

Comment by Darrin Chambers [ 2017 Sep 22 ]

Hi all, since the last comment in 2014, has this been resolved? I/we would greatly appreciate it.

Comment by Stoyan Stoyanov [ 2018 May 02 ]

Yes, is there any update on the request?

Comment by Dawid Mos [ 2018 May 02 ]

Maybe in delayed 4.0?

Comment by Stoyan Stoyanov [ 2018 May 02 ]

It will be nice if there is an official statement.

Comment by Alexander Nesterov [ 2019 Feb 04 ]

my solution:

...

use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request;
use MIME::Lite;
use MIME::Base64;

...

sub zabbix_get_graph
{
    my ($graphid, $period) = @_;

    my $ua = create_ua();

    my $url = "$ZABBIX_SERVER/chart2.php?graphid=$graphid&period=$period&isNow=1&width=" . IMAGE_WIDTH;

    my $req = HTTP::Request->new('POST' => $url);
    $req->content_type('image/png');
    $req->header('Cookie' => "tab=0; zbx_sessionid=$ZABBIX_AUTH_ID");

    my $res = $ua->request($req);
    my $tmp = substr($res->content, 1, 4);

    #The first eight bytes of a PNG file always contain the following values:
    #(decimal)              137  80  78  71  13  10  26  10
    #(hexadecimal)           89  50  4e  47  0d  0a  1a  0a
    #(ASCII C notation)    \211   P   N   G  \r  \n \032 \n
    #https://www.w3.org/TR/PNG-Rationale.html#R.PNG-file-signature
    if ($tmp =~ m/PNG/)
    {
        return $res->content;
    }
    return;
}

...

sub send_email
{
    my ($email_body, $subject, $smtp, $email_from, $email_to) = @_;
 
    my $msg = MIME::Lite->new(
                                From    => $email_from,
                                To      => $email_to,
                                Subject => $subject,
                                Type    => 'multipart/related'
                           );
    $msg->attach(Type => 'text/html', Data => $email_body);
    $msg->attach(Type => 'image/png', Filename => 'graph.png', Id => 'graph.png', Data => $DATA_GRAPH) if defined($DATA_GRAPH);
    $msg->attach(Type => 'image/png', Filename => 'logo.png', Id => 'logo.png', Data => decode_base64($LOGO));
    $msg->replace('X-Mailer' => 'Zabbix');
    $msg->add('X-Priority' => $PRIORITY{'Highest'});
    $msg->send('smtp', $smtp, Debug => $DEBUG);
}
Comment by Dimitri Bellini [ 2019 Feb 04 ]

@Alexander: Your solution is based on the old graphs or for the new vector graphs?
Thanks

Comment by Alexander Nesterov [ 2019 Feb 04 ]

for the old (classic) graphs

Comment by Dimitri Bellini [ 2019 Feb 04 ]

@Alexander: Ok Thanks

@ZabbixTeam: I will suggest to bring this improvement (RestAPI for Graphs) as soon as possible with the new Vector Graphs thanks

Comment by Alexander Nesterov [ 2019 Feb 04 ]

@Dimitri: You can also use http request, I think so

Comment by Dimitri Bellini [ 2019 Feb 05 ]

@Alexander: Yes! We have create a simple reporting tool for Zabbix and at the monent is based with the old graphs style...

Comment by Mark Oudsen [ 2021 Mar 03 ]

As this request is running for a very long time, I've decided to code and release a beta version of a Media type that is capable of presenting a graph embedded in an e-mail message while adding TWIG template facilities to allow for some nice customization of the outgoing message (including IF statements for example) and adding some smart way finding the direct or indirectly associated graphs to a trigger (from API perspective).

Note that Chart2 only has the capability to present 'Normal' graphs - I'm also working to support the other types as well (scattered across the other chartX.php).

Have a look at: https://github.com/moudsen/mailGraph

Once the API extension is there, my code will be fully API based (currently logging in to Zabbix to use chartX.php with CURL).

Official request to Zabbix developers to add my Media type to their repository: ZBXNEXT-6534 (declined politely but I guess that when more people want to see this feature instanciated after 6 years that will change ... ).

Comment by Kolunchik [ 2021 Aug 19 ]

any news?

Comment by Mark Oudsen [ 2021 Aug 19 ]

I have developed code to pick up graphs from Zabbix. Recently split the "get image" from my mail code and can make this available beginning of next month.
Not integrated to Zabbix API but has proven to work very well already ...
https://github.com/moudsen/mailGraph
If you are interested let me knowon GitHub (please raise an issue for it).

Comment by Peter Danko [ 2022 Aug 05 ]

Hi,
is there any update in the lates version 6.2 that it makes easier to use?

Or when it will be natively added?
Thanks.

Comment by Evgeny Semerikov [ 2023 Feb 20 ]

This is nice feature, but why this is not implamented yet? 

image.get method have a nice solution for this which returning "image" attribute with base64 encoded image.  





[ZBXNEXT-686] Create infrastructure for continuous integration and unit testing Created: 2010 Dec 08  Updated: 2020 Oct 21

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexei Vladishev Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It should probably be a combination of PHPUnit, Hudson and misc code analysers. Let's see what we get at the end.



 Comments   
Comment by richlv [ 2011 Feb 28 ]

created by now

Comment by richlv [ 2011 Mar 02 ]

reopen for moving

Comment by Andrejs Čirkovs (Inactive) [ 2014 Jul 04 ]

(1) We should get rid of testhelpers instead using ZbxExitException instead of exit() / die()

Comment by Andrejs Čirkovs (Inactive) [ 2014 Jul 04 ]

I've implemented basic fixture-based tests in development branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-686

Comment by Andrejs Čirkovs (Inactive) [ 2014 Jul 25 ]

Basic file-based tests and parameter handling implemented in r47620 according to spec.

Comment by Andrejs Čirkovs (Inactive) [ 2014 Jul 29 ]

File-based tests with complicated scenarios and Respect/Validation validation implemented in r47644.

Comment by Pavels Jelisejevs (Inactive) [ 2014 Jul 30 ]

(2) We need to be able to validate arrays using the same validators as separate values. Something like the code below, but simpler:

response:
  __assert: count(3)
  __keys:
    __assert: sequentialKeys
    __each:
      __assert: int
  __each:
    id:
      __assert: notEmpty:int
    hostname:
      __assert: notEmpty|string|length(5,10)
    templates:
      __assert: array|length(3)
      __each:
        __assert: string|length(0,12)

A similar example with equals support:

response:
  __assert: count(3)
  __keys:
    __assert: sequentialKeys
    __each:
      __assert: int
  __each:
    id:
      __equals: 1
    hostname:
      __equals: Zabbix server
    templates:
      __equals: [100, 101, 102]

andrewtch RESOLVED in r47667. Also, a new validator has been added, 'sequence' (implementing sequentialKeys as above).
Also, I've implemented nice exceptions with paths like "Validation definition is not an array on path "_assert->_keys->_each[0]".
I've also added support of short syntax turning:

hostids:
    _each:
        _assert: int

into:

hostids:
    _each: int

in r47671.

jelisejev CLOSED.

Comment by Andrejs Čirkovs (Inactive) [ 2014 Aug 01 ]

(3) We should NOT use direct header() call, using wrapper instead.

RESOLVED in r47747.

jelisejev CLOSED.

Comment by Andrejs Čirkovs (Inactive) [ 2014 Aug 01 ]

(4) We should avoid all

__DIR__ . '/../../../../../.......'

constructs and make some path resolver (probably, these values should be set inside phpunit config file).

jelisejev WON'T FIX.

Comment by Andrejs Čirkovs (Inactive) [ 2014 Aug 04 ]

(5) We should use symfony/console table helper while displaying table rows in sql assertion instead of json_encode.

jelisejev CLOSED.

Comment by Pavels Jelisejevs (Inactive) [ 2014 Oct 29 ]

A lot of changes to the API tests have been made, so the comments above can be ignored.

In short, branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-686 implements a framework for writing API tests.

Some changes have been made to frontend API client. It now fully implements the JSON RPC protocol. Please test that nothing has been broken in the frontend and the API endpoint.

RESOLVED.





[ZBXNEXT-8211] New item value type Binary Created: 2022 Dec 21  Updated: 2024 Mar 28

Status: Doc. sign-off
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 6.4 (plan)
Fix Version/s: 7.0.0alpha1, 7.0 (plan)

Type: New Feature Request Priority: Major
Reporter: Alex Kalimulin Assignee: Janis Freibergs
Resolution: Unresolved Votes: 0
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 7F.png     JPEG File CX.jpg     PNG File Screenshot 2023-02-20 at 18.41.54.png     PNG File Screenshot 2023-04-20 at 14.18.08.png     PNG File def1.png     PNG File def2.png     PNG File example1.png     PNG File image-2023-02-09-18-08-24-494.png     PNG File image-2023-03-22-18-07-54-272.png     Text File remove_ITEM_VALUE_TYPE_MAX_patch.txt     PNG File screenshot-1.png     PNG File screenshot-2.png     PNG File screenshot-3.png     Text File zabbix_wcache_values_bin.patch.txt    
Issue Links:
Causes
causes ZBX-23154 Execution of housekeeper on Timescale... Closed
Sub-task
Sub-Tasks:
Key
Summary
Type
Status
Assignee
ZBXNEXT-8212 Frontend changes for binary item type Specification change (Sub-task) Closed Alexander Vladishev  
Epic Link: Zabbix 7.0
Team: Team C
Sprint: Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023)
Story Points: 10

 Description   

We need to introduce a new value type (aka Type of information) Binary. It must be stored as a blob in a new table history_binary. The first (and the only, for now) use for this type is to store screenshots from browser tests.

It's understood that introducing a new value type is a lot of work in all components so we need to reduce the scope of the changes to as narrow as possible. We also need to keep the number of design decisions to the minimum. For instance, rather than figuring out how triggers should work with the Binary type, we can state that triggers do not support this type and thus can be kept off value cache.

Other functionality we can now sacrifice in the name of narrow scope is preprocessing and support for item types other than Dependent (thus, no need to support it in agents, SNMP, sender, etc). In the UI/API we must also figure how to get away with as few changes as possible (e.g. Items form apparently needs to be changed, but no need to invent how to get and display history in Latest data, just string "binary" is enough).

Please research this change request and:

  • Evaluate the impact and list all components/areas that need to be changed
  • Estimate development efforts
  • List limitations that are worth introducing to limit the scope


 Comments   
Comment by Artjoms Rimdjonoks [ 2023 May 10 ]

Available in versions:

Comment by Martins Valkovskis [ 2023 May 19 ]

Updated documentation:

Comment by Glebs Ivanovskis [ 2023 Nov 03 ]

I would like to draw attention to loadable module binary compatibility issue introduced with this feature.

The problem is very similar to ZBX-10428. A new field char *bin was introduced in AGENT_RESULT structure. As a result an offset of int type field has changed and it made SET_*_RESULT()/ZBX_ISSET_*() macros in different versions of Zabbix incompatible with each other. At the same time ZBX_MODULE_API_VERSION remained unchanged.

Fortunately, unlike ZBX-10428, the issue was caught before the major release and you still have an opportunity to restore compatibility or bump API version before the release.

Of course, module authors would appreciate restoring compatibility. For AGENT_RESULT it can be easily achieved by moving new char *bin field to the end of struct, hence the offset of int type will not be affected. Also ZBX_HISTORY_WRITE_CBS needs to be restored to its original shape. If needed, new history_bin_cb field can be introduced in a whole new ZBX_HISTORY_WRITE_CBS_v2 returned by whole new zbx_module_history_write_cbs_v2().

Comment by Andris Mednis [ 2023 Nov 06 ]

Thanks, cyclone, for reporting this!

Comment by Alex Kalimulin [ 2023 Nov 07 ]

The module problem will be solved in ZBX-23672.





[ZBXNEXT-5419] Add posibility to export & import own dashboards from dashboard.list Created: 2019 Sep 11  Updated: 2024 Mar 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Denis Golius aka Terry Filch Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 79
Labels: Zabbix7.2, dashboard, frontend, graphs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File photo_2019-09-11_10-55-35.jpg    
Issue Links:
Causes
Duplicate
is duplicated by ZBXNEXT-6732 Dashboard export Import Closed

 Description   

Add posibility to export & import own dashboards from Monitoring/Dashboard/Dashboards.
It's useful when user/admin want to migrate/install new/test pre-release version of Zabbix.

They can only be ported by creating new ones in a different web interface, which is very time consuming, so it is worth thinking about exporting or importing.



 Comments   
Comment by Victor Hugo Assunção [ 2020 Apr 28 ]

Great feature to 5.0 maybe?

Comment by Sotirios Roussis [ 2022 Sep 30 ]

Awesome to have yet very important for different zabbix deployments.

Comment by Cesar Inacio Martins [ 2023 Aug 24 ]

Really useful resource, mainly to quickly duplicate and make mass changes like hostnames , items ... 

 

Comment by Jeffrey Descan [ 2023 Aug 25 ]

We have tons of dashboards and Zabbix instances. This feature would be ideal to import them in various instances at once and maintain them in an automated way.

Comment by Robert Markula [ 2023 Aug 25 ]

Agreed - We install new Zabbix instances quite often. Dashboards are one of the main entry points for Zabbix users and one of the things users interact with most.

It would be very neat to have our set of carefully crafted Dashboads available for import on other instances - including being able to use things like versioning for our dashboards.

Maybe in the future that paves the way for something like dashboard sharing (analog to template sharing)?

Comment by Omer Khan [ 2023 Dec 23 ]

Is there any recent information available regarding the potential inclusion of this feature in Zabbix's next release?

Comment by dimir [ 2024 Jan 22 ]

We are aware of this issue and we'd like to implement it as soon as possible but currently the closest that might get this in is 7.2 . Please stay tuned.

Until then, one alternative to handle dashboards is (very high-level overview) creating an export script that would perform the following via Zabbix API:

  • get dashboard
  • get all IDs
  • map them to names

and an import script that would:

  • get all IDs (by using names)
  • create dashboard

Working with dashboards via Zabbix API:

 





[ZBXNEXT-8939] prohibit to use previous X passwords in zabbix auth Created: 2024 Jan 11  Updated: 2024 Jan 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 6.0.24, 6.4.10
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Oleksii Zagorskyi Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

In ZBXNEXT-4029, for version 6.0, passwords in zabbix have been made more secure.

Just to keep in mind - there were some related changes in following major release:
https://www.zabbix.com/documentation/6.2/en/manual/introduction/whatsnew620#secure-password-hashing
https://www.zabbix.com/documentation/current/en/manual/introduction/whatsnew640#secure-password-change

But there is still one option missing - limit users to use X previous passwords.
Such approach exists currently in many auth engines, so it's requested here to be added in zabbix too.






[ZBXNEXT-7407] Allow a simple user to create new Host Groups Created: 2022 Jan 07  Updated: 2022 Jan 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 5.4.9, 6.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aigars Kadikis Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

Host groups can be made only through 'Zabbix Super Admin' user type, not 'Zabbix Admin', not 'Zabbix User'

Kindly allow user type 'Zabbix User' to create host group.



 Comments   
Comment by Alexander Vladishev [ 2022 Jan 28 ]

It doesn't make sense, because only a "Zabbix Super Admin" can assign rights to host groups. New host groups created by "Zabbix user" or "Zabbix admin" will not be available to them. 





[ZBXNEXT-7716] Event enrichment, possible to add custom tags Created: 2022 May 13  Updated: 2022 Jul 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 6.0.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aigars Kadikis Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 3
Labels: correlation, tags
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

Kindly create an API method to allow to attach new/custom event tags.






[ZBXNEXT-6956] Please provide an alternative to API method application.get Created: 2021 Sep 28  Updated: 2022 Oct 08

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 5.4.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Edgars Melveris Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate

 Description   

Since applications have been deprecated in favor of tags, API method application.get has also been removed. Currently the only way to get item tags is to query for items, which can be slow sometimes.
It would be great if a new API method would be introduced with similar functionality as application.get



 Comments   
Comment by Kirill Varnakov [ 2022 Apr 27 ]

Can the host.get method be improved when used with the selectItems parameter? If it included all tags for every element, that would be great.

Comment by Joachim Vertommen [ 2022 Apr 27 ]

This is also a huge problem for the zabbix-grafana plugin.
When you query a lot of hosts and filter on a specific tag, the plugin will still retrieve all the items for all the hosts because there's no API call to retrieve only the items that match a specific tag.
The plugin then does the filtering on the tag on Grafana side after having retrieved all items first.

This is very inefficient when you have lots of items per host.
Loading a dashboard can easily mean more than 100Mb of data that needs to be downloaded from Zabbix.

See: https://github.com/alexanderzobnin/grafana-zabbix/issues/1315

 





[ZBXNEXT-6759] Expand item.get functionality to include trigger expressions when using "selectTriggers" Created: 2021 Jul 01  Updated: 2021 Jul 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 5.0.13, 5.4.2
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Edgars Melveris Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

It would be very convenient to load more data with the item.get method instead of having to do another call with trigger.get just the trigger expression.






[ZBXNEXT-4551] Improve API of Zabbix with Node.JS Created: 2018 May 14  Updated: 2018 May 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.4.9
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: RENAN DA ROSA BASTOS Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: api, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

API



 Description   

Helo guys,

 

I want propose we development a new API with nodejs separated from zabbix server. For we granted more perfomance.

I am willing to the help this development.

 

see ya






[ZBXNEXT-4533] API Call for retrieving map image Created: 2018 May 02  Updated: 2018 May 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.16
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Jacob Mansfield Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: api
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There is currently no API endpoint that allows retrieving a map image, similar to the /map.php URL on the frontend.






[ZBXNEXT-4290] trigger.get auto-expanding functions but not macros Created: 2017 Dec 20  Updated: 2023 Nov 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.4.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Herbert Buurman Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 3
Labels: api, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-8512 Ability to get trigger parameters wit... Closed

 Description   

Currently there is an argument `expandExpression` which expands both functions and macros, but I would like the functions to be expanded by default and not the macros.
The reason I prefer this is to have the trigger.get API call return the same contents for the expression as the website does when viewing a trigger. Functions are hidden when using the webinterface, and as such, the webinterface shows the expression with the functions expanded, but with the macros as they are.

To summarize: I would move to to always expand functions in the (trigger.get) API, and use `expandExpression` to only (additionally) expand macros.






[ZBXNEXT-5087] Tag based permissions: Show all triggers but only give Read-Write permissions to some of them Created: 2019 Mar 04  Updated: 2019 Mar 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 4.0.5
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Felix Meier Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 4
Labels: permissions, tags
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In our case, all our administrators must respond to all triggers. However, not all people are allowed to edit all hosts in all hostgroups. So in the actual configuration, we have some hosts where the users are not allowed to use "severity change" or "close problem". But there are some triggers where this is necessary or desired.

With tag-based permissions, only the triggers that correspond to the filter are displayed when the tag filter is activated, even if in another assigned group for the corresponding host group has complete read permissions without tag filter are assigned.

Current behavior:
Group 1: Read permissions on Hostgroup "Servers"
Group 2: Read-Write permissions on hostgroup "Servers", tag filter on "tag1".
User is member of both groups.
Result: Users only see the triggers with tag "tag1" and have all rights on them.

Desired behavior:
Group 1: Read permissions on Hostgroup "Servers".
Group 2: Read-Write permissions on hostgroup "Servers", tag filter on "tag1".
User is member of both groups.
Result: Users see all triggers of the host and can ack them and have Close/Severity-Change rights on the triggers with tag "tag1".

 

 






[ZBXNEXT-4852] api trigger.get expand macro URL Created: 2018 Nov 08  Updated: 2018 Nov 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.0.1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Jorge Fernando Matsudo Iwano Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 4
Labels: api, expand, macro, tigger.get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 7, zabbix repo install.


Attachments: JPEG File 68fce506-a010-4d36-ab12-f5082840b79a.jpg     PNG File JSONLint - The JSON Validator - Google Chrome.png    

 Description   

Using API, method trigger.get do not expand native macros used in URL field. Only works in frontend but not using API.

Curiosly i find a partitial solution, changing the file "/usr/share/zabbix/include/classes/api/services/CTrigger.php" at line 465, adding follow lines.

------------------------------
if (!is_null($options['expandComment']) && $result && array_key_exists('url', reset($result))) {
$result = CMacrosResolverHelper::resolveTriggerUrls($result);
}
------------------------------

I used the existent option of "expandComment" to call "resolveTriggerUrls" to resolve my problem partialy.

I request in next release add this fix.

Thanks






[ZBXNEXT-4142] API User group, not found field "Include subgroups" Created: 2017 Oct 03  Updated: 2021 Dec 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.4.2
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Pavel Kuznetsov Assignee: Unassigned
Resolution: Unresolved Votes: 10
Labels: api
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

Current Zabbix API object User group hasn't field
Include subgroups, this checked box available only in web interface.



 Comments   
Comment by Dimitri Bellini [ 2019 Feb 26 ]

Today i have discovered the same issue, some DevTeam could provide some information about this question?
Thanks very much

Comment by Miotk Szymon [ 2019 May 24 ]

Please align API with Web UI capabilities.

Comment by Dimitri Bellini [ 2020 Jul 20 ]

Hi DevTeam,

We still suffer of the lack of this option also for Zabbix 5.0, have you some idea on when this feature will alligned with API.

Thanks so much

Comment by Miroslav [ 2021 Jun 09 ]

Hi DevTeam,

Has anyone investigated and have time plan to implement this functionality.

Thank you.

 

Comment by Werner Dijkerman [ 2021 Dec 24 ]

Hi,

One of the maintainers here from the https://github.com/ansible-collections/community.zabbix Ansible collection. When can we expect such an option? It is very critical for us to have this feature to be implemented as we are limited and thus an Ansible user should do complicated workarounds to get this done. Do understand where we live in 2021 (2022 soon) where Infrastructure as Code is very common and we don't manually do things in UI anymore.

Thanks!





[ZBXNEXT-3707] Api event.get() expand description of trigger Created: 2017 Feb 16  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.2.1, 3.2.2, 3.2.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Nuno Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 7 running zabbix web (api) and zabbix server.


Attachments: File CEvent.php.patch    

 Description   

When the event.get() method is called in the API the trigger description is not expanded so the host variables are not replaced.

This issue is affecting the integration with other systems.

I made a small change in the file CEvent.php to fix this the patch is in attach.



 Comments   
Comment by richlv [ 2017 Feb 16 ]

looks very desirable, but a more uniform approach would be to support expand* in selectRelatedObject





[ZBXNEXT-2939] New Item-Type Local checks Created: 2015 Sep 03  Updated: 2016 Jan 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 2.4.6
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Kay Schroeder Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: proxy
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,

I'm working in a distributed environment where I have one server and several proxies. Unfortunately the proxies are'nt allowed to access the server due to security-reasons.

But when I have an external script that requires the API, because it needs to get several existing items and do a check based on these items the script will fails as it will not connect to the server.

Will it be possible to get like it is possible with global scripts to run an external check locally on the server and not on the proxy-device?

It don't needs a new Item-type, a decision where it runs (local/remote) would also be fine.

Kind Regards,
Kay



 Comments   
Comment by richlv [ 2015 Sep 03 ]

this sounds like monitoring some items on proxies, and some on the server.

are those items needed on all proxied hosts ? if only on few, maybe a separate host can be created only for that purpose ?

Comment by Marc [ 2015 Sep 03 ]

Reminds me distantly of ZBXNEXT-1285.

Comment by Kay Schroeder [ 2015 Sep 04 ]

@richlv
A separated host is a Workaround that provides me successfull checks, but I cannot use Triggers/Graphs that work with items from one host and another within templates. I have to manually created everything or build a Framework behind zabbix with the API. As we are talking about 30 of our 90 Hosts and our important and fast increasing type of devices this will become a huge mess for us.

@Marc
Yes saw this, but did not completely think this will solve our issue. Also found ZBXNEXT-1411 but in our Environment we ware working with 100% of templated items and so I cannot differ between two SNMP-Interfaces. If ZBXNEXT-1411 is resolved I could add an Agent-Interface facing the Server to each device and run These scripts as remote-commands. Unfortunately without the Option to disable the Proxy for a specific Interface or item I did not find any Approach to solve my issue.

Comment by richlv [ 2015 Sep 04 ]

well, the only option that i can think of (and hold on, it's very hackish still) is to have templated trapper or active agent items, then run the script on the server and send in the values faking the proxy protocol. yes, i have done that for customers when there was no other, simpler option

Comment by Kay Schroeder [ 2016 Jan 08 ]

Hi Rich,
yes I'm doing it in this way. I have written a script that collects all Trapper items from database and use this in a lld-discovery on the Server. I'm adding a [<interval>] to the key of the element. Then I create an external check with a small script, that reads and explodes the command line from the original item->key_ and then executing this script and sends the data to the Proxy. It's working fine by now, but still would be nice to have the Feature implemented in the future.





[ZBXNEXT-8744] Split frontend access and authentication method in user group Created: 2023 Oct 09  Updated: 2023 Oct 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Installation (I)
Affects Version/s: 7.0.0alpha7, 7.0 (plan)
Fix Version/s: 7.0 (plan)

Type: New Feature Request Priority: Minor
Reporter: Elina Pulke Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2023-10-09-14-53-10-979.png     PNG File image-2023-10-09-14-59-28-912.png    

 Description   

Currently both authentication type and access to frontend are combined in one field - in user groups "Frontend access".

There might be situations when user has no access to frontend, but it can still use API, which requires authentication. Thus such kind of setting might be misleading.
Propose to split these two settings, by creating checkbox with "Frontend enabled" and leave dropdown field named "Authentication type" with options System default/Internal/LDAP.






[ZBXNEXT-3437] allow filtering triggers for "have fired until..." Created: 2016 Sep 14  Updated: 2016 Sep 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.2.0
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: trigger.get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

the desire is to obtain IDs of triggers that have fired in a given timeframe.

trigger.get method has two parameters to limit by the time when triggers have fired :

  • lastChangeSince
  • lastChangeTill

unfortunately, the lastChangeTill does exactly what the name implies - limits triggers to ones that had their last change until the specified time.

let's say it's 2016-09-14 now, and we would like to get all triggers that fired in february this year.
we can set lastChangeSince to 00:00:00 feb 1st.
unfortunately, setting lastChangeTill to 00:00:00 mar 1st will exclude all triggers that fired in march and later.

it might be useful to have a parameter like hasChangeTill, that would return "anything that fired until that time, no matter whether it fired afterwards or not".

if there is a way to get such data, sorry for missing that in the manual and i'd appreciate any pointers






[ZBXNEXT-3242] simplify escalation configuration Created: 2016 Apr 15  Updated: 2016 Dec 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 3.0.1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: escalations
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

i thought i had this reported already, but can't find anything. hopefully i'm not creating a duplicate here

the current escalation configuration is... complicated. one has to match step duration with step numbers, take into account operation overrides. it is quite error prone. changing the default escalation interval messes everything up.

it is proposed to hide all the low-level detail from the users, instead exposing to them simple controls that would still offer the same level of flexibility.

the escalation interval would be changed to 60. this would be the lowest granularity of escalation steps - going lower is possible, but then alerter frequency should be taken into account (30 seconds by default).
users would get options to specify the time when an operation should happen. for each operation, they would be able to also set recurrence/repeating, setting interval and either the amount of messages, or the length of time, for how long such repeated messages should be sent. zabbix would calculate how the time and recurrence matches to the internal steps - user would not have to do that themselves.
this would probably allow to get rid of the ability to override interval on the operation level, it would serve no purpose anymore.

extra things to take into account :
a) migrating existing actions, especially the ones that use per-operation overriding;
b) with the interval of 60 seconds, check for how long an escalation could run (step value overflow) on all supported databases. or maybe get rid of steps/their ids, just check escalations and see what and when should be performed ?

there are likely other potential problems. it is suggested to take great care not to have functional regressions.



 Comments   
Comment by richlv [ 2016 Apr 15 ]

this would likely solve ZBXNEXT-156

Comment by richlv [ 2016 Apr 15 ]

this would also take care of the challenge for new users to understand that "step 1 happens at 0 minutes and step 2 happens after the interval time"

Comment by richlv [ 2016 May 05 ]

...and if somebody could fix "confirguration", that would be appreciated

Comment by Aleksandrs Saveljevs [ 2016 May 09 ]

"confirguration" fixed.

Comment by Glebs Ivanovskis (Inactive) [ 2016 Dec 06 ]

Concept of "steps" in the context of escalations is a bit odd, in my opinion. Mostly because these steps are not uniform in duration. But if we declare step to be of fixed duration, then we can go further and declare step duration to be equal to 1 second, and then "step" makes no sense at all.

To put it simply, each operation should have Start time, Interval of execution, End time/Number of executions and all operations must be independent. There will be no upgrade patch that would make 1 to 1 conversion in general case, because currently operation interval can be variable, but I think it makes sense to simply choose the minimal interval in such case.

Comment by richlv [ 2016 Dec 08 ]

glebs.ivanovskis, indeed - making the "step" last 1 second internally would allow to build all kind of abstractions on top of the escalation model (i started on something using the api, and there seems to be a possibility to make all this user friendly).

but i didn't really get what did you mean by "There will be no upgrade patch that would make 1 to 1 conversion in general case, because currently operation interval can be variable" - what makes upgrade/conversion impossible ?

Comment by Glebs Ivanovskis (Inactive) [ 2016 Dec 08 ]

In my suggested method every operation in action will be executed with a constant interval. Currently intervals between operation execution may differ because of operation interference even though there is just a single Duration setting per operation.

Example:

  • Operation A is assigned to Steps 1-0 with custom Duration of 120 seconds
  • Operation B is assigned to Steps 5-10 with custom Duration of 60 seconds

When escalation starts operation A will be executed first with 2 minute intervals, then with 1 minute interval, then again with 2 minute interval.

Comment by richlv [ 2016 Dec 08 ]

glebs.ivanovskis - ah yeah, that seems to match.

as for converting the old operations, that is probably doable... but it would result in operations multiplying in some cases. a but tricky decision indeed.





[ZBXNEXT-3217] "dry run" for xml import Created: 2016 Mar 26  Updated: 2019 Oct 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 3.0.1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: import
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when importing, it is not always obvious what will be done, and it could be useful to know - especially when deleting the objects, not found in the xml.

a "dry run" option could return a list of whatever would be done, but not perform the changes actually.






[ZBXNEXT-2897] Show triggers dependent of active trigger in message Created: 2015 Aug 02  Updated: 2015 Sep 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Vitaly Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: newmacro, triggerdependencies, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

So if we created depends on trigger and this trigger is active in message we cant see all other messages, just from active.
Is will be very helpful on big networks where many hosts is depended of each other.
If we disable depends we just getting mess of message that come in. Is very very awful.
Thanks.

SFMBA.

To Russian developers:
????? ?? ???????? ?? ??????? ??????????? ?? ?????? ? ???? ???????????, ?? ?? ????? ?????? ????????? ?? ???? ???????? ? ?????????, ? ?????? ?? ????, ??? ????????.
??? ?? ????? ??????, ???? ?? ?????? ??????????? ??? ?? ???? ???????.
? ???? ?? ???????? ??????????? ???????? ???????? ? ?????????? ? ????? ??????????? ? ???? ???? ?????????? ?????? ??????????.
???? ?? ?????? ???? ? ????????? ?????? ?????????? ?????? ????????? ??????? ??????? ?? ?????????, ???????? ? ??????? ?????.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Sep 14 ]

It could be implemented by introducing new macro which could be used in actions.





[ZBXNEXT-2868] API method service.getsla does not retrieves retrieve for sub-services Created: 2015 Jun 28  Updated: 2015 Jul 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: viktorkho Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, services, sla
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File itservices.png    

 Description   

Test services presented in attached file. Their ids: Test - serviceid=1, Test2 - serviceid=2

Parameters, used in API request:

{
  'serviceids': serviceid,
  'intervals':[{'from':tPrev.strftime('%s'),'to':tNow.strftime('%s')}]
}

Result with serviceid=1:

{u'status': u'4', u'problems': [], u'sla': [{u'from': u'1435487809', u'problemTime': 30, u'to': u'1435487839', u'okTime': 0, u'downtimeTime': 0, u'sla': 0}]}

Result with serviceid=1:

{u'status': u'4', u'problems': {u'3038': {u'triggerid': u'3038'}}, u'sla': [{u'from': u'1435487898', u'problemTime': 30, u'to': u'1435487928', u'okTime': 0, u'downtimeTime': 0, u'sla': 0}]}

At first, documentation does not specify, that array 'problems' is only for services, linked to triggers directly.
Then, WUI shows triggers, caused problems via services tree.

So, current ticket (case) is marked as 'Bug related to API(A).
And I'm not sure about Priority.

Used doc: https://www.zabbix.com/documentation/2.2/manual/api/reference/service/getsla



 Comments   
Comment by viktorkho [ 2015 Jun 28 ]

If this is not a bug, but feature, please, move it to ZBXNEXT.





[ZBXNEXT-3161] new network discovery condition - target identifier Created: 2016 Feb 22  Updated: 2016 Feb 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 3.0.0
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: networkdiscovery
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when creating conditions for network discovery, we can limit by type (like zabbix agent or snmp) and by individual checks (like "that check in that discovery rule).
it would be great to also be able to limit by an identifier across all discovery rules - like "all checks that use agent key system.uname" or "all snmp checks that use oid sysDescr"






[ZBXNEXT-1758] Wrong error message when creating duplicate discovery rule. Created: 2013 May 24  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.1.0
Fix Version/s: 2.2.0

Type: Change Request Priority: Minor
Reporter: Toms (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: discoveryrule
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When creating duplicate discovery rule for host we get following error message:
'Item with key "dr" already exists on "0".'

We should get following message:
'Discovery rule "%1$s" already exists on "%2$s"'

or

'Discovery rule "%1$s" already exists on "%2$s", inherited from another template.'

accordingly

should be fixed after ZBXNEXT-1633



 Comments   
Comment by Oleksii Zagorskyi [ 2013 May 25 ]

Seems I recall we fixed in the past similar messages for deletion item/graph prototypes.





[ZBXNEXT-1515] Item object should have discovery_status property Created: 2012 Nov 14  Updated: 2016 Aug 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.0.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: ojab Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File discovery.png    

 Description   

I have LLD rule, which creates ifAlias item for each ifDescr with filter on {#SNMPVALUE} macro, items ifAlias.["7"] and ifAlias.["8"] was created this way (see the attached screenshot).
Corresponding card on equipment was removed, this items is no longer discovered and I can happily filter out ifAlias.["7"] by {'filter': {'status': '0'}}.

Unfortunately ifAlias.["8"] OID become used by other interface, so it's item has {'status': '0'}, nevertheless no longer discovered.
It should be item object should has property for discovery status in order to resolve such cases.



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Nov 15 ]

As I get it in short: we need a new ability - to get "lost status" in method item.get.

Probably we could get it from item_discovery.ts_delete column (timestamp when the lost resource will be deleted).
If it's NOT 0 - then item has to be deleted.

Just in case see ZBX-4475





[ZBXNEXT-1508] It should be simple way to fill Screen with Screenitems without unnecessary parameters using JSON API Created: 2012 Nov 11  Updated: 2012 Dec 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.0.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: ojab Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, screens
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Right now request like:

{
"jsonrpc": "2.0",
"params": {
"screenid": "1",
"screenitems": [

{ "resourceid": "6794" }

,

{ "resourceid": "6801" }

,
"name": "My screen"
},
"method": "screen.update",
"auth": "aa90f5246c6b47e43806ae698ddafa80",
"id": 7
}

will make a screen with only item "6794" on (0,0), but it should make screen with all mentioned resourceids in sequence.

In many cases all given items is needed on the screen, without any particular order/etc.



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Nov 12 ]

Partially related issue ZBX-5562.

But in the example above you should at least add REQUIRED fields like:
"resourcetype": "0",
"resourceid": "870",

What is the sense to create screenitems without specifying type&ID ?

I'd agree that it could be useful to have parameters:
"x": "0",
"y": "0",
as optional if creating new screenitems.
Then there should be simple logic to automatically calculate them.





[ZBXNEXT-1038] Version for API, API methods and API classes Created: 2011 Nov 22  Updated: 2013 Jan 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 1.9.7 (beta)
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Alexey Fukalov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-4906 API Version number Closed

 Description   

Specification: http://zabbix.org/wiki/Docs/specs/ZBXNEXT-1038



 Comments   
Comment by Fabrice Gabolde [ 2013 Jan 14 ]

I'd like to weigh in on this one. I'm commenting in the tracker rather than the wiki page because I'm trying to impart a sense of urgency rather than give my technical opinion.

I wrote a simple Perl module (for $work, but it got open-sourced/freed) to abstract away some details of the Zabbix API and, regarding the API version, two things came up most often:

  • Users would try to use the API (either through my module or with raw JSON queries) and would meet different errors (or no errors, or no errors but it wouldn't work) depending on their version of Zabbix. Having a different API version number would have accurately conveyed the information that "this bug exists in version $FOO and has been fixed in version $BAR, you can upgrade to any version of Zabbix $BAZ or more". As it is I usually answered "I really don't know, go ask on their IRC channel/forum".
  • As a developer: my module targets the 1.8.x series and I test against 1.8.5 and 1.8.11 (since that's what we use at $work). Both versions have different bugs (e.g. my module can create triggers in 1.8.11, it can't in 1.8.5). The unit tests need to know what tests can be run depending on the API version: creating triggers is not a feature of Zabbix 1.8.11, creating triggers via the API is. But both Zabbixen report their API version as 1.3.

My point is that this feature needs to be introduced as soon as possible, or it just increases the amount of similarly-numbered-yet-slightly-different API versions. Either a global x.y.z version or API class/method versions work for me, honestly.

The documentation for the 1.8.x series could use an update as well. Right now it's showing user.authenticate being introduced for "1.8", and deprecated. But user.login has also been introduced for "1.8"! I can't write a module that knows to call authenticate for such and such version and login for later versions because the information is not available. Alternatively, the Zabbix version could be made available through the API.

I realize you'd prefer to support only the most recent 2.x Zabbix (backporting fixes is a pain), but right now enterprise installations will be largely 1.8.x since that's what on Debian stable and testing, Ubuntu LTS and latest Fedora (so probably RHEL and CentOS too).





[ZBXNEXT-3665] Return parent triggerid for discovered triggers Created: 2017 Jan 24  Updated: 2017 Nov 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Kevin Daudt Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: lld, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently the trigger.get API call returns '0' for the templateid of discovered triggers. This makes it hard to get all discovered triggers for a specific trigger prototype.

Can the API be improved to return the actual parent trigger prototype id?



 Comments   
Comment by richlv [ 2017 Jan 24 ]

the docs are a bit light on this, but that's what is stored in the db - well, to be more specific, NULL is stored for non-templated entities, and lld-created entities cannot be templated.
given that, i think it is unlikely that this field will return a different value in the api.
what would be more likely/useful (see the existing params, the suggested should work in a similar way) :

  • a "triggerprototypeids" (wah) param - if specified, only lld-created triggers that come from that prototype are returned
  • selectPrototypes - return prototype id for lld-created entities.

note that it would make sense to implement at the same time for triggers, items and probably applications, hosts...

Comment by Marc Schoechlin [ 2017 Nov 28 ]

It seems that the following relation exists in the database.

I am searching for the triggerprototype of the following trigger:

MariaDB [zabbix]> select * from triggers where triggerid = 95266 \G
*************************** 1. row ***************************
  triggerid: 95266
 expression: {189073}>{$SERVERINST_CLIENT_ABORT_LIMIT}
description: {HOST.NAME}: haproxy Server rgws-rgw0 client aborts
        url:
     status: 0
      value: 0
   priority: 1
 lastchange: 1509037508
   comments:
      error:
 templateid: NULL
       type: 0
      state: 0
      flags: 4
1 row in set (0.00 sec)

It seems that the table trigger_discovery contains the desired information:

MariaDB [zabbix]> select * from trigger_discovery where triggerid = 95266;
+-----------+------------------+
| triggerid | parent_triggerid |
+-----------+------------------+
|     95266 |            95184 |
+-----------+------------------+

MariaDB [zabbix]> select * from triggers where triggerid = 95184 \G
*************************** 1. row ***************************
  triggerid: 95184
 expression: {237132}>{$SERVERINST_CLIENT_ABORT_LIMIT}
description: {HOST.NAME}: {#INSTANCE} Server {#PXNAME}-{#SVNAME} client aborts
        url:
     status: 0
      value: 0
   priority: 1
 lastchange: 0
   comments:
      error:
 templateid: 89134
       type: 0
      state: 0
      flags: 2
1 row in set (0.00 sec)

From my point of understanding it is not possible to gather the parent_triggerid from a trigger
api result.

https://www.zabbix.com/documentation/3.0/manual/api/reference/trigger/get
https://www.zabbix.com/documentation/3.0/manual/api/reference/triggerprototype/get

Is that right?





[ZBXNEXT-1641] rename "macro" to "variable" Created: 2013 Mar 01  Updated: 2018 Jul 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Documentation (D), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: consistency, macros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

zabbix has "macros", which actually are "variables".

http://en.wikipedia.org/wiki/Macro_(computer_science) :
"Macros are used to make a sequence of computing instructions available to the programmer as a single program statement"

in zabbix, these are essentially variables (either system variables, or user definable - "user macros" currently), they do not contain code, instructions etc



 Comments   
Comment by dimir [ 2014 Nov 06 ]

Calling these "variables" might work in the scope of documentation, database, front-end. But I can't imagine how this can be integrated into the source code. Imagine a function names or, even worse, a variables that deal with these "variables". Having different terms in, say, docs and the code sounds bad also. So I'd love to see the third choice here, but I can't really think of anything:

  • definition?
  • setting?
  • metadata?
  • metavariable?
  • template?
  • configurable?

It's all bad. From that list I'd go for metavariable though.

Comment by dimir [ 2014 Nov 07 ]

After discussing it bit more with richlv, perhaps it's no that bad to use the term "variable" in the code also. I considered an example:

/* this variable holds the name of the variable */
char *variable = strdup("{HOST.NAME}");
// this variable holds the name of the variable
$variable = '{HOSTGROUP.ID}'                              

At the beginning I thought that is too confusing but now looking at it again I don't see it's that bad. Coders don't name (well, at least they shouldn't) the variables "variable" so I now think this could actually work. What's just a bit sad is actually this:

$ sgrep '\<variable\>' src | grep str
src/libs/zbxconf/cfg.c:                                                         zbx_strdup(*((char **)cfg[i].variable), value);
src/libs/zbxconf/cfg.c:                                         zbx_strarr_add(cfg[i].variable, value);
src/zabbix_server/httppoller/httpmacro.c:                               *err_str = zbx_dsprintf(*err_str, "missing variable name (only value provided):"
src/zabbix_server/httppoller/httpmacro.c:                               *err_str = zbx_dsprintf(*err_str, "missing variable value (only name provided):"
$
$ grep -r 'variable =' frontends/php
frontends/php/include/views/js/configuration.triggers.expression.js.php:                new_variable = window.opener.document.createElement('input');
frontends/php/include/views/js/configuration.httpconf.popup.js.php:             var new_variable = window.opener.document.createElement('input');
frontends/php/include/classes/api/services/CImage.php:                                  $variable = $image['image'];
frontends/php/include/classes/api/services/CImage.php:                                          $variable = $image['image'];
frontends/php/include/classes/html/CFormTable.php:      public function __construct($title = null, $action = null, $method = null, $enctype = null, $form_variable = null) {
frontends/php/include/classes/html/CFormTable.php:              $form_variable = is_null($form_variable) ? 'form' : $form_variable;
frontends/php/popup_usrgrp.php:        new_variable = window.opener.document.createElement('input');
frontends/php/js/common.js:     var o_variable = o_document.createElement('input');
$

And yes, we use the term "variable" in web monitoring. Wouldn't it be confusing there?

Comment by richlv [ 2014 Nov 07 ]

web monitoring is a good point - but we use term "usermacros" currently, so they could easily be "user variables" in cases that could be confusing

Comment by dimir [ 2014 Nov 07 ]

So, we could have something like:

  • variables, {HOST.HOST}
  • user variables, {$MY.TITLE} (host and global)
  • lld variables, {#FSNAME}
  • and, perhaps, web variables, {macro}

?

<richlv> that would be reasonable, although there are also template level user variables

Comment by Glebs Ivanovskis (Inactive) [ 2016 Feb 25 ]

Quote from Wikipedia says what macros are used for. Wikipedia usually defines a term at the very top of the page. Actual definition for macro from the same page:

A macro (short for "macroinstruction", from Greek μακρο- 'long') in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to a replacement output sequence (also often a sequence of characters) according to a defined procedure.

This is exactly what macros are in Zabbix. See the definition of variable for comparison:

In computer programming, a variable or scalar is a storage location paired with an associated symbolic name (an identifier), which contains some known or unknown quantity of information referred to as a value.

I suppose what richlv and zalex_ua mean is that in Zabbix macros are actually used as environment variables in shell. But the difference is that environment variables can be assigned a new value (varied as name suggests). You cannot change the value (misuse of the variable term) of the macro in Zabbix, all you can is define replacement output sequence for user defined macros.





[ZBXNEXT-1503] introduce default limit for "history.get" method to save performance Created: 2012 Nov 08  Updated: 2019 Oct 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.0.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: api, history, performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

this is follow-up from ZBX-4363

Without such default limit this method is potential performance killer.

Maybe the "limit" parameter should be required but not the optional?

If it missing I suggest the default limit = 1000
or a limit taken form global frontend configuration option "Search/Filter elements limit" <- it used at the moment in history of latest data page.

To discard any limits an user could specify "limit":0

Optionally:
if the limit is reached then we could return additional field in result which will inform user that there are additional values for requested period - see ZBX-3296



 Comments   
Comment by Oleksii Zagorskyi [ 2014 Jan 31 ]

ZBXNEXT-2132 asks for offset (pagination) support.

Comment by Jan Garaj [ 2016 Mar 14 ]

The same performance killer is trend.get.

Hands-on case - Zabbix.org DDoS:

1.) Go to http://monitoringartist.github.io/zapix/ and connect to zabbix.org as guest (https://raw.githubusercontent.com/monitoringartist/zapix/gh-pages/doc/zabbix-zapix.gif)

2.) Execute trend.get query (~1 query per second or ~20x in one go) and ignore any response errors about exhausted memory

=> Zabbix UI will be down - error "Can't connect to DB".

Comment by Marc [ 2016 Mar 14 ]

ZBXNEXT-1984 is distantly related.





[ZBXNEXT-1451] mass update for low level discovery rules Created: 2012 Oct 04  Updated: 2014 Jul 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 22
Labels: lld, massupdate
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

would be nice to get mass update for lld rules themselves. it could include item type, update interval, retention period, snmp community/port



 Comments   
Comment by richlv [ 2014 Jul 01 ]

item prototype mass update is ZBXNEXT-1190





[ZBXNEXT-1192] Support of trigger functions for history and trends API methods Created: 2012 Apr 20  Updated: 2015 Nov 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Alexey Pustovalov Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Zabbix API should provide support of aggregate functions for history.get and trends.get (in future) API methods.
List of aggregate functions:
AVG()
COUNT()
SUM()
MIN()
MAX()

Zabbix API should return only one value when API query contains one of these functions. For example, "count of hosts" for host.get method.



 Comments   
Comment by richlv [ 2012 Apr 20 ]

seems to be very similar to ZBXNEXT-656

Comment by richlv [ 2015 Nov 02 ]

ZBXNEXT-3034 asks for groupfunc support





[ZBXNEXT-1194] Enhanced meta info call Created: 2012 Apr 23  Updated: 2012 Oct 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: nelsonab Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Right now the apiinfo.version call returns the version level of the API, this is good. However it would be nice if there were another call which did a dump of more detailed information such as the frontend version number. I wouldn't expect this call to accept any options, and as the rev level (api version) of the call grows it just returns more info as deemed appropriate. For the initial version I would think returning the following would be useful: (* denotes, if available/trivial to retrieve)
Zabbix Frontend version
PHP Version
Apache Version*
Host OS Info* (linux, distro, distro version)

The main reason for this is to allow third party developers to more easily interface with Zabbix. There are times when something isn't available via the API and a call must be made directly to the web frontend, it would be nice to know what version of the frontend is in use, so as to not make an errant call.

A call might look like the following:

call:

{ "jsonrpc":"2.0", "method":"apiinfo.details", "params":[], "auth":AUTHHASH, "id":2 }

result:
{
"jsonrpc":"2.0",
"result":

{ "frontend":"2.0.0rc3", }

"id":2
}



 Comments   
Comment by richlv [ 2012 Apr 23 ]

ZBXNEXT-315 asks for similar functionality on the frontend level, these both should probably be resolved together





[ZBXNEXT-1582] filter triggers by acknowledging user Created: 2013 Jan 18  Updated: 2014 Apr 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: acknowledges
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

in monitoring -> triggers we can filter by acknowledgement status.
in some environments it is useful to filter by user who acknowledged the problems - for example, to see what a specific user is supposed to be working on.

this should be a separate option from "Acknowledge status", as it is desired to see both unacknowledged triggers and triggers acknowledged by a specific user.

there should be a way to choose "current user" and also another user. choosing another user should be a search-as-you-type inputfield.

open questions :
should it be possible to choose multiple users, or user group ?
when current user is not a superadmin, which users should it be able to select ? note that all users can see all acknowledgements, so it would be weird if they would be unable to filter by those users






[ZBXNEXT-1115] additional comparison types in action conditions Created: 2012 Feb 10  Updated: 2021 Oct 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: actions, consistency, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

for some freeform text conditions in actions additional comparison types would be useful, otherwise it is not possible to (negate) match exact names

application can be
=
like
not like
missing : <>

trigger name can be
like
not like
missing : = and <>



 Comments   
Comment by Alexei Vladishev [ 2021 Oct 15 ]

Applications are already covered by tags starting from Zabbix 5.4.





[ZBXNEXT-727] API method that returns available API methods Created: 2011 Apr 05  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Alexey Fukalov Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Make API method that returns all available API methods, maybe with required parameters.
Can be used by external tools, for autocomplete etc.






[ZBXNEXT-2781] support for network discovery using ntp Created: 2015 Apr 15  Updated: 2015 Apr 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 2.4.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: networkdiscovery, ntp, udp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

After ZBXNEXT-786 is implemented, everything will be ready to use NTP protocol for network discovery.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Apr 16 ]

Interesting, trying to google "NTP network discovery" I found
http://en.wikipedia.org/wiki/Automatic_server_discovery
https://www.eecis.udel.edu/~mills/ntp/html/manyopt.html

Are they related to network discovery as for zabbix ?

Comment by Aleksandrs Saveljevs [ 2015 Apr 16 ]

This looks interesting, but the approach I had in mind is the usual one for Zabbix: pick an IP, run net.udp.service[ntp] on it, pick another IP, run net.udp.service[ntp] on that, etc.





[ZBXNEXT-2389] Support for grouping of icons Created: 2014 Jul 21  Updated: 2017 Apr 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: icons, maps, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2984 Icon classifications Closed
is duplicated by ZBXNEXT-3790 Categorize Icons Closed

 Description   

Adding large sets of icons to the Zabbix Frontend for building maps makes it hard to keep an overview of the usable icons.
It would help if icons could be grouped into iconsets. Preferably, an icon could be part of a set.

This would allow for grouping icons by type (server, network, appliances, logos, etc.) and for example sizes (24px, 48px, 96px, etc.)



 Comments   
Comment by Raymond Kuiper [ 2014 Jul 21 ]

Of course, it would need to be possible to select an icon from a set in the maps designer as well.
Dropdown menu would work, but it might be nice to drag/drop them from a pallete like interface. (like Visio, Dia, etc.)





[ZBXNEXT-1865] show protocol requests in the debug Created: 2013 Aug 19  Updated: 2013 Aug 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: debugging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

ZBXNEXT-1689 implemented new protocol for obtaining queue details from the server. unfortunately, this communication could not be seen in the frontend debug output.

it would be great to show all such communication when frontend debug is invoked - another case would be the global scripts






[ZBXNEXT-4646] allow filtering in user.get api method based on user access Created: 2018 Jul 19  Updated: 2018 Jul 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.0.0alpha8
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The user.get method has a parameter getAccess to return user frontend access information, but there does not seem to be a way to filter by this information in the request.

Use case - returning all user accounts that either have or do not have the privilege to log into the Zabbix UI.






[ZBXNEXT-5270] no user unblocking in the api Created: 2013 Dec 02  Updated: 2019 Jun 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: newapimethod, users
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

apparently, unblocking was forgotten in the api. probably a new method like user.unblock that would accept user ids would be the way to go.

it might be worth looking at ZBX-7472 when dealing with this






[ZBXNEXT-3288] Add view on escalation progress. Created: 2016 May 26  Updated: 2016 May 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 3.2.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Sandis Neilands (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Monitoring->Triggers and Monitoring->Events provides very low level view of the network. This view is useful for ad-hoc investigation of problems.

However business rules and workflows are encoded in Actions. There is no high-level view of progress of escalations.

The purpose of this ZBXNEXT is to study feasibility of adding such view in UI and API.






[ZBXNEXT-3258] allow filtering media by mediatype in user.get Created: 2016 Apr 27  Updated: 2016 Apr 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.2
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: user.get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

according to the manual, user.get method allows to :

  • filter returned users by a specific media with mediaids
  • filter returned users by used mediatype with mediatypeids
  • return all user media with selectMedias
  • return mediatypes used in user media with selectMediatypes

there does not seem to be a way to return only media entries that are assigned to a specific mediatypeid - for example, returning email addresses of all users, while ignoring scripts and all other types.






[ZBXNEXT-3268] Visible name in frontend for Zabbix proxy Created: 2016 May 03  Updated: 2018 Jun 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.2.12
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

How about introducing an optional "Visible name" for Zabbix proxies?
This may allow much nicer names in Zabbix frontend to reference a proxy without having to align it with the technical hostname of a proxy - apart from the fact of not being limited in terms of supported characters.



 Comments   
Comment by Evgeny Kravchenko [ 2016 Jul 26 ]

I have too much proxies in my configuration, and frontend field "Visible name" for proxy will very useful for me, because i can have some description in proxy names.





[ZBXNEXT-3275] Solar JSON must be removed from Zabbix source code Created: 2016 May 10  Updated: 2017 Aug 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Alexander Vladishev Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: codequality
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: DEV-591
Story Points: 1

 Description   

From version 5.2.0 PHP supports functions json_encode() and json_decode(). Solar JSON can be removed from Zabbix 3.0 source code.



 Comments   
Comment by richlv [ 2017 Aug 22 ]

please note that it might require additional documentation and dependency check changes as per ZBX-12546





[ZBXNEXT-3264] templates_unlink for host.update Created: 2016 May 02  Updated: 2016 May 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.2
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: host.update
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

according to https://www.zabbix.com/documentation/3.0/manual/api/reference/host/update , the "templates" parameter replaces all the host templates with the specified templates, "templates_clear" parameter unlinks and clears the specified templates.

it seems strangely inconsistent that there's no templates_unlink that would be the companion for the _clear parameter - that is, it would unlink without clearing the specified templates






[ZBXNEXT-2494] Support 255 characters in hostnames Created: 2014 Oct 06  Updated: 2014 Oct 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Łukasz Jernaś Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix frontend should support FQDNs with up to 255 characters as per RFC 1123.

These are needed as hostnames in cloud environments can be quite long and while a single part of the FQDN shouldn't exceed 63 8 bit octects, the total lenght of the FQDN can be longer






[ZBXNEXT-2261] excessive queries when clearing web scenario history Created: 2014 Apr 15  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when history is cleared for web scenario items, we delete data from all history tables, even though we know type for each of these items (they are created by frontend/server automatically).
we should only clear the needed tables instead.

frontend definitely does the excessive queries, server should be checked






[ZBXNEXT-7568] Inbound webhook Created: 2022 Mar 18  Updated: 2022 Mar 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Aleksey Volodin Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Since Webhook is a modern and super popular technology it will bee nice to have this option in Zabbix.

This can make an integration with other services much more easier.






[ZBXNEXT-4666] Referencing Zabbix map as image Created: 2018 Aug 01  Updated: 2018 Aug 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.4.11, 4.0.0alpha9
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Katarzyna Piórkowska Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: map
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File referencing_map_result_3.2.JPG     JPEG File referencing_map_result_4.0.JPG    

 Description   

When using URL
http://IPaddress/zabbix/maps.php?sysmapid=1
in a browser we could get the image of map in Zabbix 3.2 - see screenshot referencing_map_result_3.2.

 

Since Zabbix 3.4 it is not possible anymore (screenshot referencing_map_result_4.0), there is only JSON format of a map.

 

Wolud it be possible to make such referencing work again?






[ZBXNEXT-5010] Expose Queue information (queue.get) via API Created: 2019 Feb 06  Updated: 2021 Apr 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.0.4
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Christian Anton Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

For several use cases, such as analyzing and correlating data from Zabbix and faults happening while monitoring, it would be very helpful to be able to fetch queue information via the REST API.

In ZBXNEXT-1945 I have understood that the Queue stats are not anymore calculated in the UI, but just fetched directly from the Zabbix Server via the TCP socket. I would like to fetch this same information via the API, which should be basically just "exposing" the function to the API.



 Comments   
Comment by Mathieu M. [ 2019 Jul 25 ]

Hello

We also need this function cause at the moment we are not able to make diagnostic of the queue problem:

 

Queue Details: "Displaying 480 of 153645 found"

Not Very funny => No filters on queue page, no method to either get it via API, nor via DB....

 

Regards





[ZBXNEXT-5561] Configuration -> Hosts: Templates filter does not show if template is inherited Created: 2019 Nov 11  Updated: 2020 Feb 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 4.0.13
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Filipe Paternot Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu container 4.0.7



 Description   

In `Configuration -> Hosts` page, we can filter by templates. If we search for a template that is inherited by other however, you get no results.

 

The documentation http://zabbix.com/documentation/4.0/manual/web_interface/frontend_sections/configuration/hosts does not make clear if this should hold true for inherited templates. That omission suggests that it should work for all kinds of templates: direct link or inherited ones.

 

This ticket aims at getting that filter to work for inherited templates as well.

 

Managed to reproduce on 4.0.7 and 4.4.1.



 Comments   
Comment by Alexei Vladishev [ 2020 Feb 04 ]

You are correct, it has to be fixed.





[ZBXNEXT-5675] Zabbix API methods debugging Created: 2020 Jan 07  Updated: 2020 Jan 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Alexey Pustovalov Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 4
Labels: api
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently more and more people use Zabbix API, sometimes methods are used not in proper way. So it would be great to have the following type of Zabbix API debug. Debug should contain:
1. User session information (userid, sessionid... anything which can help to identify user)
2. Methods information (request data), like debug information in Zabbix frontend
3. SQL queries information (full SQL text, SQL response time, place from sources)

Maybe such information should be stored somewhere in physical log file.






[ZBXNEXT-112] user.add should return better error messages Created: 2009 Oct 20  Updated: 2012 Oct 21

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: nelsonab Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: usability, validation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

From the CLI tool

add user passwd=bla
*Debug(7)* parse_input: add user passwd=bla
["passwd=bla"]
{:command=>:adduser, :parameters=>{"passwd"=>"bla"}}
*Debug(10)* json_obj: json_obj: authe29c821d61cc1fa597359c4df0df9ce3id2methoduser.addparamspasswdblajsonrpc2.0
*Debug(8)* do_request: Sending: {"auth":"e29c821d61cc1fa597359c4df0df9ce3","id":2,"method":"user.add","params":[

{"passwd":"bla"}

],"jsonrpc":"2.0"}
*Debug(8)* do_request: Response Code: 200
*Debug(8)* do_request: Response Body: {"jsonrpc":"2.0","error":

{"code":-32500,"message":"Application error.","data":"Incorrect parameters pasted to method [ user.add ]"}

,"id":2}
An error was received from the Zabbix server
Error code: -32500
Error message: Application error.
Error data: Incorrect parameters pasted to method [ user.add ]

The error message returned is overly simplistic. In this case something to the effect of what fields are required would be useful.

Also as an aside, pasted? Perhaps "Incorrect parameter for method [user.add", just a thought.



 Comments   
Comment by Artem Suharev (Inactive) [ 2009 Oct 29 ]

Error messages will be improved, no doubts, but in time. First things first. =) There is so much work to do!

Comment by Artem Suharev (Inactive) [ 2009 Oct 29 ]

This issue is part of future API development, so I close it.

Comment by richlv [ 2009 Nov 02 ]

valid as a feature request (so that it doesn't get lost)





[ZBXNEXT-1602] support HOST.CONN, IP, DNS in allowed hosts for zabbix trapper items Created: 2013 Feb 01  Updated: 2016 Jun 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: interfaces, macros, zabbixtrapper
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

continuing of (1) from ZBXNEXT-354 - would be great to include support in "allowed hosts" for zabbix trapper items of :

{HOST.CONN}

,

{HOST.IP}

and

{HOST.DNS}

as per comment there, this will require adding interface support for trapper items



 Comments   
Comment by Constantin Oshmyan [ 2016 Jun 30 ]

I'd like to show my interest also: is there some progress with this issue?
mwyraz wrote in ZBXNEXT-354 more than 3 years ago:

Without this feature, trapper templates are either a security issue (if no allowed hosts are given) or quite impractical (if many hosts have to be configured manually).

I'm agree completely with Michael.

Comment by Alexander [ 2016 Jun 30 ]

Recently, it became necessary to use this option in the template. Interested in its implementation.





[ZBXNEXT-1805] Get rid of "Incorrect trigger expression. Trigger expression elements should not belong to a template and a host simultaneously." Created: 2013 Jun 28  Updated: 2019 Mar 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Server (S)
Affects Version/s: 2.0.6
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Ilya I. Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: expressions, templatelinking
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I want to use both templated and host items in a trigger. The WebUI lets me to build the expression, but won't save it: "Incorrect trigger expression. Trigger expression elements should not belong to a template and a host simultaneously.". This is exactly what I want. Why is it not allowed?



 Comments   
Comment by Oleksii Zagorskyi [ 2013 Jul 01 ]

I think it's limited by design.
It would be illogical.
How such trigger could be evaluated if one item (from template) does not get incoming data ?

https://www.zabbix.org/wiki/Docs/specs/ZBX-4333 could help to understand some possible limitation.

Comment by Ilya I. [ 2013 Jul 02 ]

Why does it matter? How any other trigger can be evaluated if one of the items in that trigger does not get incoming data?

The specification speaks of trigger dependencies, I'm talking about one single trigger.

Comment by richlv [ 2014 Feb 05 ]

related to ZBX-4575

Comment by balder [ 2014 Mar 19 ]

I am also running into this problem. I im trying to compare the DNS serial number of a master with all of its slaves.

I have an item on the template for the slave servers which returns the serial of the slave. I then created a host to represent the master which has an equivilant item. i then try to create a trigger with an expression simlar to the following

{Template DNS slave:slave_serial.sh["zone."]}={master.example.com.net:master_serial.sh["zone."].last()}

We have one master and ~350 slave servers so this feature would be very usefull

Comment by balder [ 2014 Mar 19 ]

I also tried to add master.example.com to a template and create a trigger using items from the two templates (which seems much more error prone to me) and this also fail with a different error

"$name_of_trigger_trying_to_create" belongs to templates with different linkages.

Comment by Ari Maniatis [ 2015 Aug 03 ]

This ticket has been open for a while now, but it is really important. There is no workaround that I can see and the feature is very important to be able to check DNS slaves, Solr slaves and any other master-slave arrangement.

Comment by Alexandre Zia [ 2017 Mar 24 ]

Also trying to check Ldap Master <-> Slave replication, same problem.

Comment by Scott McGillivray [ 2019 Mar 18 ]

this is a horrible limitation of zabbix 





[ZBXNEXT-656] New parameter for granularity in history.get Created: 2011 Feb 10  Updated: 2019 Feb 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 1.8.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Jacobo Aragunde Pérez Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: graphs, history, patch, trends
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File 0001-Added-a-new-parameter-samples_number-in-the-API-op.patch    

 Description   

When retrieving history data through the JSON-RPC API, dealing with data from a wide lapse of time is painful because all the samples are returned, but it's very likely that I don't need such degree of detail.

Take, for example, a use case where I want to draw a chart for one year history. I will need, at most, one sample for each pixel of the chart's width, and not all history.

I propose creating an additional parameter to express the number of samples you want to get. It would divide the history in N groups of the same time length and return an average value for each group. It's different from the limit parameter, which only returns the first N rows of the history.

Since it's an important feature for me, I've started working on a patch that I'll upload here soon. I'm taking inspiration from frontend/php/include/classes/class.cchart.php, function selectData(), which is used to gather history data to build charts in the web frontend.



 Comments   
Comment by richlv [ 2011 Feb 10 ]

first, ability to get trend data might be useful in some cases as well.
second, this vibes well with "data reduction" part in the utopian api wishlist - https://zabbix.org/wiki/Docs/specs/api

Comment by Jacobo Aragunde Pérez [ 2011 Feb 10 ]

Patch. Apply with -p1.

Comment by Jacobo Aragunde Pérez [ 2011 Feb 10 ]

I've just added a patch. I've followed the coding conventions but I'm not sure about the naming of the file and the format of the patch, so please correctly if I'm wrong. I used 1.8.4 version code as base.

What this patch does:

  • Add a new parameter called 'samples_number'. If this parameter is sent and time_from and time_till are sent too, the query will do samples_number groups with equal size and return the average value in each group.
  • I use the table history or trends depending on the degree of detail required and the availability of data. I've taken those conditions from class.cchart.php->selectData(). Not very sure about the second one: ($p / $i) > (ZBX_MAX_TREND_DIFF / ZBX_GRAPH_MAX_SKIP_CELL). Should I remove the division by ZBX_GRAPH_MAX_SKIP_CELL?
Comment by richlv [ 2011 Feb 11 ]

as far as i recall (as a noncoder), ZBX_GRAPH_MAX_SKIP_CELL was used to figure out how many values we may miss before having a gap in the graph, thus i suspect it would not be useful in this case

Comment by richlv [ 2011 Sep 12 ]

maybe this could at least somewhat help with ZBX-3851

Comment by richlv [ 2012 Apr 20 ]

ZBXNEXT-1192 seems to be very similar

Comment by Oleksii Zagorskyi [ 2015 Apr 30 ]

I recall long time ago I was surprised to see ZBX_GRAPH_MAX_SKIP_CELL in the function where we decide where get data from - history or trends.
I could not get why do we use ZBX_GRAPH_MAX_SKIP_CELL here.
This definition being used in another place too, where, IMO, it was implemented for - draw lines or gaps on graphs.

When commenting other issues (ZBXNEXT-2128, ZBX-7821) I again remembered about the unanswered question.
And it may become more important to be checked by devs, because of the issues I mentioned.

My feeling was and still is that we need to split ZBX_GRAPH_MAX_SKIP_CELL to two definitions and use new definition in the function where we select source of data - history or trends.

Comment by Andre Guilhon [ 2015 Jul 07 ]

I would appreciate this feature very much! I'm on 2.4 now, and I still miss this feature!





[ZBXNEXT-2770] Add name/description field for maintenance period individual periods Created: 2015 Apr 10  Updated: 2015 May 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.2.6
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: James Cook Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: maintenance, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File Maintenance Period Individual Periods.bmp     File Maintenance Period.bmp    

 Description   

There is a name/description field currently to describe the whole maintenance period. However it would be useful to have a name/description field available for each individual period within it.

I have included an picture example of our holiday maintenance period and the individual periods with in it. In this case it would be useful to see a description for the public holidays and which term it is for example:

26th Jan 2015 - Australia Day
2nd March 2015 - Labour Day
3rd April 2015 (17d) - Term 1 Break
4th July 2015 (16d) - Term 2 Break

So maybe a field can be introduced before the "Period type" called "Period Name".

It will make it easier to manage maintenance periods with lots of individual periods within it.



 Comments   
Comment by Mārcis Lielturks [ 2015 May 12 ]

This would also make sense for managed service environments. I have pre-defined maintenance periods for each customer/project just to have an convenient way of putting all related hosts in maintenance. However it doesn't make sense to create description "<customer> updates" because sometimes I use the same period for doing other maintenance on customer environment.

Comment by richlv [ 2015 May 22 ]

description for :





[ZBXNEXT-2469] Allow the use of global time periods in trigger expressions Created: 2014 Sep 19  Updated: 2014 Sep 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Documentation (D), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

As soon as global time periods are implemented (ZBXNEXT-2468) it would be logical to be able to use these in triggers as well.

This way we can take the predefined time periods into account for the triggering of problems. Adjusting the global time period will update all the related triggers easily.






[ZBXNEXT-2468] Global definition of time ranges Created: 2014 Sep 19  Updated: 2017 Jul 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Documentation (D), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: period, time, timeperiod
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For the ease of use of recurring regex' we have the possibility to define these in the global administration as a named entity that can be reused in the various places regex' can be used by using the name prepended with a @.

As we also (re-)use a set of time periods in various places (media, maintenance, actions, dynamic item intervals, etc.) it would be nice be able to globally define time periods as well so that we can reuse them in various places. This makes it a lot easier to update a time range in one go. Also it will prevent a lot of user errors.

Of course, it would be nice to create, edit, and use these via the API as well.



 Comments   
Comment by Raymond Kuiper [ 2014 Sep 19 ]

Please see ZBXNEXT-2469 for the possible use of these time periods in trigger expressions.

Comment by richlv [ 2014 Sep 19 ]

ZBXNEXT-334 asks to unify it service & maintenance periods

Comment by Glebs Ivanovskis (Inactive) [ 2017 Jul 31 ]

Should be partially solved by ZBXNEXT-1675.





[ZBXNEXT-1949] Give an indication/allow to browse through dependent triggers Created: 2013 Oct 04  Updated: 2018 Aug 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.1.7
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Volker Fröhlich Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: consistency, dependency, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

In various cases it's beneficial to know if triggers depend on a particular trigger and what they are. While you can see what a trigger depends on, you can't get that opposite view. This need first came to my mind when writing http://blog.zabbix.com/a-workaround-for-trigger-based-maintenance/1527/.

Not only that you could explore the chains of dependencies, the implementation should also give you an idea about the consequences of deleting a trigger that others depend on. The behaviour is also slightly inconsistent, if you compare with what I reported on ZBXNEXT-1948:

Action conditions: When you delete an entity referenced in a condition, the reference is removed and the action is silently disabled
Trigger dependency: When you delete a trigger that other triggers depend on, the reference is removed, but the trigger remains enabled



 Comments   
Comment by Volker Fröhlich [ 2013 Oct 04 ]

If all that sounds confusing, you get an idea of how confusing "depending" and "dependent" are to me, when it comes to triggers.

Comment by richlv [ 2013 Oct 04 ]

maybe even a tree-like representation of dependencies





[ZBXNEXT-1694] Discovery tab missing/ uses wrong acess levels Created: 2013 Mar 29  Updated: 2019 Apr 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.0.4
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Ebonweaver Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: discovery, permissions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The Discovery tab in the navigation bar does not show up because it appears to be functioning at the wrong access levels. For example:
Users can not see the Monitoring -> Discovery tab so they can not see the discovery results. You have to be an Admin to see it.
Admins can not see the Configuration -> Discover tab so they can not create discovery rules. You have to be a super admin to see that.

Both of these issues create severe and insurmountable security/ permission problems which make the feature unusable. We would love to see this fixed so the tabs operate at the proper permission levels, most especially so our Users (IT staff) can see the scan results to ensure system security is being followed. We would also like our network admin to be able to create scans, but we don't want to grant him super admin to do so.



 Comments   
Comment by Oleksii Zagorskyi [ 2013 Mar 30 ]

This is not a bug, decreasing priority.

Comment by Ebonweaver [ 2013 Apr 02 ]

I'm curious how this is an "improvement" and not a "bug". The tab does not work consistent with all other tabs on each of the sections of the interface, and that difference renders it unusable as it's inaccessible at the relevant user levels. Sure looks like a bug in the permission levels for that one item compared to all others.

Comment by Ebonweaver [ 2014 Feb 18 ]

Nearly a year later, now on 2.0.11, this is still an issue, still considered a bug as there is no justification how it is not a bug, no action on ticket. No way found to date to give users access to see the Monitoring -> Discovery tab so they can view the discovery results as expected. Further showing this is a bug is the fact that user permissions list "Discovered hosts" and yet they can't see it. Please provide information on making this work or elevate back to bug status as seems appropriate.

Comment by richlv [ 2014 Feb 18 ]

permissions refer to host group "discovered hosts", not to the discovery results

Comment by Ebonweaver [ 2016 Feb 19 ]

This is still an issue. While I understand you consider this a feature request, from what I see until a change is made the Discovery tab on the Monitoring tab is useless (to us) because no one can see it other than the super admins. This means it's NOT a monitoring tool, it is an admin tool, but in reality it's not. While the current functionality is useful in a shop of one admin, in a shop of delegated technicians it's useless.

Comment by Ebonweaver [ 2017 Mar 10 ]

STILL an issue 4 years later in 3.2. Further aggravating is that view access now allows maps and screen creation and it absolutely should not. Point is, the permissions structure of only allowing access of view/edit by host group has been deficient for a long time. There needs to be another set of permissions that works in conjunction with that which allows access to tabs/functions. Previously this would have been as simple as a list of the tabs on the Monitoring section to allow access to. Now it's further aggravated by having moved configuration of some items into monitoring instead of keeping them under configuration where they belong. This means if that's not fixed (reverted to proper layout) you need to also have options for allowing or disabling create on the tabs that you would allow view.
Honestly the product does so many great things, but have long suffered some very basic UI function problems, and this new issue is rather crippling...(separate issue opened)

Comment by Marc [ 2017 Mar 10 ]

ebonweaver, possibly consider to (co-)sponsor development of this feature, since this feature request seems not to attract other users yet (no votes).

Comment by Leigh Bennett [ 2019 Apr 03 ]

as Marc says, vote for the issue.





[ZBXNEXT-1705] Possibility to define networks and automated mapping to hosts Created: 2013 Apr 11  Updated: 2015 Jan 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: management, network
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I wonder if it would suit into Zabbix to have the option for defining networks.
These networks could maybe defined by IP address + Netmask (optionally + Tag + Site) and may provide further fields whose values are all available via macros.
Every host interface could be automatically mapped against a network if it exists.

Beside messages, commands, etc. the networks could then be used for selection similar to host groups or wherever else useful (e.g. for network discovery).
Having the option to add them automatically via auto-registration could be interesting too.

The idea for this issue is driven by http://www.gestioip.net/
I don't want Zabbix to become a network management solution like GestióIP but I imagine that it would be beneficial to be able to define networks with some information and put them into relation to hosts.



 Comments   
Comment by Marc [ 2015 Jan 28 ]

ZBXNEXT-66 might be related.





[ZBXNEXT-1531] Support "is_writable" API object attribute - calculates if row is accessible for write or not. Created: 2012 Nov 30  Updated: 2012 Dec 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.1.0
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Eduards Samersovs (Inactive) Assignee: Eduards Samersovs (Inactive)
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Implementation example:

CZBXAPI.php:


/**

  • Add writable status field to result.
    *
  • @param array $result
  • @param array $options
    */
    protected function addWritableInfo($result, $options) {
    if (empty($options['is_writable'])) { return $result; }

$pk = $this->pk($this->tableName);

$objs = $this->get(array(
$pk.'s' => zbx_objectValues($result, $pk),
'editable' => true
));
$objs = zbx_toHash($objs, $pk);

foreach ($result as $id => $value)

{ $result[$id]['is_writable'] = isset($objs[$id]); }

return $result;
}


Example usage:
CTrigger->get()


$result = $this->addWritableInfo($result, $options);







[ZBXNEXT-1412] No way to find trigger by expression. Created: 2012 Mar 17  Updated: 2012 Sep 07

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: gescheit Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: search, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I found than search trigger by expression very difficult task. By trigger.get() i can search only by number presentation(

{10}

>10). trigger.exists can search by name(localhost:procload.last(0)>10), but cant get triggerid, only true/false. I found undocumented function trigger.getObjects() (legacy?) which use explode_exp() and can search by name.
Maybe add explode_exp() in trigger.get ?



 Comments   
Comment by Alexei Vladishev [ 2012 Sep 07 ]

I believe it should be in feature requests not here.

Comment by richlv [ 2012 Sep 07 ]

let's move it then





[ZBXNEXT-1031] Get server status thru API Created: 2011 Nov 15  Updated: 2018 Nov 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 1.8.8, 1.8.9
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Jordi Clariana Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 10
Labels: check, patch, server
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All enviroments, all OSs, all hardware.


Attachments: File APIServer.patch     File ServerStatus_3_0_1.patch    
Issue Links:
Duplicate
duplicates ZBXNEXT-1079 API call to get system status missing Closed

 Description   

Hi,

It will be nice to have some function in the API to get Zabbix Server status, the same way it is checked in the dashboard (I mean, the fsockopen method).

Thanks.



 Comments   
Comment by Jordi Clariana [ 2012 Oct 14 ]

This patch creates new API call: Server, with 3 methods: version, status and performance.

Feel free to modify and/or include it in the next Zabbix release.

I'll made it based on Zabbix version 2, I have it for version 1.8 too if anyone interested.

Regards.

Comment by Jordi Clariana [ 2013 Apr 19 ]

Hi,

I wonder if there's any plan to implement this patch on the main branch. Can you tell me?

Thanks.

Comment by richlv [ 2013 Apr 19 ]

it's not on the roadmap currently (but i like it & voted on it )

Comment by sxc7541 [ 2016 Feb 25 ]

I've written a Python script to monitor the Zabbix server externally (make sure it's running) - details here: http://serverfault.com/questions/741064/monitoring-zabbix-server-itself-externally/760343#760343

Alas, I've noticed that the Zabbix server somehow continues to respond to API requests even if it's stopped... I suppose this feature would help in this scenario.

Thanks to @Jordiclariana for providing a full fledged patch. Now if only this could make it into an official release...

Comment by sxc7541 [ 2016 Mar 25 ]

For others like me still waiting for this functionality to be incorporated in an official release, here's Jordi's patch adapted to run on Zabbix 3.0(.1): ServerStatus_3_0_1.patch

Comment by yuanpeng [ 2017 May 17 ]

I think you can do some improvement for 'server.status' function, when zabbix_server becomes zombie, connection to 'ZBX_SERVER_PORT' may still be successful. So maybe you can send some request to the opened stream, and set stream timeout, if fwrite request time out, then return status failed

Comment by Adrian Kirchner [ 2018 Nov 08 ]

This would be very helpful. Sometimes (a few times per year) we have situations where most of the zabbix server processes are killed (eg. by OOM through neighbor processes) and doesn't collect values but it still responds on port 10051. This situation is very hard to monitor with tools like Pingdom.

Please provide an API endpoint which utilizes the same fsockopen method as the dashbord widget is using.





[ZBXNEXT-9006] Action only trigger Created: 2024 Feb 09  Updated: 2024 Feb 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: LivreAcesso.Pro Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: JavaScript, action, calculateditems, item, script, ssh
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File mock-up.png     PNG File mock-up_action.png    

 Description   

I want a type of trigger that does not generate a "Problem" but just performs an action, whether it is a script, JavaScript code, calculates an item, or run an "Execute now" on an item.

This trigger can be used to perform just-in-time data harvesting and interact with the API via webhooks.

There are many possibilities.



 Comments   
Comment by LivreAcesso.Pro [ 2024 Feb 09 ]

See:

ZBXNEXT-1414

ZBXNEXT-1475

ZBXNEXT-8609

 

Comment by LivreAcesso.Pro [ 2024 Feb 09 ]

See:

https://web.archive.org/web/20210615190540/http://www.zabbixbook.com/2016/10/24/using-the-zabbixtiny-to-change-an-item-interval-based-on-a-trigger/





[ZBXNEXT-6638] Expand Operationnal Data through trigger.get API Created: 2021 Apr 24  Updated: 2021 Apr 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 5.2.6
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Romain Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: macros, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,

 

Following this piece of documentation it appears that we can get opdata through the trigger object :

https://www.zabbix.com/documentation/current/manual/api/reference/trigger/object

But the trigger.get reference doesn't mention expandOpdata Flag :

https://www.zabbix.com/documentation/current/manual/api/reference/trigger/get

 

At the moment we could get the data from Operationnal but macros are not expanded.

 

Thanks in advance,






[ZBXNEXT-6938] Show SQL detailed errors when performing API Created: 2021 Sep 23  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Antons Sincovs Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Frontend version 5.x


Issue Links:
Duplicate

 Description   

Could you, please, consider returning an actual SQL error when performing API calls which fail on SQL query execution?

So, for example, instead of "SQL statement execution has failed":

SQL statement execution has failed \"INSERT INTO hosts (host,proxy_hostid,name,description,hostid) VALUES ('ABC-ABCDEFGHIJ-KL1234-Mnop-3-QRUVW','11723','ABC-ABCDEFGHIJ-KL1234-Mnop-3-QRUVW','','21722')

An actual detailed error:

ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`zabbix`.`hosts`, CONSTRAINT `c_hosts_1` FOREIGN KEY (`proxy_hostid`) REFERENCES `hosts` (`hostid`))

Would be returned if the SQL query is being executed anyway.






[ZBXNEXT-6795] allow a cascaded delete when deleting the last host in a maintenance Created: 2021 Jul 22  Updated: 2021 Sep 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Ronald Rood Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently when automation tools try to delete a host that is the last member in a maintenance the deletion fails because a maintenance should at least contain one host or group.
It is very likely that the maintenance should also be deleted.
Would it be feasible to add something like a cascade option to the host delete operation, such that the eventual effected maintenances would also be deleted?






[ZBXNEXT-6668] Add auditlog call and remove calls from frontend Created: 2021 May 19  Updated: 2021 Aug 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Roberts Lataria (Inactive) Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: auditlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team C

 Description   

Add new auditlog call for actions in API services and remove calls from frontend part.

List of frontend files where need remove: graphs.php, CControllerImageCreate, CControllerImageUpdate, CControllerImageDelete, sysmaps.php, CControllerProxyCreate, CControllerProxyUpdate, services.php, templates.php.

List of API actions where need add auditlog call:

API service(s) Actions
CGraph, CGraphPrototype Add, Update
CImage Add, Update, Delete
CMap Add, Update, Delete
CProxy Add, Update
CService Add, Update, Delete
CTemplate Add, Update





[ZBXNEXT-6640] Integrated Swagger UI for Zabbix Rest API Created: 2021 Apr 26  Updated: 2021 May 20

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dimitri Bellini Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Could be very to have the Zabbix RestAPI from a nice useful swagger interface, i know is not so important but could be a very great addiction for RestAPI user experience and documentation.

Ref. : https://swagger.io/



 Comments   
Comment by Matthew Steeves [ 2021 May 20 ]

This would be awesome to have, because with the Swagger (now OpenAPI) spec published, the Zabbix API could be consumed by tools such as https://swagger.io/tools/swagger-codegen/ or https://github.com/Azure/autorest/.

The beauty of being able to use the above tools would be that every time a new version of Zabbix is released, you don't have to manually update whatever Zabbix API module you use.

e.g. I use psbbix to connect to Zabbix API using Powershell. I just finished scrolling through the list of API updates from 5.2 to 5.4, and it would mean A LOT of updates need to be done to the module. At least theoretically, if Zabbix published it's API spec in OpenAPI, I could just run the latest spec through the API code gen tool, and have an updated Powershell module, ready to take advantage of the latest updates to the API.





[ZBXNEXT-8114] Read time out error Created: 2022 Nov 22  Updated: 2022 Nov 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Bethson Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I got a read time out error in event.get method  API  when I query the user role category users login If I changed the user role as superadmin in zabbix it works for me same time if i come back the user as a user role  type I got the read time out error any can help me






[ZBXNEXT-7006] Give customer power to approve new monitoring Created: 2021 Oct 18  Updated: 2021 Oct 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Proxy (P), Server (S)
Affects Version/s: 5.0.16, 5.4.5
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Aigars Kadikis Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

A low level discovery (LLD) can create new entities.

The idea is to give the power to customer to validate and approve new monitoring. Only after approval new items will be created on Zabbix proxy server. An extra point to this functionality is to stop automatic configuration update on Zabbix proxy. The configuration update on proxy must happen only after the client has approved new monitoring.






[ZBXNEXT-6962] Cisco Webex Media Type Created: 2021 Sep 30  Updated: 2021 Sep 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Marco Koch Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 4
Labels: media, mediatypes
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Cisco Webex offers a webhock option: https://apphub.webex.com/applications/incoming-webhooks-cisco-systems-38054

Now please add an option or a template for Webex Media Type.






[ZBXNEXT-6949] Allow usermacro as a condition in LLD, including overrides Created: 2021 Sep 27  Updated: 2022 Feb 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 6.0.0alpha3
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

LLD overrides allow to enable or skip creation of entities (items, triggers) based on LLD macro content.
It would be great to also allow usermacros to be verified.
This would allow to selectively enable or skip such discovery on specific hosts by using usermacro as a toggle.



 Comments   
Comment by richlv [ 2021 Sep 27 ]

A specific usecase - Kafka monitoring discovers a lot of topics. Only some topics on some host need some triggers.
The "some topics" part can be achieved with overrides, "some hosts" part - not.
Usermacros would allow to toggle this behaviour per host.





[ZBXNEXT-6823] Postman API Collection/OpenAPI Availability Created: 2021 Aug 10  Updated: 2021 Aug 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Shane Arnold Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be great if Zabbix could provide an API file in OpenAPI format, or, publish a "Postman Collection" that API developers could use to more easily develop against Zabbix.

[Publishing your docs | Postman Learning Center|https://learning.postman.com/docs/publishing-your-api/publishing-your-docs/]



 Comments   
Comment by Shane Arnold [ 2021 Aug 10 ]

See https://developer.connectwise.com/@api/deki/files/872/All.json?origin=mt-web as an example.





[ZBXNEXT-4409] Allow setting case-sensitivity of "search" in API get method Created: 2018 Mar 06  Updated: 2018 Mar 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.0.0alpha4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: dimir Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix API get methods support "search" parameter. After noticing that it's case-insensitive (even on the database with correct collation) I went to see the documentation and could not find anything about case-sensitivity of search parameter.

It would be great to be able to set case-sensitivity in request.

Currently the search is case-insensitive:

Request:

{
	"auth": "bcf8d7b269174169777db7647c9e3e1c",
	"id": 2,
	"jsonrpc": "2.0",
	"method": "hostgroup.get",
	"params": {
		"search": {
			"name": "dev"
		},
		"selectHosts": ["host"]
	}
}

Response:

{
	"jsonrpc": "2.0",
	"result": [{
		"groupid": "9",
		"name": "Templates/Network Devices",
		"internal": "0",
		"flags": "0",
		"hosts": []
	}],
	"id": 2
}

SQL generated from request:

SELECT g.* FROM groups g WHERE ( (  UPPER(g.name)  LIKE '%DEV%' ESCAPE '!' ) )


 Comments   
Comment by dimir [ 2018 Mar 06 ]

Derived from ZBX-13577, case-sensitivity not documented.

Comment by dimir [ 2018 Mar 06 ]

Workaround if case-sensitive search is required: run through returned results and filter out non-matching entries.





[ZBXNEXT-4798] Separate media types into different tables Created: 2018 Oct 08  Updated: 2018 Oct 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 4.0.0
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Valdis Murzins Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: mediatypes
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Different media types have different configuration fields that they use. Each such field uses one column in media types table. And already now we have columns that are used exclusively for one of media types, while is left empty for other. The number of unused fields will increase even more, when new media types will be added.

As a solution would be to have separate tables for different media types.



 Comments   
Comment by richlv [ 2018 Oct 08 ]

What would be the gain there?
If there is a notable gain, wouldn't items need it more, given how many fields are specific only for some item types?

Comment by Valdis Murzins [ 2018 Oct 09 ]

Thank you, richlv, you made the correct point.
I will leave this task to investigate the best solution and to prepare media types table for new media types with different configuration fields.





[ZBXNEXT-4563] Ability to list inherited macros and values in host.get Created: 2018 May 23  Updated: 2022 Jun 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.17
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 5
Labels: host.get, usermacros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-7818 Getting the Users Macros for a host Closed

 Description   

This is basically a follow up for the UI feature proposed and implemented in ZBXNEXT-210.

We can now easily identify which user macros and values are applied to a host via template inheritance in the UI.

When using the host.get API call we can use SelectMacros to retrieve macros that are defined on the host, however it is not possible to easily find which macros are applied via template inheritance. This would be very useful to determine if a macro needs to be set with a specific value or if the inherited value will suffice.

In the current situation we need to resolve linked templates and retrieve macros on each level, which is very costly.






[ZBXNEXT-4018] support "is online"/last login/session info for user.get Created: 2017 Aug 03  Updated: 2017 Aug 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.4.0beta1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: user.get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

user.get api does not seem to support all the capabilities frontend has - specifically, "is online?" column is populated from the session data and in trunk r70896, there's a direct sql query in users.php:437 :

$dbSessions = DBselect(
                'SELECT s.userid,MAX(s.lastaccess) AS lastaccess,s.status'.
                ' FROM sessions s'.
                ' WHERE '.dbConditionInt('s.userid', zbx_objectValues($data['users'], 'userid')).
                ' GROUP BY s.userid,s.status'
        );

it would be useful to expose this in the api






[ZBXNEXT-4104] Create API method for retrieving template XML (e.g. template.export) Created: 2017 Sep 14  Updated: 2019 Feb 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.2.6, 3.2.7, 3.2.8
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Charles Inglese Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The user-facing front-end employs a templates.php page to support exporting a Zabbix template in XML format, however, the JSON RPC API does not offer the equivalent functionality. It would be tremendously helpful if a template.export in JSON RPC API (api_jsonrpc.php) method were added which performed the same logic and returned a deserialized object.

When using configuration management frameworks such as Puppet or Chef, it is important to be aware of state, and currently, there is no good way of returning the source XML object that was ingested into Zabbix (e.g. via configuration.import or WebUI), as configuration.export does not return the same XML representation as what was ingested.



 Comments   
Comment by Charles Inglese [ 2017 Sep 14 ]

Reference: https://www.zabbix.com/documentation/3.2/manual/xml_export_import

Comment by richlv [ 2019 Feb 21 ]

The configuration.export method supports a format parameter at least since Zabbix 2.0, and this parameter allows to choose between XML and JSON (this is also the easiest way to obtain templates in JSON format that Ansible needs).

Could you please clarify what is the concern here?





[ZBXNEXT-5246] A new API for analyzing the zabbix queue Created: 2019 May 29  Updated: 2019 May 29

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Andrea Biscuola Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: api, debugging, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

A lot of times, it happen that we need to analyze more than 500 items in the zabbix queue and the current page, is limiting when dealing with global scale issues.

Working with the support, it happen that there is no standardized way and no defined knowledge/procedure, for how to extract, in a parseable form, which items, related to which hosts, are stuck in the queue.

It would be nice if an API in the form "zabbix.queue" or "proxy.queue" could be provided, where the detail, of every single delayed item (itemid, hostid, key and name) can be fetched from the database without resorting to some magic, one shot, query.



 Comments   
Comment by Andrea Biscuola [ 2019 May 29 ]

If required, I could help identifying eventual design needs for this.





[ZBXNEXT-4764] Zabbix host create / update allows duplicate interface definitions Created: 2017 Aug 16  Updated: 2018 Oct 09

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 3.4.14, 4.0.0rc1
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: James Cook Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Microsoft Word Example Duplicate interface.docx     PNG File pic.png    

 Description   

When creating or updating a host you can specify multiple interfaces with the same details and can cause confusion as to which interface is actually being used. This should be restricted through the api and database constraints to prevent this from occurring.

I have attached a screen shot for your viewing.



 Comments   
Comment by Rostislav Palivoda [ 2017 Aug 16 ]

Screen shot missed.

Comment by James Cook [ 2017 Aug 21 ]

I have attached the screen shot of the example

Comment by Valdis Murzins [ 2018 Oct 09 ]

With ability to save 2 identical interfaces we are covering following use case:
Host have one agent, that can be accessed by internal IP and by external IP. Normally you are collecting data from both interfaces. But at some moments, you may want to switch all host items to same interface (for example for the time of maintenance). In this case you can make interfaces same for this time, and then change them back without much work.

But you are right, that it may be hard to distinguish identical interfaces in item configuration. So I would suggest to keep this task, but with purpose to make even identical interfaces distinguishable.





[ZBXNEXT-3352] customize created LLD trigger severity based on a filter Created: 2016 Jul 27  Updated: 2020 Mar 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Васильченко Антон Сергеевич Assignee: Unassigned
Resolution: Unresolved Votes: 12
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-3035 Ability to filter LLD triggers creati... Closed

 Description   

Create triggers by using a filter, like LLD rule.

To make choose to create trigger, or not. Or choose trigger severity

Example:

{
  "data":[
  { "{#FSNAME}":"/",                           "{#FSTYPE}":"rootfs"   },
  { "{#FSNAME}":"/sys",                        "{#FSTYPE}":"sysfs"    },
  { "{#FSNAME}":"/proc",                       "{#FSTYPE}":"proc"     },
  { "{#FSNAME}":"/dev",                        "{#FSTYPE}":"devtmpfs" },
  { "{#FSNAME}":"/dev/pts",                    "{#FSTYPE}":"devpts"   },
  { "{#FSNAME}":"/lib/init/rw",                "{#FSTYPE}":"tmpfs"    },
  { "{#FSNAME}":"/dev/shm",                    "{#FSTYPE}":"tmpfs"    },
  { "{#FSNAME}":"/home",                       "{#FSTYPE}":"ext3"     },
  { "{#FSNAME}":"/tmp",                        "{#FSTYPE}":"ext3"     },
  { "{#FSNAME}":"/usr",                        "{#FSTYPE}":"ext3"     },
  { "{#FSNAME}":"/var",                        "{#FSTYPE}":"ext3"     },
  { "{#FSNAME}":"/sys/fs/fuse/connections",    "{#FSTYPE}":"fusectl"  }
  ]
}

Create triggers for all "{#FSNAME}" except "/lib/init/rw,/sys/fs/fuse/connections".

And for all created triggers severity is Averege, except "/home, /tmp", which severity is High.



 Comments   
Comment by richlv [ 2016 Jul 27 ]

lld trigger filtering is a duplicate of ZBXNEXT-3035
customising severities is different, though (and seems to be a bit complex)

Comment by Aleksandrs Saveljevs [ 2016 Aug 01 ]

Updated description to reflect the trigger severity request only.

Comment by Alexei Vladishev [ 2020 Mar 05 ]

It is very much similar to https://support.zabbix.com/browse/ZBXNEXT-3035.

Comment by Alexei Vladishev [ 2020 Mar 05 ]

This functionality will be implemented under https://support.zabbix.com/browse/ZBXNEXT-3035 in 5.0 or 5.2 along with ability to override creation of LLD object and some of their properties (like trigger severity, item interval, host template linkage, etc).





[ZBXNEXT-2979] Log in to Zabbix using OAUTH LOGIN Created: 2015 Sep 22  Updated: 2023 Mar 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Aryel Nouer Ribeiro Assignee: Unassigned
Resolution: Unresolved Votes: 52
Labels: authentication, oauth
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate
is duplicated by ZBX-15429 Email alerts are failed in zabbix wit... Closed
Sub-task
part of ZBXNEXT-1390 user auto creation if authentication ... Closed

 Description   

I would suggest the possibility of holding OAuth login by GMAIL account, Google Plus etc.
This feature, greatly facilitate the platform management work in large companies and management teams.



 Comments   
Comment by richlv [ 2015 Sep 22 ]

probably depends on ZBXNEXT-1390

Comment by Alexander Moskalev [ 2017 Nov 27 ]

It was 2017. No OAuth support.

Comment by YuriyS [ 2018 Feb 07 ]

It was 2018. Private aerospace companies launches heavy reusable rockets with electrovehicles to Mars orbit. And... Still no OAuth support.

Comment by Sergey Ignatov [ 2018 Aug 25 ]

https://gist.github.com/sergeyignatov/0228aa61e808bd830e63076e273e9fc9

Comment by Eugene [ 2019 Aug 25 ]

Guys,

Any plans to support oauth in general and google auth in particular? I used the link above to implement a workaround. It's really a workaround since there is no auto sign up of authenticated users. Also it took literally days to understand and implement it properly. Something that I did in Grafana in a matter of minutes.
Zabbix starts to look "dated"  

Comment by Eugene [ 2019 Aug 25 ]

+1

Comment by dimir [ 2022 Jun 09 ]

Related issue ZBX-21187

Comment by Robson Maniasso [ 2022 Jul 29 ]

looking for an update about oauth authentication, it´s been 7 years since this request was created and seems no plans to implement this feature...

Comment by Patxi [ 2022 Sep 08 ]

Deprecation of Basic authentication in Exchange Online is comming!

Comment by Jay Campey [ 2022 Sep 09 ]

October 1, 2022

(tick tock, tick tock)  Since this appears to be less of a feature request and more of a "misery loves company" thread, I'd be interested to know if anyone else has devised a workaround for this, or did you just say to heck with it and deploy your own postfix server?

Comment by Alex [ 2022 Sep 09 ]

Between zabbix and oauth provider you can install keycloak. This solution some users already described. Or use self created api-gateway for auth.

Comment by Nathan Liefting [ 2023 Mar 15 ]

Media types are also depended on the oAuth support being added, as such I would like to bump this ticket and I have provided some additional info here: ZBX-21187





[ZBXNEXT-3074] support filtering expanded trigger expression in API Created: 2015 Dec 15  Updated: 2015 Dec 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.11, 2.4.7
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Kodai Terashima Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, expressions, trigger
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

"filter" and "search" parameter doesn't work with expandExpression. these filtering parameters affect only not-expanded expression.






[ZBXNEXT-5418] Behaviour of map.update Created: 2019 Sep 11  Updated: 2019 Sep 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Mikhail Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: API
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2019-09-11-10-41-08-508.png    

 Description   

Currently, map.update API call, from the looks of it, parses the whole request instead of an individual map. Because of this when updating several maps at once you need to specify unique selemtid placeholder for each selement in the request if you want to preserve links integrity. It would be more logical if placeholder selementids would not leave the scope of a map they are attached to when reassigning selementid placeholders for links.

 

 






[ZBXNEXT-8840] Implement ability to retrieve host count, item count, NVPS with proxy.get API method Created: 2023 Nov 16  Updated: 2023 Nov 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Tomass Janis Bross Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2023-11-16-17-40-23-487.png    
Issue Links:
Duplicate

 Description   

Currently the proxy.get API method does not allow to retrieve information like host count, item count, NVPS:

Please add the ability to retrieve this data.






[ZBXNEXT-8590] Introduce an API rate limiting on the application layer for outbound traffic Created: 2023 Jul 24  Updated: 2023 Jul 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 6.0.19, 7.0.0alpha2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Edgar Akhmetshin Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Introduce an API rate limiting on the application layer for outbound traffic. Distiguish between friendly and not friendly sources and optional on office/non office hours.
 






[ZBXNEXT-8862] Allow ordered application of templates and item overlap Created: 2023 Nov 30  Updated: 2023 Nov 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Packages (C), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Ben Hanson Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When designing templates, the inability to have overlap in certain item config is a frustrating constraint. If templates were modified to represent an ordered list of templates, then items with same name/same key could be applied based on template priority, allowing for more flexible configuration of templates.






[ZBXNEXT-8513] trigger.get API: macros do not expand in the trigger URL Created: 2023 Jun 16  Updated: 2023 Jun 19

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 6.4.3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Yurii Polenok Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 1
Labels: api, macro, trigger.get, triggerurl
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Request:

{
    "jsonrpc": "2.0",
    "method": "trigger.get",
    "params": {
        "triggerids": "1808353",
        "output": [
            "url"
        ]
    },
    "id": 1
} 

Response:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "triggerid": "1808353",
            "url": "{$CONFLUENCE_URL}"
        }
    ],
    "id": 1
} 

Expected:
In the UI on the Problem page the macros in the trigger url expand well, the API should have the same behaviour, either by default or with an additional option (like expandURL) that for some unknown reason wasn't created/was missed, although similar ones are present for the trigger name, description and expression.



 Comments   
Comment by Elina Kuzyutkina (Inactive) [ 2023 Jun 19 ]

Hi,
you are right that there is no parameter to change the output, but it can't be defined as a bug as it is by design. I will go to close this one. You can create ZBXNEXT request with your vision on how it should be.

Regards, Elina





[ZBXNEXT-8414] Zabbix API/DB to support clock and support nanoseconds (ns) for Event Acknowledges Created: 2023 Apr 24  Updated: 2023 Apr 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: James Cook Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix Version: All



 Description   

The ability to support nanoseconds (ns) for event acknowledges would help when you may add multiple event messages within the same second; this would enable the displaying them in the correct order, rather than alphabetical if they are received in the same second.

Along with this it would be useful to be able to specify clock/ns so that you are able to specify the timestamp you may actually want, rather than the time of the api call; this would for example be used when you may have some automation that annotates messages for events.

 






[ZBXNEXT-6260] Improve map.update and map.create API Created: 2020 Oct 15  Updated: 2020 Oct 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Shane Arnold Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

At the moment, it's not "simple" to create a map using the API when you need to create numerous hosts . The API would be much nicer to use if I could just specify an array of objects of "type", being an elementtype;

i.e if I wanted to create a map with hostid "1001","1002", the API should allow me to specify these hostid's as an array. Because the API already asks for elementtype, maybe it could be;

    "method": "map.create",
    "params": {
        "name": "{{Name}}",
        "width": 1920,
        "height": 1080,
        "elements": [
            {
                "host": {
                	"hostid": ["1001","1002"],
			"iconid_off": "151"
		},
                "hostgroup": {
                	"groupid": ["101"],
	                "areatype": 0,
	                "elementsubtype": 1,
                }

 e.t.c

Basically I just want to be able to loop through an output for ids, create an array and then tell zabbix to create that array of hosts. I don't see a need to individually specify iconid in this use case.






[ZBXNEXT-6151] Webscenario item update performance improvement Created: 2020 Aug 20  Updated: 2020 Aug 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Valdis Murzins Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: performance, webscenario
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently webscenario items and their keys in database are containing name of webscenario and name of webstep.
This means that each time, webscenario or it's step's name is updated, we need to update all related items (this is a heavy update, especially if inheritance is taken into account).

This can be avoided, if we will introduce macros for webscenario name and webstep name and replace all webitem names and keys with strings, containing these macros.






[ZBXNEXT-6126] OID in item prototype name Created: 2020 Aug 09  Updated: 2020 Aug 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 5.0.1
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Damon Hagerstrom Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Very specific example:
enterprises.cisco.ciscoMgmt.ciscoProcessMIB.ciscoProcessMIBObjects.cpmCPU.cpmCPUTotalTable.cpmCPUTotalEntry.cpmCPUTotalPhysicalIndex.7 = INTEGER: 131

The VALUE in the above entry is a reference to the INDEX of the item in the entityMIB.

As far as I have been able to determine, there is no way of creating an LLD item which returns:
'{#entPhysicalName}' utilization: {#cpmCPUTotal5sec} %

There are many questions about using OID's in the name field, all of which are easily overcome with proper macro's, this doesn't seem to be the same.

The SNMP indexes are different for the same item.

Cisco templates generally, and those specifically for resources or even for CPU don't have a solution to this issue.






[ZBXNEXT-6032] Allow users to reset their password Created: 2020 Jun 25  Updated: 2020 Jun 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 4.0.21
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be great if users could reset their own password ("forgotten password" functionality).
It would likely send email to all defined email media entries. Would only work for users with internal auth. Others might get an email saying "Your password reset was requested, but <LDAP|HTTP|whatever> is used, blah".






[ZBXNEXT-5842] API function to list data from "Reports" => "Availability report" Created: 2020 Mar 26  Updated: 2020 Mar 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Aigars Kadikis Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

Please create API procedure to list data from "Reports" => "Availability report".






[ZBXNEXT-3013] flexible intervals for web scenarios Created: 2015 Oct 19  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 3.0.0alpha3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 33
Labels: flexibleintervals, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-6259 "Custom Intervals", "Scheduling" and ... Open
is duplicated by ZBXNEXT-3156 Extend Custom Intervals from Items to... Closed

 Description   

items have flexible intervals that allow to poll data during some period of time.
if we wanted to monitor a web page only during working days, that would not be supported. it would be nice to add flexible interval support for web scenarios, too



 Comments   
Comment by richlv [ 2015 Oct 19 ]

current workarounds might involve crontab api calls or using host level maintenance - hackish and non-obvious in both cases





[ZBXNEXT-3427] API wrong message on create user groups Created: 2016 Sep 08  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Daniel Linnartz Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

json request

'{"params": {"gui_access": "0", "users_status": "0", "debug_mode": 0, "name": "omnitracker_managed_users"}, "jsonrpc": "2.0", "method": "Usergroup.create", "auth": "485e3f76ebab4682d7bb31d24bac6e27", "id": 2}'
Answer:
{u'error': {u'code': -32500,
            u'data': u'Only Super Admins can delete user groups.',
            u'message': u'Application error.'}

The message should be: Only Super Admins can create user groups.'



 Comments   
Comment by Ingus Vilnis [ 2016 Sep 08 ]

Hi Daniel,

Thank you for reporting this. Do you want this to be moved to your project or let it be here as a feature request?

Comment by Daniel Linnartz [ 2016 Sep 08 ]

Hi Ingus,

i really don't care. It was just a hint for your development team.

Best Daniel





[ZBXNEXT-3192] Some form of macro value validation required Created: 2016 Mar 15  Updated: 2020 Jun 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: James Cook Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

As macros can be used in such places like trigger expressions it would be nice to provide some form of validation of the macro data to ensure that the values actually in the macro conforms to what is expected.

For example you may have a macro "{$FS_CAPACITY_THRESHOLD_CRIT}" which is used in a trigger expression and if this does not conform to a numeric the trigger expression would break.

A suggested / possible way would be for every macro have a macro data type dropdown (default to string) field containing data types.

When someone enters the value or updates the value of the macro it could do some validation at that point.



 Comments   
Comment by Ryan Armstrong [ 2016 Mar 15 ]

... or better notification if a trigger fails to evaluate.

Comment by Glebs Ivanovskis (Inactive) [ 2017 Jan 20 ]

If we do this "strictly", it will be a huge challenge to keep track of where certain macros are used. Especially in the case when due to trigger update macro is not used as numeric any more and shouldn't be checked to be numeric in macro update forms. But we can do it in the form of "hints". "Hint" will provide information about contexts in which Zabbix has spotted the macro and whether macro value fulfills syntax requirements for these contexts. Since "hints" may not be up-to-date (for simplicity, Zabbix will only add them and never remove), user should be able to edit them manually and override them if desired.

Comment by James Cook [ 2017 Jun 29 ]

Hi Glebs,

Thanks for the feedback.

I would think the following may apply to my thoughts:

  • The macro validation would only be configured on the parent macro only and not on inherited macros as they would only allow you to change the inherited macro contents.
  • The macro validation would only be evaluated when the parent macro or inherited macro contents are updated.
  • By default every macro would have no validation and allow any text for the macro contents (this may avoid being strick and allows for opt in)
  • The validation could be specific options that can be selected such examples as "integer->range|min|max", "boolean", "string->length|regex|set|interval" etc... (This will allow zabbix to build on validations as required and maintain some form of control)

I guess however the logic is that determines whether the macro is inherited or not would have to carry over the validation from the parent macro and not allow this to change for the child macro? This may require a schema change to identify macros and inherited macros as two separate objects?

Where this comes in handy it will avoid triggers failing when macros are used, item collection having problems when macros are used for intervals etc...

I see macros and regular expressions (see ZBXNEXT-3571) will fundamentally improve the flexibility and how Zabbix works in large environments at scale where you only want to change "data" to differentiate the outcome rather than configuration like "triggers" for servers etc...

I think hints may be a start however if the above can be considered I would think this feature would allow for some serious usage by the community.

Regards
James

Comment by James Cook [ 2020 Jun 30 ]

Hi Glebs,

Its been a while .... Any ideas about implementing this.

This will become super handy for Zabbix admins to configure the templates with macros + validation (regex or something) and allowing non-Zabbix admins to update the values of inherited macros on profiles/classes or hosts where the parent macros validation from the template is always checked.

Adding the setting to allow for parent macros to be read only or writable would also be a bonus.

This way we could design templates where only threshold macros could be modified and validation would be present to ensure correctness.





[ZBXNEXT-3127] 'nextcheck' field for web scenarios is not updated after delay changes Created: 2016 Feb 02  Updated: 2017 Jun 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 3.0.0beta2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Ivan Good Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Dear all,

httptest table contains a field nextcheck, which controls the next time of execution. If the delay of a check gets modified (API or WebUI), the nextcheck remains the same. Only after the next scheduled run the new value is calculated according to the recently adjusted interval.

Normally it is just fine and does not bother anyone. But troubles appear when the delay gets decreased significantly, e.g. from 3600 to 30 seconds. The new frequency starts working only after the whole hour of waiting.

I propose to change this behavior and set nextcheck to NOW()+delay on delay configuration changes

Kind regards,
Ivan



 Comments   
Comment by Aleksandrs Saveljevs [ 2016 Feb 02 ]

It may also be a good idea to add Web scenarios to Zabbix server's configuration cache and remove nextcheck field from the database.

Comment by richlv [ 2016 Feb 02 ]

ignoring interval reduction seems like a bug to me - if i set interval to the max value, will it take ages before scenario works again ?

adding scenarios to the config cache has been considered for a very long time. the bug part could be fixed more easily - should this issue be moved to zbx project instead ?

Comment by Aleksandrs Saveljevs [ 2016 Feb 03 ]

We discussed this and decided that the issue is not urgent - it existed forever and was only reported in 2016. Also, the same problem seems to apply to network discovery and escalations.

Comment by richlv [ 2016 Jun 17 ]

ZBX-10906 is related

Comment by Glebs Ivanovskis (Inactive) [ 2016 Dec 27 ]

Seems like this problem does not affect network discovery because of a more sophisticated SQL in process_discovery():

(r.nextcheck<=now or r.nextcheck>now+r.delay)

Looks trivial. My suggestion is to downgrade this issue to ZBX and apply a similar fix in process_httptests().

Comment by Glebs Ivanovskis (Inactive) [ 2017 Jun 13 ]

After ZBXNEXT-1675 any change in web scenario or network discovery results in resetting nextcheck to 0 by frontend/API, meaning that server/proxy will pick it up for processing ASAP. But if a macro is used in these fields and it changes value, unfortunately, this can't be tracked down.





[ZBXNEXT-3104] Add support for host status changes to internal events Created: 2016 Jan 20  Updated: 2016 Feb 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: hoststatus, internalevents, maintenance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3151 add internal events when maintenance ... Closed

 Description   

Inclusion of host based internal events like the following:

  • Host added
  • Host enabled
  • Host disabled
  • Host deleted
  • Host in maintenance
  • Host out of maintenance

Would be useful for us to notify Zabbix admins on.



 Comments   
Comment by richlv [ 2016 Jan 20 ]

maintenance part seems to be a duplicate of ZBXNEXT-2141





[ZBXNEXT-3059] specify "old key" in the xml file Created: 2015 Nov 30  Updated: 2016 Jan 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 3.0.0alpha3
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: import, xml
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

there is a way to delete entities that do not exist in the xml file upon import. unfortunately, if item key is changed, all history is lost. similarly, if trigger name or expression is changed, events for that trigger are lost.

it might be useful to allow specifying one or more "old keys", "old names" and "old expressions". that way users could keep on importing templates that change these entities, and keep all the history. especially nice with the default zabbix templates, like the internal monitoring one.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Dec 01 ]

A bit not related but one of real case - upgrade 2.0 installation to 2.4.
Import new 2.4 "zabbix server app" template to update existing one.
Existing items had quotes for key parameters, items in template are without quotes.

To resolve that I had to manually remove quotes in keys (~10 items) in existing template, only then import.
That's annoying as I had to do that already several times

Comment by richlv [ 2016 Jan 22 ]

ZBXNEXT-3111 is somewhat similar - asks for specifying "old" value for lld





[ZBXNEXT-2934] Host group 'visible name' Created: 2015 Aug 31  Updated: 2019 Oct 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: hostgroups, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Since version 2.0 we have the possibility to define a 'technical' and a 'visible' hostname for a host.
I suggest we use the same scheme for naming host groups.

This way we can use the 'technical' host group name for integration with various systems using the technical name (i.e. CUST-GR1) while retaining user readability by setting the visible name (i.e. Customer - Group 1').

Behavior should be the same as with hostnames.



 Comments   
Comment by richlv [ 2015 Aug 31 ]

group names do not have a technical meaning in zabbix like hostnames do (matching/identifying the host) - would it be worth implementing this complexity in zabbix ? wouldn't it be better to use such matching in the integration layer instead ?

Comment by Raymond Kuiper [ 2015 Aug 31 ]

Group names can be used in various Zabbix locations (actions, usergroup permissions, etc.) So it would be beneficial to match these with an internal naming/numbering convention to keep the system nice and tidy. To add some better readabilty for humans working in the frontend, the visible name would be useful.

Comment by Kirill Varnakov [ 2019 Oct 17 ]

+100500





[ZBXNEXT-1417] remote wmi from server/proxy Created: 2012 Sep 10  Updated: 2024 Feb 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Documentation (D), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: agentless, windows, wmi
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

remote wmi support from server/proxy might be useful.
ZBXNEXT-836 deals with wmi on the agent



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Oct 03 ]

Some interesting links for agent-less WMI monitoring solutions:
http://honglus.blogspot.com/2010/12/zabbix-vs-zenoss.html
http://www.mikepalmer.net/tag/wmi/
http://pkgs.org/centos-6-rhel-6/atomic-x86_64/wmi-1.3.14-2.el6.art.x86_64.rpm.html
http://www.zabbix.com/forum/showthread.php?t=10770

http://semafour.wordpress.com/2010/02/17/compiling-wmic-for-linux-without-installing-samba/
add "ZENHOME= /usr"
comment "USE_BREAKPAD = 1"

http://pzolee.blogs.balabit.com/2010/09/wmi-client-for-linux/

Comment by Mickael Martin (Cyres) [ 2024 Feb 22 ]

Hello,

Another updated solution https://github.com/greenbone/openvas-smb/tree/main/wmi





[ZBXNEXT-1273] new API Event acknowledge method - user account parameter Created: 2012 Jun 15  Updated: 2018 Mar 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Kodai Terashima Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 2
Labels: api, permissions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice to allow a super-admin account using the API to assign a particular user account as the person who acknowledged the event.

We use a separate web interface for managing alarms. This interface displays who acknowledged the event and gives users the ability to acknowledge new events. We currently make this work with Zabbix using a custom script that updates the events table directly.

New Parameter:
name: userid
type: int
Optional: yes
Description: assign userid as acknowledger
Detail: Only available for super-admin accounts



 Comments   
Comment by richlv [ 2018 Mar 07 ]

we're inserting user in the comment in a special format. this makes parsing/reporting on it a bit more complicated, though.





[ZBXNEXT-1252] Integration of Zabbix API - PHP Class into zabbix release Created: 2012 Jun 05  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: rrr Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 1
Labels: api, class, php
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The development of the existing third party Zabbix 1.8 API PHP Class v1.0 (found at http://andrewfarley.com/php/zabbix-1-8-api-php-class-v1-0) doesn't seem to been continued. It would be great if a api php-class would be integrated into zabbix releases.



 Comments   
Comment by Domi Barton [ 2012 Aug 21 ]

I've digged into the source code of the Zabbix 2.0 PHP API sources / PHP classes this weekend and I might have some good news.

After hours of work I've built a new PHP library AND a builder for the library.
The builder is compiling the whole library directly from the Zabbix PHP API sources / classes, which means it should always match the standards of the "real API".

The builder is currently writing a PHP class, but in fact it could write a class for any kind of script / programming language.

Check it out yourself: http://zabbixapi.confirm.ch/

@official Zabbix guys: Is it possible to link to the API in the documentation / appendix?

Comment by richlv [ 2012 Aug 21 ]

hmm, would it be possible to document it in the wiki at zabbix.org ?





[ZBXNEXT-3000] Expand Value Maps in history.get Created: 2015 Oct 07  Updated: 2015 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 3.0.0alpha2
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: valuemapping
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

ZBXNEXT-1424 implements the possibility to read, create and adjust valuemaps via the API.

It would be logical to now have history.get output value mapped information as well.

My suggestion is the following solution:

We should be able to set a flag on the history.get call, expandValueMap feels logical to me.

{
    "jsonrpc": "2.0",
    "method": "history.get",
    "params": {
        "output": "extend",
        "history": 3,
        "itemids": "23296",
        "sortfield": "clock",
        "sortorder": "DESC",
        "limit": 1,
        "expandValueMap": 1
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

The output would look something like this then:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "itemid": "23296",
            "clock": "1351090456",
            "value": "5",
            "mappedvalue": "Some string representing this value",
            "ns": "435307141"
        }
    ],
    "id": 1
}


 Comments   
Comment by Oleksii Zagorskyi [ 2015 Oct 08 ]

3000 - nice catch





[ZBXNEXT-1547] additional trigger dependency calculation algorithms Created: 2012 Dec 13  Updated: 2024 Feb 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 18
Labels: triggerdependencies, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zbx_dependency_relationship_backend.patch     File zbx_dependency_relationship_frontend.patch    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-3181 Allow selecting condition between dep... Closed

 Description   

currently a trigger that depends in several other triggers is "muted" if one of those triggers fires. a more fine grained control would be desirable.
for example, there could be 3 options :

a) OR (works as the current implementation - mutes if any one trigger fires)
b) AND (mutes only when all triggers have fired)
c) % (mutes if more than n% of triggers have fired)



 Comments   
Comment by Marc [ 2012 Dec 14 ]

Maybe in a similar way conditions are defined for actions.
d) AND/OR

<richlv> hmm, in action conditions we have condition types that can be used to determine and/or. how should it work in trigger deps ?

Comment by Volker Fröhlich [ 2013 Mar 01 ]

Loosely connected to ZBXNEXT-1461

Comment by Gustavo Moura de Sousa [ 2013 Mar 18 ]

I would like to have this feature implemente too.
I would be very usefull.

Comment by diana vasconcelos [ 2013 Mar 20 ]

yes it would be very useful to have the possibility to configure relationships between dependancy.

Comment by Benjamin Gronvall [ 2013 Dec 23 ]

I would love this to be implemented on priority. There are several instances in my networking infrastructure where this would provide greater monitoring flexibility.

Comment by Gustavo Moura de Sousa [ 2015 Aug 20 ]

Today if a host depends on two hosts, but only if botth are down, we have to generate a third trigger.
It will be nice if we could configure dependency between hosts as
https://support.zabbix.com/browse/ZBXNEXT-46

Comment by Kevin Daudt [ 2016 Jul 26 ]

I've attached that partially implement this.

Included:

  • Server side changes to check the dependency relationship
  • Frontend-changes to change the relationship

Missing:

  • API changes to take the relationship into account for the front-end. The current code is not recursive, making it harder to check this relationship recursively.
  • Setting the amount of dependencies. Only AND/OR.

Feedback would be appreciated.

Comment by Alexei Vladishev [ 2016 Aug 03 ]

Thanks for the patch! I like the functionality however it's not clear if it will be integrated into Zabbix or not. We are evaluating different options of simplifying management of dependencies and still not sure what might be the best implementation.

Comment by Kevin Daudt [ 2016 Aug 04 ]

Thanks. I'm curious to see any improvements to dependency management.





[ZBXNEXT-1097] API doesn't support nested operations Created: 2012 Jan 30  Updated: 2014 Dec 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 1.9.8 (beta)
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Timo A. Hummel Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: API
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

When using the API, it is not possible to do nested operations.

For example, when creating a template, it is not possible to pass a list of items to directly create with the template. Such an operation currently always requires two (or more) separate API calls.

This is a low-priority suggestion and can probably only solved as soon as an entity model exists.



 Comments   
Comment by Timo A. Hummel [ 2012 Jan 30 ]

It might be worth to note that I am using a serialize/deserialize approach on PartKeepr, which supports any level of inheritance for passed data. If interested, I can give out a few implementation details and philosophies.





[ZBXNEXT-2839] Retrieve list of available inventory fields from the API Created: 2015 Jun 04  Updated: 2015 Jun 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.9, 2.4.5
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: inventory
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I'd like to be able to retrieve a list of supported inventory fields from the API, I have been unable to find a method or object for this. They are in the docs but I would like to query them at run time as I would like to avoid the need for hardcoding them as they might change in later versions of Zabbix.

Perhaps this can be part of the API info class?



 Comments   
Comment by Marc [ 2015 Jun 04 ]

ZBXNEXT-336 should probably be implemented first

Comment by Raymond Kuiper [ 2015 Jun 04 ]

Not necessarily, although I see the relation. I'd say it's nice to have now and mandatory if ZBXNEXT-336 will be implemented.





[ZBXNEXT-2848] Add the application parameter to the itemprototype get method Created: 2015 Jun 11  Updated: 2015 Jun 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.5.0
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Volker Fröhlich Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, applications, itemprototype
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

itemprototype.get does not offer the application parameter that you can find in item.get. I think this is technically possible and would be useful for ZBXNEXT-2845.






[ZBXNEXT-1685] Support of NuoDB as database backend Created: 2013 Mar 23  Updated: 2013 Mar 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: database, newtechnology, nuodb
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I've seen some presentations and case studies about respectively with NuoDB.
There seem to be a potential to raise to a de-facto standard for relational cloud databases.
I have seen nothing comparable to date.

This ticket is meant to attract attention that there might be another relational SQL based database out there that promises:

  • 100% SQL
  • 100% ACID
  • Elastic Scalability
  • Built-in Redundancy
  • Multi-Tenancy
  • Auto Replication
  • Easy Administration
  • Built-in Security
  • Heterogeneous Deployment

Find lots more information on the NuoDB website:
http://www.nuodb.com/

Feel free to close this ticket if that kind of technology is out of question in connection with Zabbix.



 Comments   
Comment by richlv [ 2013 Mar 23 ]

for the record, it's a proprietary solution





[ZBXNEXT-2555] New trigger function to determine number of value in history, matching a regexp Created: 2014 Oct 31  Updated: 2014 Nov 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Filipp Sudanov (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: triggerfunctions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Paricular user's case:

We have a program, that produces a log file. When this program starts, it writes START into that log, when it finishes - FINISH. We need a trigger, that would trigger, if withing 5 minutes after START there is no FINISH.
Currently we do not have any trigger function, that would help us to determine, which text is the last in the log - START or FINISH.

A new proposed function could be simular to already existing "count" function. It should return how many values ago was the last value that matches a given regex. It returns sequence number from history's end - it will be different on each trigger calculation.
This way we can compare two such functions in a trigger expression and find out, which was the last - START of FINISH.



 Comments   
Comment by richlv [ 2014 Oct 31 ]

this might be solved by ZBXNEXT-2045 - you would get unix timestamps for start & finish, and compare them in the trigger expression.
would that solve this usecase ?

Comment by Filipp Sudanov (Inactive) [ 2014 Nov 03 ]

I think ZBXNEXT-2045 won't solve this usecase reliably. The task is to determine the sequence of item values. If two values would arrive at the same second, this won't help to determine their sequence.

Comment by richlv [ 2014 Nov 03 ]

good point - maybe we should include nanoseconds somehow there





[ZBXNEXT-5074] allow time periods to cross midnight Created: 2019 Feb 27  Updated: 2019 Mar 15

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 4.0.5
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently time periods cannot cross midnight (or cannot traverse the border between two days) in, for example, action conditions. While 08:00-20:00 works, 20:00-08:00 is not accepted.



 Comments   
Comment by Aleksejs Petrovs [ 2019 Feb 27 ]

Hello Rich,

Do you mean Media settings for the User or Custom Intervals?

Regards,
Aleksejs!

Comment by richlv [ 2019 Feb 27 ]

One example is the mentioned action conditions, but other places - like user media, working time, custom intervals etc - might be affected as well.

Comment by Glebs Ivanovskis [ 2019 Feb 27 ]

Here is relevant documentation piece, for the reference.

richlv, what would "1-5,20:00-08:00" mean? Will it include 20:00-24:00 on Sunday or 00:00-08:00 on Saturday? Or both? Or none of it?

I think there are multiple equally logical interpretations and choosing one to implement will be completely arbitrary. Hence it will be very tricky to tell for sure what such midnight-crossing-interval means without consulting with documentation. Which ultimately makes Zabbix configuration less intuitive.

Comment by richlv [ 2019 Feb 27 ]

While it would be somewhat arbitrary, it would be a very useful feature. Other products implement such a feature, and it seems to be well received.

In our specific usecase, it's more obvious - 1-7,20:00-08:00. Not much ambiguity there. In case of the 1-5 example, a simple rule might be the best - for example, saying that day range is matched against the starting edge of the time period. Thus this example would have the first time period start on Monday, 20:00, and the last one on Friday, 20:00.

As for the need to consult documentation, that could be improved by adding the "helper icons" with useful tooltips (mentioned in ZBXNEXT-130). Those tooltips could even have formatting with links to the full manual, as mentioned in ZBXNEXT-2668... But that is a completely separate improvement

Comment by Glebs Ivanovskis [ 2019 Feb 27 ]

Other products implement such a feature, and it seems to be well received.

Would be interesting to see syntax examples. It seems that even almighty ISO 8601 does not cover this case. There is a short notation like "2007-12-14T13:30/15:30" which does not need to specify full date for interval end, but as soon it is another day, you will need to specify day too: "2007-11-13T09:00/15T17:00".

I would be fine if we could specify somehow that end time is the next day, e.g. "1-5,20:00-(+1)08:00". This is explicit (hence allows validation that end > start) and more or less intuitive. But looks ugly.

Comment by richlv [ 2019 Feb 27 ]

Would be interesting to see syntax examples.

Once case I can check now does not use a single field (at least not in the UI), it just has input fields for from/to, and there is no indication or requirement to specify that it is on the next day.

Comment by Glebs Ivanovskis [ 2019 Feb 27 ]

By the way, ZBXNEXT-3636 is somewhat related.





[ZBXNEXT-2554] Provide an API option to obtain dependent triggers for trigger.get() Created: 2014 Oct 31  Updated: 2016 Nov 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.5.0
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Volker Fröhlich Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: patch, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zabbix-2.2.5-trigger-get-selectdependent.patch     File zabbix-3.0.4-trigger-get-selectdependent.patch    

 Description   

While selectDependencies allows to obtain triggers the given trigger depends on, the reverse operation is not supported by the API.

Application:

I'm using a couple of purely time-dependent triggers to mask particular backup windows, following the approach I described in http://blog.zabbix.com/a-workaround-for-trigger-based-maintenance/1527/. It's difficult to find all triggers that depend on it.

I wrote a quick implementation, that should be fairly efficient. It introduces a new option called selectDependent, which behaves analogue to selectDependencies. It is capable of returning triggers that directly depend on the given trigger.

My actual goal is to create ad-hoc dependency graphs. Creating greater trees requires as many API invocations as there are tiers of dependency.






[ZBXNEXT-2342] Create a nextcheck for LLD items (api and frontend) Created: 2014 Jun 11  Updated: 2014 Jun 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Filipe Paternot Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: api, scheduling
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Like network discovery has an "nextcheck" option, it is interesting to have the same option for LLD checks.

It would be nice to expose it on the frontend. Show if its running/sleeping might be interesting too.



 Comments   
Comment by Oleksii Zagorskyi [ 2014 Jun 11 ]

You created this issue similarly to ZBXNEXT-2341

But here is a difference:
I'd agree that show "nextcheck" value in frontend for LLD discovery rules could be useful.
But I don't see any sense to show its "running/sleeping" state because LLD discovery rules (comparing with network discovery) usually work enough fast.

Also, actually LLD discovery rules are items.
So what to do with regular items?
Show "nextcheck" value in frontend as well?

Comment by Filipe Paternot [ 2014 Jun 11 ]

Yes you got a point there about how fast the LLD usually runs so, showing if its running/sleeping is actually pointless, in most cases, at least. Even when some might have LLD rules that discover a couple thousand itens.

I was thinking about the lld rules itself, not the items prototypes nor regular items.

Now that you raised that question, perhaps we could use that field to display few things, depending on the item type:

  • When an unsupported item will be checked again
  • The next pooling time, for a supported item
  • The next time an lld rule will be executed

It would certainly be of great help to display that on the frontend.





[ZBXNEXT-2341] Show nextcheck and status from network discovery rules Created: 2014 Jun 11  Updated: 2014 Jun 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Filipe Paternot Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: networkdiscovery
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice to expose on the frontend the next run time (nextcheck) for the network discovery. Show an status if its running/sleeping is good too.

The nextcheck is already avaiable on the API. The current status value does not exist yet.

An idea for the frontend would be to show an icon pretty much the same way the status ok/error does, with an label with the next run. The icon would be green for running, blue for sleeping..



 Comments   
Comment by Oleksii Zagorskyi [ 2014 Jun 11 ]

See also ZBXNEXT-2077 - it asks to show a time which discovery took.





[ZBXNEXT-1850] resolve trigger dependencies on hosts only Created: 2013 Jul 22  Updated: 2015 Jun 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Server (S)
Affects Version/s: 2.0.4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dmitry Samsonov Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: nested, templatelinking, triggerdependencies
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File zabbix_dependencies_problem.jpg    

 Description   

Hello!
We have few levels of templates and some problems adding trigger dependencies between them:
template hostsA linked to template "pci slots" linked to template "ethernet controllers"
template hostsA linked to template "server alive"
template hostsB linked to template "server alive"
template "ethernet controllers" has trigger that should be dependent to trigger in template "server alive"

When I add such dependency I get error: Not all templates are linked to "pci slots".

Is it a bug or am I doing something wrong?



 Comments   
Comment by Oleksii Zagorskyi [ 2013 Jul 23 ]

See:
https://www.zabbix.org/wiki/Docs/specs/ZBX-4333
ZBX-4333
and try to estimate your attempt again.

After reading issue description I'm not sure I can understand correctly template linkage

Comment by Dmitry Samsonov [ 2013 Jul 23 ]

I can't see any inconsistency with documentation and specification you have provoded, but it still fails.
I will try to add image like in zabbix specs.

Comment by Dmitry Samsonov [ 2013 Jul 23 ]

Red arrow on the image is the trigger I am trying to add:

Comment by richlv [ 2013 Jul 24 ]

this is not possible as "template pci slots" would have trigger t2 that would depend on trigger t1 from "template server alive", but "template pci slots" is not linked to "template server alive", thus you would get a dependency on a non-existent trigger.

seems to work as expected

Comment by Dmitry Samsonov [ 2013 Jul 24 ]

If we remove template "pci slots" (and link "ethernet controllers" directly to "HostsA"), then I can create dependency from template "ethernet controllers" to template "server alive", but they also are not linked.
It is possible just because thay are templates and if we will try to link template "ethernet controllers" (in simplified scheme without template "pci slots") to host, then we would get error "Trigger in template ethernet controllers has dependency with trigger in template server alive".

To conclude: 1-level templates may have trigger with dependency to any other not linked template, but 2 level templates may not.

Seems to be wrong, isn't it?

Comment by richlv [ 2013 Jul 24 ]

no, that seems to be correct. in that case both "template ethernet controllers" and "template server alive" are linked to "template HostsA", and trigger dependency has the trigger to rely on.

think about it this way - if t2 on "template pci slots" ends up depending on t1... there is no t1 on "template pci slots"

Comment by Dmitry Samsonov [ 2013 Jul 24 ]

think about it this way - if t2 on "template pci slots" ends up depending on t1... there is no t1 on "template pci slots"

Why is it a problem? It's just a template, just as "ethernet controllers".
Template "ethernet controllers" also has trigger t2 depending on t1 and there is no t1 on that template.

It is normal to deny to add hosts to just one template if there are triggers with dependencies to another templates. But templates do not count triggers, so why it should be a problem to have templates with just a half of dependency?

Comment by richlv [ 2013 Jul 24 ]

"template ethernet controllers" is the originating template for t1. anything linked to it must have all dependencies, too - that would be t1 in this case.

it does not matter whether it is template or host, it's a configuration data consistency question, nothing to do with trigger evaluation etc

when we link something to a template which has a dep to another template, we resolve that dependency locally, which is not possible in this case

Comment by Dmitry Samsonov [ 2013 Jul 25 ]

I don's see any reasons to resolve that dependency locally for templates, because we already has inconsistent dependency in template "ethernet controllers" for example.
Don't you think so?

Comment by Dmitry Samsonov [ 2013 Aug 05 ]

Will this report be considered as problem?

Comment by richlv [ 2013 Aug 05 ]

theoretically, we could consider trigger dependencies only when resolving them on hosts and ignore while we are still in templates.
there might be unintended consequences, though - this should be carefully evaluated and tested (both frontend and server changes will be required).
for now it works as designed -> moving this to feature requests

Comment by Dmitry Samsonov [ 2013 Aug 05 ]

Thank you.

Comment by George Machitidze [ 2014 Mar 22 ]

This is REALLY annoying and VERY useful thing - there are many services that depend on each-other and we don't want to create separate templates for all hosts and copy everything we need just to make triggers work.

Possible solution is to:
1. allow creation of triggers, warn if linked element/target doesn't exist
2. disable trigger if linked element doesn't exist
3. warn user upon deletion of linked element and disable trigger
4. warn user upon creation of linked element which will be used by trigger
5. renaming template must not break links - i.e. use template IDs instead of names (back)

Comment by Janne Korkkula [ 2014 Nov 14 ]

I agree. The simplest case: almost all of our hosts have a basic template linked which includes the icmppingsec simple check and an appropriate trigger. We'd like to depend on that trigger for other checks. This cannot be done, neither is there any useable workaround, because:
Item "icmppingsec" already exists on "host", inherited from another template. There are many other cases, this is just a simple example.





[ZBXNEXT-2381] too frequent updates of sessions table Created: 2014 Jul 11  Updated: 2015 Dec 10

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Alberto Díaz Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: database, performance, sessions, update
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

LAMP



 Description   

From my db log:
UPDATE sessions SET lastaccess=1405069441 WHERE userid=4 AND sessionid='eee0e08926a92d31c0b4b5a7ee4dc948'
UPDATE sessions SET lastaccess=1405069446 WHERE userid=4 AND sessionid='eee0e08926a92d31c0b4b5a7ee4dc948'
UPDATE sessions SET lastaccess=1405069451 WHERE userid=4 AND sessionid='eee0e08926a92d31c0b4b5a7ee4dc948'
UPDATE sessions SET lastaccess=1405069461 WHERE userid=4 AND sessionid='eee0e08926a92d31c0b4b5a7ee4dc948'
UPDATE sessions SET lastaccess=1405069471 WHERE userid=4 AND sessionid='eee0e08926a92d31c0b4b5a7ee4dc948'
UPDATE sessions SET lastaccess=1405069481 WHERE userid=4 AND sessionid='eee0e08926a92d31c0b4b5a7ee4dc948'
UPDATE sessions SET lastaccess=1405069491 WHERE userid=4 AND sessionid='eee0e08926a92d31c0b4b5a7ee4dc948'
UPDATE sessions SET lastaccess=1405069501 WHERE userid=4 AND sessionid='eee0e08926a92d31c0b4b5a7ee4dc948'

I think that updating sessions may be done only if the last update was XXX seconds ago. This should lower the DB usage. XXX could be configurable.



 Comments   
Comment by Aleksandrs Saveljevs [ 2014 Jul 30 ]

Related issue: ZBX-8462.

zalex_ua I'd not agree

Comment by Oleksii Zagorskyi [ 2015 Dec 10 ]

That 10 seconds interval is hardcoded interval of global zabbix server status checks.
My detailed comment https://support.zabbix.com/browse/ZBX-8051#comment-139807 talks almost about the same.

Comment by Oleksii Zagorskyi [ 2015 Dec 10 ]

Confirmed.





[ZBXNEXT-2132] Accept offset parameter for API calls Created: 2014 Jan 28  Updated: 2024 Feb 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Corey Shaw Assignee: Unassigned
Resolution: Unresolved Votes: 23
Labels: limits, pagination, patch, performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File history_api_offset_param.patch     Text File zabbix-3.0.2-history_api_offset_param.patch    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-1082 API should support pagination Closed
is duplicated by ZBXNEXT-4989 offset parameter for API calls - New... Closed

 Description   

While it is useful to have the "limit" parameter in API requests, it's use would be greatly enhanced if an "offset" parameter existed as well. Let's say I have 10,000 history rows to retrieve through the API. It would make sense to not only be able to limit the result to 2000 rows at a time, but also submit an offset that so that I can first get the first 2000, then the next 2000, etc.

I created a patch to do this in 2.2.x and it was a trivial addition to add it only for history.get. I'm not sure what would have to be done to add it everywhere.



 Comments   
Comment by Corey Shaw [ 2014 Jan 28 ]

This was very easy to add because the DBselect() function already supportes an offset parameter.

Comment by Oleksii Zagorskyi [ 2014 Jan 31 ]

See also ZBXNEXT-1503

Comment by Norimitsu Sugimoto [ 2016 May 05 ]

support offset parameter history.get() for zabbix-3.0.2

Comment by Norimitsu Sugimoto [ 2016 May 05 ]

Useful offset parameter.
Original attached patch for only zabix-2.2, and not fail patch for zabbix-3.0.2.

I rewrote the patch for zabbix-3.0.2. see attached file.
Please import this patch and support offset parameter.

Comment by vitalijs.cemeris (Inactive) [ 2016 Aug 02 ]

Adding offset could lead to changing "Search/Filter elements limit" GUI configuration option to "Maximum rows per page".

Comment by Naga Maheswara Reddy Palem [ 2021 Mar 31 ]

Having pagenation support will help for other system integrations. When the historyget or items.get has more results its throwing 500 internal error. Pagination helps in api calls usecases

Comment by Marcel Renner [ 2022 May 30 ]

+1 It would also be useful in PowerShell to paging/piping the results in small badges. For example, we use PowerShell to synchronize the inventory data of all hosts with our CMDB via the API. But when you have 10,000 hosts, this can quickly lead to problems. Something like in SQL with offsets and limits would be great.

Comment by S K [ 2024 Feb 09 ]

Are there any news regarding this feature? 
we are having troubles to sync zabbix hosts with our cmdb. Paging would be useful.

Comment by dimir [ 2024 Feb 12 ]

It's possible that the cause of this feature missing was support of things like "limit, offset" back in the days when we supported more database backends (like IBM DB2) which either don't have it or didn't have it back then. We now do not support IBM DB2 so the only question is Oracle.

According to this support for limiting and specifying offset was added to Oracle 12c. This should be fine since we require at least version 19c at this point.

I'll try to get more information.

Comment by dimir [ 2024 Feb 13 ]

simkimdm While this is still not implemented, would it work for you if you'd fetch the list of all hostids first and then go on handling them by smaller batches? Have you tried it?

Comment by S K [ 2024 Feb 14 ]

@dimir works better than fetching all at once. thank you.
here is a small python snippet how i implemented it.

from zabbix_utils import ZabbixAPI
// ... login stuff
def get_zabbix_hosts():
    zabbix_hosts_ids = zabbix.host.get(
                                    output="hostid",
                                    evaltype=0,
                                    tags=[
                                       {
                                           "tag": "cmdb_id",
                                           "operator": 4
                                       }
                                    ]
    )
    chunk_size = 1000
    chunks = [chunk['hostid'] for chunk in zabbix_hosts_ids]
    zabbix_hosts = []
    for i in range(0, len(chunks), chunk_size):
        chunk = chunks[i:i + chunk_size]
        zabbix_hosts += zabbix.host.get(hostids=chunk,
                                        selectMacros="extend",
                                        selectTags="extend",
                                        selectHostGroups="extend",
                                        selectParentTemplates="extend",
                                        selectInterfaces="extend")
    return zabbix_hosts 
Comment by dimir [ 2024 Feb 14 ]

Nice. And nice to see you use our zabbix_utils and it works for you.





[ZBXNEXT-3245] allow leaving "Send to" empty for script media types Created: 2016 Apr 15  Updated: 2016 Apr 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 3.0.1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: alertscripts, mediatypes
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently "Send to" is always required. in the case of alertscripts, it is often unused. it is suggested to allow leaving this field empty for the 'script' media types






[ZBXNEXT-3141] unify actions Created: 2016 Feb 12  Updated: 2016 Feb 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: 3.0.0
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: actions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

zabbix currently has four separate action types :

  • trigger
  • network discovery
  • active agent auto-registration
  • internal

this sort of makes sense from the technical point of view, but makes it harder for users (they have to switch between the types), and limits the functionality per the implemented type (for example, internal actions didn't get the maintenance status support - ZBXNEXT-2141).

additionally, auto-registered hosts can not be removed - host removal operation is only available for network discovery actions.

from the configuration maintenance point of view, it is very cumbersome, too. if zabbix instance has a couple of actions, it's relatively easy to recreate them for the internal events. if there are dozens... no. users resort to custom scripts to go to the database and just completely skip the internal events/actions.

the suggestion is to merge all actions, allowing all conditions and operations. there would have to be some sanity checks/decisions - what if somebody sets only auto-reg condition and then only adds "delete host" operation ?

nevertheless, that should significantly simplify some configuration tasks (like reacting to internal events in installations, having more than a few actions) and resolve several feature requests (including deletion of auto-registered hosts).






[ZBXNEXT-2549] more info about SQL statement fails Created: 2014 Oct 28  Updated: 2014 Oct 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.7, 2.4.1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: gescheit Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In case of problem with sql query, DBexecute() returns error message from SQL-server only in web-interface. In API can be seen only "SQL statement execution has failed" message. I think that need show sql-errors in API also.






[ZBXNEXT-2516] Provide withScreens option on template.get() and host.get() Created: 2014 Oct 15  Updated: 2014 Oct 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.2.6, 2.4.1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Volker Fröhlich Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: consistency, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please provide an option withScreens for consistency with withGraphs/selectGraphs and other options.



 Comments   
Comment by Volker Fröhlich [ 2014 Oct 15 ]

"with_screens" even

... and in hostgroup.get()





[ZBXNEXT-7737] Zabbix integration with Vault Created: 2022 Mar 10  Updated: 2023 Sep 21

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Aliaksei Halouka Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When using Namespaces in Vault, there is no possibility to configure integration with Zabbix, since the query path will automatically add "data".

https://www.vaultproject.io/docs/enterprise/namespaces

Based on the documentation, when using Namespaces, the path to the secret will look like this ns1/ns2/zabbix/data/macros, there zabbix is engine. In the value of the zabbix macro, we should then specify the path to the secret like this ns1/ns2/zabbix/macros:some-secret, but since Zabbix automatically adds "data", then we have the next URL for query https://127.0.0.1:8200/v1/ns1/data/ns2/zabbix/zabbix/macros

In the log we can observe the following error:

In zbx_http_get() URL 'https://127.0.0.1:8200/v1/ns1/data/ns2/zabbix/macros'
End of zbx_http_get():SUCCEED
cannot get secrets for path "ns1/ns2/zabbix/macros": unsuccessful response code "403"

 

Since many large organizations use Vault as a service, it cannot be configured without Namespaces. Therefore, it would be worth removing the automatic addition of "DATA" to the path and slightly changing the documentation, explaining to users how they need to form a request, besides, this moment is already mentioned in the documentation, with manual testing using CURL

https://www.zabbix.com/documentation/current/en/manual/config/secrets#:~:text=get%20secret/zabbix-,%23%20Finally%20test%20with%20Curl%2C%20note%20that%20%22data%22%20need%20to%20be%20manually%20added%20after%20mount%20point%20and%20%22/v1%22%20before%20the%20mount%20point%2C%20also%20see%20%2D%2Dcapath%20parameter,-%24%20curl%20%2D%2Dheader%20%22X

 

zabbix version: Zabbix 5.4.10

vault version: 1.9.2+ent



 Comments   
Comment by Aliaksei Halouka [ 2022 Mar 11 ]

It may still be easier to implement this with an additional variable in the configuration and header in the request.

Based on the documentation:

API operations performed under a namespace can be done by providing the relative request path along with the namespace path using the X-Vault-Namespace header. Similarly, the namespace header value can be provided in full or partially when reaching into nested namespaces. When provided partially, the remaining namespace path must be provided in the request path in order to reach into the desired nested namespace.

Alternatively, the fully qualified path can be provided without using the X-Vault-Namespace header. In either scenario, Vault will construct the fully qualified path from these two sources to correctly route the request to the appropriate namespace.

For example, these three requests are equivalent:

  1. Path: ns1/ns2/secret/foo
  2. Path: secret/foo, Header: X-Vault-Namespace: ns1/ns2/
  3. Path: ns2/secret/foo, Header: X-Vault-Namespace: ns1/
Comment by dimir [ 2023 Sep 21 ]

Coming from https://www.zabbix.com/forum/zabbix-help/468835-integration-with-hashicorp-vault





[ZBXNEXT-4110] Facebook MyRocks at MariaDB Created: 2017 Sep 19  Updated: 2019 Sep 11

Status: Postponed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Oleg Egorov (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: MyRocks
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: DEV-677

 Description   

Facebook MyRocks is NoSQL database supported by MariaDB

I think now it is best solution for history_text, history_log....

Easy to use and will be improved performance of Zabbix.

MyRocks + Zabbix:
https://habrahabr.ru/post/334276/

Performance:
https://habrahabr.ru/post/319500/



 Comments   
Comment by Vadims Kurmis [ 2019 Sep 11 ]

Please ensure RocksDB support with updated documentation for making DB Schema.

Because it Exactly matches Zabbix type of workload - for write-intensive applications.

Strange, that this is not being prioritized yet as Zabbix development was always targeted for increased performance to compete with other products and provide a better and more robust solution.

This is Critical, because Database always was a bottleneck for Zabbix.

 

 





[ZBXNEXT-5631] Change time intervals in API from [time_from, time_till] to [time_from, time_till) Created: 2019 Dec 09  Updated: 2019 Dec 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Alex Klimov Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

If we have [a,b] interval, we have a problem with splitting intervals due to common point problem.



 Comments   
Comment by dimir [ 2019 Dec 09 ]

Sorry, what exactly this feature asks to change?

Comment by Kolunchik [ 2019 Dec 09 ]

Exclude time_till from range ( from "less or equal" to "less")

Comment by Alex Klimov [ 2019 Dec 09 ]

Exactly

Comment by dimir [ 2019 Dec 09 ]

Just to make sure. You're saying coding

1 - 10, 10 - 20, 20 - 30

is much easier than

1 - 9, 10 - 19, 20 - 29

?

Comment by Alex Klimov [ 2019 Dec 10 ]

If i request 1-10, 10-20, 20-30 i'll get all points between 1-30 and no point twice (or missed) in responce? If so, this task may be closed.

Comment by dimir [ 2019 Dec 10 ]

No, currently it's as you described in the issue description. I'm just trying to make sure I understand the issue.

Comment by Alex Klimov [ 2019 Dec 10 ]

So. the case is for requesting events (or problems) for long period, when i must split time interval into smaller one to avoid long request duration. It would be perfect if i got all points without overlapping.

Example:

[1, 2, 3, 4, 5, 6, 7, 8, 9] splitting into [1,2,3,4] and [4,5,6,7,8,9]. So we have timepoint 4 twice.

 

Comment by dimir [ 2019 Dec 10 ]

As far as I know [1,2,3,4] will take care of complete 4th second, that is 4 - 4.99999999 . So all you need is exclude 4 from the second period: [5,6,7,8,9].

gcalenko, can you confirm?

<gcalenko> yes, API uses closed intervals (includes all its limit points), all you have to do is to ensure that every next interval chunk start time is 1 second greater than previous chunk interval end.

Comment by Alex Klimov [ 2019 Dec 11 ]

I think this task may be closed. It's a good idea to add Gregory comment to API documentation.

Comment by dimir [ 2019 Dec 11 ]

We have multiple places where the periods are referenced, e. g.

Unfortunately there's no single place that describes the period. But I think it's already pretty clear that it includes the limit points:

time_from timestamp Return only values that have been received after or at the given time.
time_till timestamp Return only values that have been received before or at the given time.




[ZBXNEXT-6214] The concept of 'read only' macros and macro 'validation' Created: 2020 Sep 25  Updated: 2020 Sep 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: James Cook Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 4.4+



 Description   

When defining a macros in templates it would be nice to be able to set whether it is a read only macro that can not be changed anywhere but the template at the source.

If hosts or other templates were to inherit the macro it would be greyed out and not made available to edit.

This way it removes the ability for people to 'break' monitoring by incorrectly overwriting macros that are to never be changed.

I also have another similar feature request (ZBXNEXT-3192) in which macros could have defined validation at the source. For example on a port monitoring template you may specify a macro containing a port which should be an integer between 0-65535.

This way it removes the ability for people to 'break' monitoring by incorrectly setting bad values such as 'abc' in the port case.

I know this could be an education thing, however sometimes you cant protect monitoring from people making mistakes.

 

 



 Comments   
Comment by Alexei Vladishev [ 2020 Sep 28 ]

I think that this idea correlates nicely with other suggestions related to tags, i.e. ability to define types and validations rules for tags, policies on what tags can or must be used and where, etc.

Comment by James Cook [ 2020 Sep 28 ]

Thanks for the feedback and for sure macros, tags would benifit from similar readonly/validation features. Im finding with Zabbix at scale the ability to protect against accidental breakages because of bad configuration data as becoming crucial.





[ZBXNEXT-5891] Host Issues widget not showing resolved issues, cannot view history for host Created: 2020 Apr 06  Updated: 2020 Apr 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 4.2.8
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Marcin Gosiewski Assignee: Aigars Kadikis
Resolution: Unresolved Votes: 0
Labels: history, problems, screens
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

  1. Create host with any trigger that will resolve itself after some time (for instance 'temperature rising'
  2. Trigger the trigger,
  3. Resolve the trigger
  4. Create screen for host
  5. Add "Host Issues" widget
  6. Add "History of events" widget

Result:

On the screen there is no possibility to see the raised events history for the host/

On the "Host issues" the items that are resolved are not showing (no "history" filter available)

On the "History of events" there is no way to filter by host. So there is a lot of junk from other hosts here.

Expected:
Any possibility to see the events that raized and were resolved in the meantime for the host. Either by adding "history" filter for Host Issues, OR by allowing filtering the History of events by Host.



 Comments   
Comment by Valdis Murzins [ 2020 Apr 06 ]

Is creating a dashboard an option to you? If yes, then "Problems" widget on dashboard seems to cover your use case.
(You will need to select "Show: History" and Host, you are interested in.)

Comment by Marcin Gosiewski [ 2020 Apr 07 ]

The dashboard is not an option because you cannot define dashboard in a template. You can define screen in the template. If you wish to create a template for a device and this template should include issues for this device you are out of luck. There is NO standard way to achieve this goal anyhow. 

Adding one filter for issues history to limit it by host/group of hosts would be great...

...and adding one filter for hosts problems to include also the issues that had been resolved in the meantime would be  also great. Especially that a couple of versions ago there was a possibility to do this. 

Comment by Valdis Murzins [ 2020 Apr 14 ]

Hello damago1,

As we are planning to completely replace screens with dashboard, we are not making any new features in screens.
On the other hand we are improving dashboards to have all functionality, that previously was done by screens.
One of features that we still are missing is screen replacement in templates. This feature will be coming in upcoming versions.

Comment by Valdis Murzins [ 2020 Apr 14 ]

I converted the issue to feature request to use for future development of host screen conversion to host dashboards.





[ZBXNEXT-5762] Implement custom buttons with custom actions on alerts & problems widgets Created: 2020 Feb 18  Updated: 2020 Jul 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Alex Klimov Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: integration
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In order to facilitate the possibility of integrating the monitoring system with other systems (for example, helpdesk-systems), it would be good idea to implement custom buttons with custom javascript actions (with ability post or get html requests) on alerts and problems widgets. JS actions can receive triggerid, eventid, etc as parameters.



 Comments   
Comment by Valdis Murzins [ 2020 Feb 18 ]

Aren't trigger URLs good enough?
You can create and URL, that will contain a link with id's you require, like triggerid, hostid, eventid, item value, etc.
This link could lead either to custom page with your javascript or to helpdesk-system directly.

As for alerts, you can create a webhook media type, that will send the request to remote system automatically, as configured in alerts.

Comment by Alex Klimov [ 2020 Feb 18 ]

1. This is not about automatically request. This is about possibility do something with active trigger (or past problem) in fast and convenient way.

2. Trigger URL is the only field of this type in trigger and if i use it i will not be able to use this field for another purposes.

3. Button is more compact than URL,

4. Helpdesk may use get, post, put requests, but url is only get request.





[ZBXNEXT-5709] Adopt Host API to export XML data structure. Created: 2020 Jan 22  Updated: 2020 Jan 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 4.4.4
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Miks Kronkalns Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: Host.create, host.update, import, tls_accept, tls_connect
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
caused by ZBXNEXT-5228 Make template attributes optional Closed
Sub-task
depends on ZBX-17165 Incorrect validation rules for 4.4 XM... Closed
Team: Team B
Story Points: 1

 Description   

ZBXNEXT-5228 involved changes in export XML schema. In Zabbix 4.2, host TLS connection was defined like:

<tls_connect>4</tls_connect>
<tls_accept>5</tls_accept> 

Starting with 4.4, TLS is defined as:

<tls_accept>
  <option>NO_ENCRYPTION</option>
  <option>TLS_CERTIFICATE</option>
</tls_accept> 

Changes made to implement this change was done wrongly (see ZBX-17165 for more details). Starting from 5.0, this should be fixed by adopting API for new data structure. CTransformImportConverter involved in ZBX-17165 should be removed from Zabbix 5.0.






[ZBXNEXT-5637] Extending the API capabilities for filtering hosts Created: 2019 Dec 10  Updated: 2019 Dec 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Elina Kuzyutkina (Inactive) Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 5
Labels: API
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

For now "filter" property in host.get method is dedicated only for main query options and interface properties. All other filtering can be done only on the next step in the script parsing JSON recieved from Zabbix API.
The ability to filter at the request stage would be convenient. For example, to get hosts based on there LLD "expiration" properties.






[ZBXNEXT-5780] Allow to use step durations longer than 1 week in Operations Created: 2020 Feb 27  Updated: 2020 Feb 27

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 4.4.6, 5.0.0alpha2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Alex Kalimulin Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: actions, escalations, frontend, operations
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

 

There are use cases that require to send reminders about problems on a monthly basis. Currently it's not possible to define step duration longer than 1 week in Actions -> Operations. This seems like an artificial limitation. Please lift this limit.






[ZBXNEXT-5394] Add in item.get() API method ability to get maintenance status Created: 2019 Sep 02  Updated: 2019 Sep 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.0.12, 4.2.6
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Elina Kuzyutkina (Inactive) Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: api, item, maintenance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Need ability to filter the items that are actively on maintenance status.  (if item belongs to host that is in active maintanace or if there is corresponding tag for trigger with this item in expression and there is active maintanance for that tags)






[ZBXNEXT-5669] Expose user session data in the API Created: 2020 Jan 03  Updated: 2020 Jan 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.4.4
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be useful to expose user session data in the API.
That would allow to monitor the number of unclosed sessions and, to some degree, user access rate.



 Comments   
Comment by Alexei Vladishev [ 2020 Jan 31 ]

Not sure if it is a good idea to expose this information in API. Perhaps a better approach would be support of internal metrics or some user-level stats.





[ZBXNEXT-1167] zabbix snmp monitor over tcp Created: 2012 Mar 28  Updated: 2023 Oct 24

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 1.8.10
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: pengyao Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 5
Labels: snmp, tcp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate
Team: Team A

 Description   

I have some application use snmp over tcp (like resin admin interface), I want to monitor it, but current zabbix is only support snmp over udp. what should i do? Thanks



 Comments   
Comment by Oleksii Zagorskyi [ 2013 Mar 01 ]

My humble investigation :
http://osdir.com/ml/network.net-snmp.user/2003-05/msg00360.html
http://www.net-snmp.org/dev/agent/structsnmp__session.html#a6651007c1d156f67f99d54d84aac09b9

Zabbix (code checks_snmp.c:snmp_session) for IPv6 - UDP specified explicitly, for IPv4 - by default:

#ifdef HAVE_IPV6
	if (SUCCEED != get_address_family(item->interface.addr, &family, err, MAX_STRING_LEN))
		goto end;

	if (family == PF_INET)
		zbx_snprintf(addr, sizeof(addr), "%s:%d", item->interface.addr, (int)item->interface.port);
	else
	{
		if (item->interface.useip)
			zbx_snprintf(addr, sizeof(addr), "udp6:[%s]:%d", item->interface.addr, (int)item->interface.port);
		else
			zbx_snprintf(addr, sizeof(addr), "udp6:%s:%d", item->interface.addr, (int)item->interface.port);
	}
#else
	zbx_snprintf(addr, sizeof(addr), "%s:%d", item->interface.addr, (int)item->interface.port);
#endif	/* HAVE_IPV6 */
	session.peername = addr;

# man snmpcmd

...
AGENT SPECIFICATION
The string AGENT in the SYNOPSIS above specifies the remote SNMP entity with which to communicate. This specification takes the form:

[<transport-specifier>:]<transport-address>

At its simplest, the AGENT specification may consist of a hostname, or an IPv4 address in the standard "dotted quad" notation. In this case,
communication will be attempted using UDP/IPv4 to port 161 of the given host. Otherwise, the <transport-address> part of the specification is
parsed according to the following table:

<transport-specifier> <transport-address> format

udp hostname[:port] or IPv4-address[:port]

tcp hostname[:port] or IPv4-address[:port]

unix pathname

ipx [network]:node[/port]

aal5pvc or pvc [interface.][VPI.]VCI

udp6 or udpv6 or udpipv6 hostname[:port] or IPv6-address:port or
'['IPv6-address']'[:port]

tcp6 or tcpv6 or tcpipv6 hostname[:port] or IPv6-address:port or
'['IPv6-address']'[:port]

Note that <transport-specifier> strings are case-insensitive so that, for example, "tcp" and "TCP" are equivalent. Here are some examples, along
with their interpretation:

hostname:161 perform query using UDP/IPv4 datagrams to hostname on port 161. The ":161" is redundant here since that is the default
SNMP port in any case.

udp:hostname identical to the previous specification. The "udp:" is redundant here since UDP/IPv4 is the default transport.
...

Conclusion:
zabbix uses only UDP transport by default.

Comment by Kester Allen [ 2013 Mar 01 ]

Thanks, Oleksiy,

Do you know when TCP transport will be released for Zabbix?

Comment by Colo Host [ 2018 Apr 25 ]

Did anything ever come of this?  I've got a platform that can only be talked to via TCP.  I can query it fine using snmpwalk tcp:ipaddress, but haven't found a way to get zabbix to talk to it, so I'm thinking I've run into this issue.

Comment by Michael Mol [ 2019 Sep 27 ]

I've started to run into this. I'm starting to see SNMP error statuses (via Wireshark) of "tooBig (1)". When I went to look at how to get the queries sent over TCP instead of UDP, I came across this.

Comment by Vladislavs Sokurenko [ 2023 Sep 21 ]

Something like this can introduce tcp support:

diff --git a/src/zabbix_server/poller/checks_snmp.c b/src/zabbix_server/poller/checks_snmp.c
index f80b592ef99..452214eb295 100644
--- a/src/zabbix_server/poller/checks_snmp.c
+++ b/src/zabbix_server/poller/checks_snmp.c
@@ -616,7 +616,7 @@ static zbx_snmp_sess_t      zbx_snmp_open_session(unsigned char snmp_version, const c
        session.timeout = config_timeout * 1000 * 1000; /* timeout of one attempt in microseconds */
                                                        /* (net-snmp default = 1 second) */
        if (SUCCEED == zbx_is_ip4(ip))
-               zbx_snprintf(addr, sizeof(addr), "%s:%hu", ip, port);
+               zbx_snprintf(addr, sizeof(addr), "tcp:%s:%hu", ip, port);
        else
                zbx_snprintf(addr, sizeof(addr), "udp6:[%s]:%hu", ip, port); 




[ZBXNEXT-1214] "any snmp version" for discovery action condition Created: 2012 May 02  Updated: 2012 Oct 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: actions, networkdiscovery
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

it might be useful to provide "any snmp version" discovery action condition






[ZBXNEXT-2841] Feature: Zabbix API *.get() calls to expand macros Created: 2015 Jun 05  Updated: 2020 Apr 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 2.4.5
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Lior Goikhburg Assignee: Unassigned
Resolution: Unresolved Votes: 28
Labels: macros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently when using api .get() calls on items, triggres etc. the returned results contain raw (unexpanded) macros {$XXX}. This is meaningless outside of zabbix, and would be more useful if the results have the macros expanded.



 Comments   
Comment by Marc [ 2015 Jun 05 ]

Well, expanding macros is already supported for some API methods - e.g. for trigger.get().

Comment by Lior Goikhburg [ 2015 Jun 08 ]

Which version does support that ?
I've just checked against 2.4.5:

{
  "status": "0",
  "description": "{$COMPONENT} Status URI HTTP Code",
  "state": "0",
  "url": "",
  "type": "0",
  "templateid": "17983",
  "lastchange": "1433361132",
  "value": "0",
  "priority": "3",
  "triggerid": "17992",
  "flags": "0",
  "comments": "",
  "error": "",
  "expression": "{22975}=1"
}
Comment by Lior Goikhburg [ 2015 Jun 08 ]

I'm particularly interested in having macros expanded in item keys, but having macros expanded in all object properties would be even better.

Comment by Marc [ 2015 Jun 08 ]

zerthimon, regarding trigger.get() see corresponding API documentation and watch out for "expand*" method parameters.
As for item.get() that would actually make no real sense to me, since the unresolved macro is part of the item key and gets resolved later depending on context by server. Afaik there is no technical use case of an item key with resolved macros in Zabbix at all.

I understand that there might be a custom need to get macros of item key parameters resolved. Anyhow, from my personal pov this should probably not be part of this method. Such a edge case is likely better covered by resolving it in the custom application if needed.

Comment by David [ 2015 Jun 16 ]

I disagree, knowing what the macro value was at the time of data collection is very useful, particularly if it has ever been changed. Also, if you are archiving data elsewhere, the expanded key is more useful than a macro. I assume this is already being expanded in order to tell agents what the value is, can't this code be reused?

From our testing, even host.get only returns expanded macros for macros set on the host, not ones inherited from templates.

Comment by viktorkho [ 2015 Jun 30 ]

In more wide case, it will be rigth to have possibility to "expand" macro's value in every place, where mocros can be used. Isn't it?

What is the developers' reason to go in other way?

Comment by Chris Christensen [ 2015 Oct 29 ]

Agree (with David and viktorkho). There's also some precedent on external libs to try and manage this, like Zabbix2 Perl API client - and interesting note by the developers on this: "we are not expanding hostmacros or globalmacros, those are problematic". I think the implementation details of this are trapped inside the Zabbix application and should be properly supported via the API.

Comment by Chris Christensen [ 2015 Oct 29 ]

Another example of macro replacement challenges: https://github.com/alexanderzobnin/grafana-zabbix/pull/106

Comment by Aleksandrov Artyom [ 2016 May 17 ]

It's may be really useful! In another case we should have expand method for every parameter which can has macros.

For example there is no expandUrl method now but you can use macro there.

Comment by Egon Burgener [ 2017 Mar 21 ]

The same with tags results in trigger.get (selectTags set)

Comment by richlv [ 2017 Sep 11 ]

might be worth listing where expansion would be desired. please correct and expand as needed.

trigger.get explicitly allows 3 fields to be expanded already :

  • expandComment (actually, description)
  • expandDescription (actually, name)
  • expandExpression

items :

  • name
  • key
  • description
  • update interval

hosts :

  • description
  • interface... something ?
Comment by James Cook [ 2020 Apr 21 ]

Hi Richlv,

Were suffering a fair bit with this.

We use user macros a lot to allow configuration in templates that is controlled per host for example in template for PgBouncer port monitoring we have

ITEM NAME - PgBouncer Port - Status ({$APP.PORT.CONF.NUMBER:"PgBouncer"}:tcp)
ITEM KEY - net.tcp.listen[\{$APP.PORT.CONF.NUMBER:"PgBouncer"}]
MACRO - {$APP.PORT.CONF.NUMBER:"PgBouncer"} = 6432

On specific hosts we just override the macro '{$APP.PORT.CONF.NUMBER:"PgBouncer"}' with another port such as 7432 which requires no template change to monitor PgBouncer on a different port.
 
We use Grafana for some visualization and it pulls out the item name as 'PgBouncer Port - Status ({$APP.PORT.CONF.NUMBER:"PgBouncer"}:tcp)' rather than 'PgBouncer Port - Status (6432:tcp)'.

We also have some SLA reporting which uses Zabbix data and this is affected in the same way.

It would be nice for the API to perhaps have an option (ExpandMacros) which would be non breaking and this would replace all macros where ever you can set them in the object (Item/Trigger/Hosts etc...)

We try to use user macros everywhere we can to enable template flexibility across several clients as they all have different needs and configurations.

Cheers

James





[ZBXNEXT-2815] Add possibility to invalidate 'passive' sessions Created: 2015 May 15  Updated: 2022 Jun 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.4.4
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Fernando Schmitt Assignee: Unassigned
Resolution: Unresolved Votes: 12
Labels: login, logout, sessions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS x64


Issue Links:
Causes
Duplicate
is duplicated by ZBXNEXT-7566 One session per user object Closed

 Description   

Say you have logged in many times using different browsers/machines, without logging out. You'll have all these sessions marked as active (status=0), but they are still valid. I'd like to invalidate previous sessions by having an option that will delete records from table sessions with my userid and status=0. Of course, this option must only be available for the current 'active' session (status=0).



 Comments   
Comment by Oleksii Zagorskyi [ 2015 May 16 ]

In issue description you are wrong that status=0 means sessions marked as passive

Correct is:

0, ZBX_SESSION_ACTIVE - session active
1, ZBX_SESSION_PASSIVE - session is not active
Comment by Fernando Schmitt [ 2015 May 18 ]

You are correct. Both sessions remain with status=0 (active). I can't edit the description, however. The correct description is the following: I'd like to delete all other active sessions with a sessionid different from my current one. I.e., force a 'logout' of a session I've lost the cookie.

Comment by Fernando Schmitt [ 2015 May 21 ]

Can you edit the description or should I create another issue?

Comment by Oleksii Zagorskyi [ 2015 May 21 ]

Your comment about corrections is enough.

Comment by dimir [ 2019 Nov 21 ]

Fixed.





[ZBXNEXT-2165] History API compress output sequence Created: 2014 Feb 19  Updated: 2014 Sep 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.2.2
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Mathew Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, history, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

PHP


Attachments: Text File zabbix-compress-history-patch.txt    

 Description   

The amount of data transferred by the history.get call can be quite overwhelming on network resources when transiting between remote locations and a central interface.

This patch adds the ability to get the output compressed where values are the same, e.g

itemid:1 clock:1000000: value:1
itemid:1 clock:1000001: value:1
itemid:1 clock:1000002: value:1

becomes
itemid:1 clock:1000000: value:1
itemid:1 clock:1000002: value:1

when compressValues is supplied to the history.get call.

This has drastically reduced out output sizes (from 100,000+ items per day in request) to 10-20 with the same or better resulting graphing quality.

This patch does not impact any other features if this option is not provided.

Could this be included?



 Comments   
Comment by richlv [ 2014 May 07 ]

potential problems - what to do when values are missing ? what to do when values are slightly offset from the scheduled time (item scheduled every 30 seconds, values coming in at 14, 45, 13, 44 etc)





[ZBXNEXT-1901] Add "status" to sort_field for maintenance.get() Created: 2013 Sep 10  Updated: 2013 Sep 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 2.0.8, 2.1.4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Volker Fröhlich Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: api, maintenance, sorting
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please move the generation of the maintenance status information from maintenance.php to api/classes/CMaintenance.php.

The result will be the same, but more of the business code is in the API class then, it adds a little value to the API results and make_sort_header() will work as well.



 Comments   
Comment by Volker Fröhlich [ 2013 Sep 16 ]

Loosely connected to ZBXNEXT-145





[ZBXNEXT-1139] Popup graphs in maps Created: 2012 Mar 02  Updated: 2016 Jun 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 1.8.9, 1.8.10, 1.9.9 (beta)
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Charles Cooke Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 7
Labels: graphs, maps, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File map_popup_host_graph.patch    
Issue Links:
Duplicate

 Description   

One of the tools we're looking to use Zabbix to replace is Weathermap, which produces some nice pop-up graphs on its map-equivalents. In order to keep that functionality, I implemented a quick and dirty method of linking graphs to nodes in a map (Currently only works for host nodes). All it does is parse URL fields looking like "GRAPH: something" and display the first graph matching "something" on the relevant host.

This is good enough for our use, but I expect you'd want to think about the 'right' way to implement this functionality if you included it in a subsequent release.

Screenshot (with obligatory typo, damnit) at http://granite.earth.gkhs.net/~ccooke/zabbix-popup-graph-1.png



 Comments   
Comment by richlv [ 2012 May 09 ]

quite similar to ZBXNEXT-150

Comment by Micha Slezak [ 2016 Jun 09 ]

Here is nice page http://www.zabbix.com/development_services.php where on the bottom of this page is possibility to Contribute on specific feature. I think that it can be way how to promote some feature requests and to do something like crowdfunding on specific feature. Zabbix dev setup price and we can contribute on this feature I think it can be good way how to pay for each feature and to to pay whole development by one customer.





[ZBXNEXT-4856] Add support for the preservation of historical data in Clickhouse Created: 2018 Nov 11  Updated: 2023 Nov 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Documentation (D), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Evgeny Molchanov Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 72
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I did not find in the search for an active issue, if you already have such a close.
Please add support for storing historical data in the Clickhouse database, by analogy with Elasticsearch.
As far as I know, there is even a ready-made patch for Zabbiks 4.0 in the repository https://github.com/miklert/zabbix/blob/master/zabbix.patch



 Comments   
Comment by Bart Verwilst [ 2018 Nov 11 ]

I'm not sure wether Clickhouse or InfluxDB (or another TSDB) is more appropriate to store the historical data.

Comment by Evgeny Molchanov [ 2018 Nov 11 ]

Clickhouse is an opensource solution. https://clickhouse.yandex . The authors of the patch made a report at Zabbix summit 2018 - https://www.zabbix.com/zabbix_summit2018_agenda#day1_1325 advantages over elasticsearch are obvious.
Now many projects choose Clickhouse to store time series, as it is a very effective (if not the most) solution on the market.

Comment by Mathieu CARBONNEAUX [ 2019 Jan 04 ]

the bigest advantage of clickhouse.... is sql database ... outher timeseries or elasticsearch had her proper query language/api/interface...

the advantage of clickhouse over the other solution is that very near to the original zabbix storage solution... sql...

but with performance of a columnar database... and scalability (distributed and replicated)... and compression...

they are coded in C++...

are very fast in injection...

the only difficulty is that not originaly support sql delete/update, work only on insertion and deleting partition to purge historical...

but now it's possible https://www.altinity.com/blog/2018/10/16/updates-in-clickhouse

Comment by Foxy Lady [ 2019 Nov 12 ]

What is the status for this? Waiting for clickhouse support in Zabbix to use it in a new project!

Comment by Hardway [ 2019 Nov 12 ]

Actually the creator of the patch launched a new fork of zabbix

https://glaber.io/

Comment by Filipe Paternot [ 2019 Nov 26 ]

It would be great for Zabbix to adopt at least some of those principles (from glaber), to get some serious performance improvement and scale natively. Their presentation at 2018 summit was great and they archieved some great numbers. If only that could go back into Zabbix..

 

This sounds like a good plan for Zabbix 5.0 https://www.zabbix.com/roadmap#v5_0

Comment by Foxy Lady [ 2019 Nov 26 ]

Support for TimescaleDB shows, that developers are open for better alternatives - it will be a very good step to let users choose their storage tec and support clickhouse or other systems! Do it, this will be a huge win for Zabbix!

 

Comment by Anton [ 2020 Feb 01 ]

https://habr.com/ru/company/ua-hosting/blog/486540/

https://habr.com/ru/company/ua-hosting/blog/485470/

 

Comment by alex mol [ 2021 May 04 ]

This is a must have for large setups.

Comment by Marco Agostani [ 2023 Nov 22 ]

we use clickhouse for netflow collection and is superfast.

I think we give a try to glaber





[ZBXNEXT-5119] Limit amount of simultaneous sessions per user Created: 2019 Mar 18  Updated: 2024 Mar 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Alexey Pustovalov Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 2
Labels: limits, sessions, user
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

It would be great to have global/per user option which can limit amount of sessions per user.






[ZBXNEXT-1527] cascaded/nested lld Created: 2012 Nov 28  Updated: 2024 Feb 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 106
Labels: lld, nested
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
causes ZBXNEXT-7527 Nested host prototypes Open
Duplicate
is duplicated by ZBX-12436 Graph prototype process create only t... Closed
is duplicated by ZBX-9762 Nested LLD Closed
is duplicated by ZBX-11111 Smarter nested LLD? Closed

 Description   

in some cases one-level lld is not enough. for example, one might want to discover all databases and then discover all tables for them, to monitor some statistic for all of them.

this might be doable by creating some sort of "lld rule prototype", which could then cascade almost indefinitely (although i can't think of more than 2 level practical application right now)



 Comments   
Comment by Volker Fröhlich [ 2014 Sep 26 ]

http://zabbix.org/wiki/Docs/howto/Nested_LLD

Comment by Stefan [ 2014 Sep 26 ]

i have an other example: to monitor Dell Equallogic Disks i need 2Querys, for example:
snmpwalk -v2c -c public 192.168.1.1 .1.3.6.1.4.1.12740.2.1.1.1.9.1
iso.3.6.1.4.1.12740.2.1.1.1.9.1.563984362 = STRING: "foo"
so this number is need to get the disks:
snmpwalk -v2c -c public 192.168.1.1 .1.3.6.1.4.1.12740.3.1.1.1.8.1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.1 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.2 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.3 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.4 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.5 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.6 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.7 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.8 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.9 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.10 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.11 = INTEGER: 1
iso.3.6.1.4.1.12740.3.1.1.1.8.1.563984362.12 = INTEGER: 2

actually i can only use SNMPINDEX and i get 563984362, but i need the last number too. so i must use .1.3.6.1.4.1.12740.3.1.1.1.8.1.{#SNMPINDEX}.1, a better will be .1.3.6.1.4.1.12740.3.1.1.1.8.1.{#SNMPINDEX1}.{#SNMPINDEX2} to get the second one, or other idea {#SNMPINDEX(2)} to get the last 2 numbers (563984362.1), or {#SNMPINDEX(#7)} to get a specific number (for #7 i will get 12740)

Comment by Naruto [ 2016 Aug 18 ]

Should this be closed? It's supported now.

Comment by Raimo [ 2016 Aug 18 ]

It is supported now? How? Can't find it in the documentation.

Comment by Raimo [ 2016 Aug 19 ]

Stefan Krügers approach above (.1.3.6.1.4.1.12740.3.1.1.1.8.1.

{#SNMPINDEX1}

.

{#SNMPINDEX2}

) is the way to go in my opinion. It is the most intuitive solution from a users perspective....

Comment by Naruto [ 2016 Aug 19 ]

We are touching two different topics here, one is the built-in "discovery" keys, and another is the support for custom LLD rules.

As Volker pointed out, custom nested LLD's are somehow already supported: http://zabbix.org/wiki/Docs/howto/Nested_LLD

Comment by richlv [ 2016 Aug 19 ]

well, technically, the method you are using is nice & it works, but it is still a hack and not officially supported, so it would still be more like "adding support for nested lld"

Comment by Naruto [ 2016 Aug 19 ]

The complete structure of the discovered nested values is defined by the user on the template.
Asking the user to define that structure again on the JSON code is redundant and an open door to many problems; it's complicated and overloaded.

Think in folders and labels. They are two different approaches. Gmail uses labels, no hierarchy. Filesystems use directories, that's a hierarchy.

When you have already defined the hierarchy on the template side (for example, I'll use the "#DATABASE" macro for zabbix Applications, and "#TBL" for item names), there is no need to define the same hierarchy again on the JSON making side. Therefore the "labels" approach is the right approach.

Each line of the JSON code must represent a combination of labels.

But there is a problem with the current implementation of this feature.
For example, we'll suppose that I am Zabbix Server and I receive this JSON:

{
 "data":[
   { "{#INSTANCE}" : "MSSQL$TEST_INST", "{#DATABASE}" : "DBA" },
   { "{#INSTANCE}" : "MSSQL$TEST_INST", "{#DATABASE}" : "DBA2" },
   { "{#INSTANCE}" : "SQLServer", "{#DATABASE}" : "SQL_SERVER_MONITORING" },
   { "{#INSTANCE}" : "SQLServer", "{#DATABASE}" : "ORACLE_MONITORING" },
   { "{#INSTANCE}" : "SQLServer", "{#DATABASE}" : "DBA" },
 ]
}
  • Ok, now I know that I have to create items for a prototype that is referring to "#DATABASE" macro/label only. I'll create 4 items, one for each "#DATABASE" value: "DBA", "DBA2", "SQL_SERVER_MONITORING" and "ORACLE_MONITORING"; and I'll rise an error, because the fifth value is repeated ("DBA"). OK, it is not possible, and the request is not normal, I mean, why should I want a list of all databases, when I know that I could have the same name in multiple instances (by coincidence)?, it's weird. So, ok, next prototype.
  • It turns out that I've been asked to create items for another prototype, referring to both "#INSTANCE" and "#DATABASE". I will create 5 items:
    MSSQL$TEST_INST - DBA
    MSSQL$TEST_INST - DBA2
    SQLServer - SQL_SERVER_MONITORING
    SQLServer - ORACLE_MONITORING
    SQLServer - DBA
    And no error. OK. This request is normal.
  • Great, now I'm being asked to create items for another prototype, this time referring to "#INSTANCE" only. It's normal! I want to refer to instances, completely normal request! However I, Zabbix, throw errors for lines 2, 4 and 5, because I'm blindly trying to create an item for each JSON line.

How I see the solution to this problem? Simple, we don't need errors here; the user knows what he's doing; just don't try to create an item that is already created, in the first place. I can admit that that first request was weird, I know it, but it could be useful in some scenarios, having a list of unique values across many "containers".
Now, the third request, it's 100% normal, and wanted, and useful.

The question is, what is the purpose of attempting to create something that was already created? There was already an item created for "SQLServer", then why is Zabbix trying to perform the same action again? It makes no sense.

Comment by richlv [ 2016 Aug 23 ]

i wouldn't say this is supported.
host prototypes sort of provide one extra level, but only if you want separate hosts.
the hack with the somewhat duplicate entries is mostly working, and it might even end up being the supported method, but until it does become one, this issue still tracking that

Comment by Naruto [ 2016 Aug 23 ]

Hi, richlv, I know, right, that's why I'm opening this discussion about this feature, it's in an inconsistent state right now. It doesn't work well in one way or another. We need to define this, right now. What is the way to go, and how.

To me, it's pretty clear and easy. Just read my comment above, as I said there, labels is the way to go, and no hierarchy. Let the hierarchy in the user's mind, he knows what he's doing.

Otherwise you'll end up having to give support to things like this:

{
	"data": [
		{ "{#INS}": "MSSQL$TESTE_INST", "{#INL}": "TESTE_INST", "data": [
			{ "{#DBS}": "DBA" }, 
			{ "{#DBS}": "DBA2" }
	    ]},
	  	{ "{#INS}": "SQLServer", "{#INL}": "SQL Server", "data": [
			{ "{#DBS}": "SQL_SERVER_MONITORING" }, 
			{ "{#DBS}": "ORACLE_MONITORING" }, 
			{ "{#DBS}": "DBA" }
	   ]}
	]
}

Which is a pain in the butt, for both, the user and the developer.

Comment by richlv [ 2018 Apr 18 ]

Here's a usecase where the current hacks fall short.

A script discovers JMX ports on a box and creates JMX items for each found JVM. Now, on each JVM one might want to have another level of LLD, but that is not possible - the JMX discovery would have to stem from the discovered items.

The problem is that not all information can be gathered in one script and then sent to an LLD rule, different discovery methods/types have to be used.

Comment by Stéphane Olivier [ 2018 Dec 18 ]

Hi.

I'm trying to understand the following sentence from https://www.zabbix.org/wiki/Docs/howto/Nested_LLD:

"In a single go: You can implement the secondary rule with a trapper item of your choice, if possible connectivity-wise. Just invoke the trapping from your script"

For me, trapper items have to be created so you can use zabbix_sender to send values.

I don't see how to implement the second discovery rule with a trapper.

Thx

Comment by richlv [ 2018 Dec 18 ]

My interpretation:
The first method uses two LLD rules that separately gather information about the two levels (using the example from the wiki page, one to collect list of databases, and one to collect list of db:tables). The second method collects information on databases and tables in one go, and sends data to both LLD rules.

Comment by Stéphane Olivier [ 2018 Dec 18 ]

There is one problem with a big json file which includes dbs and tables. ie:

{
  "data": [
    { "#DBNAME": "db01", "#TBLNAME": "tbl01" },
    { "#DBNAME": "db01", "#TBLNAME": "tbl02" },
    { "#DBNAME": "db02", "#TBLNAME": "tbl01" },
    { "#DBNAME": "db02", "#TBLNAME": "tbl02" }
  ]
}

if you have an item property named db.size[#DBNAME] in your db LLD, you'll get duplicate keys.

That's why i was not sure to have properly understood the sentence

Comment by richlv [ 2018 Dec 18 ]

The script would send two different JSONs to two different rules, it's just that the data collection would happen once.

Comment by Stéphane Olivier [ 2018 Dec 18 ]

Data collection for both discovery rules would happen only once if you don't use "Zabbix agent" or "Zabbix agent (active)" as type for them else the script will be called twice.

Comment by Jack Valko [ 2021 Apr 21 ]

Here's another use case that really would make a nested LLD w/ host prototypes powerful.

I'm managing a large Meraki installation on 3 continents.  The only way to properly get data from devices is to use Meraki's API (snmpwalk wont scale and cant see devices behind a meraki appliance).  Meraki devices are configured hierarchically --> Org/Network/Device.

My Org discovery returns this:

{['name':'Org Name','id':'1234567','url':'https://a-meraki-url.com/foo'}

]

I then want to discover networks so I create a host from the 'name' key and use it to discover networks.  Once those networks are discovered I'd like to create hosts for those and start to discover devices.

I can write an external script to do this but I'd like to do this natively within Zabbix and not have to shell out every time I discover.  Nested LLD is about the only practical way to discover large groups of devices.  

Comment by dimir [ 2021 Aug 20 ]

jackvalko, you might be interested in voting and following ZBXNEXT-6844 then.

Comment by Stefan [ 2021 Aug 20 ]

Sorry, but no we are not interested in other features we want this

Comment by James Kirsop [ 2022 May 04 ]

I outlined another use case for nested LLD here: https://www.zabbix.com/forum/zabbix-help/433212-cascading-lld-building-juniper-cos-items-on-interface-and-queue-indexes

@palivoda can we get this request assigned to someone for review?

Comment by Gustavo Guido [ 2022 May 26 ]

The link https://www.zabbix.org/wiki/Docs/howto/Nested_LLD in pointing to https://www.zabbix.com/community, not to a particular doc, so I did not read it (sorry if Im saying something that is explained in that article)
There are many situations where the LLD should iterate, when adding tags to items or tirgger prototypes, when an entity has sub-entitys and you need to relate triggers (no trigger in sub-entity if the master entity is offline)

Comment by Gergely Czuczy [ 2022 Jun 27 ]

This would also make it possible to more easily monitor nginx JSON status.

The open module's format is here, it's an upstream/server nesting: https://github.com/nginx-modules/ngx_http_json_status_module

And the commercial official API module also has some nesting: https://nginx.org/en/docs/http/ngx_http_api_module.html

 

Comment by Gergely Czuczy [ 2022 Jun 28 ]

The Solr cluster status response is also a nested json: https://solr.apache.org/guide/6_6/collections-api.html#CollectionsAPI-clusterstatus

$.collections.{collection}.{shard}.replicas.{replica}

That's 3 levels of nesting. Without this feature, enterprises using solr cannot really utilize zabbix. It's pretty much like ZBXNEXT-1, when people need a template generator specific for their setup, due to a lack of a well needed feature in zabbix.

 

Comment by Stefan [ 2022 Jun 28 ]

maybe this feature can be funded by the community via https://bountysource.com/ ?

Comment by Oleg Ivanivskyi [ 2022 Aug 08 ]

Improved filtering is another possible use case for this feature.

For example, you would like to monitor SFP transceiver power status for a Cisco device. You can get all SFP modules via SNMP, e.g. port, serial, model, etc.:

.1.3.6.1.2.1.47.1.1.1.1.2.311 = STRING: "Transceiver (slot:11-port:11)"
.1.3.6.1.2.1.47.1.1.1.1.12.311 = STRING: "CISCO-AVAGO"
.1.3.6.1.2.1.47.1.1.1.1.13.311 = STRING: "SFP-10G"

Each module has different sensors, e.g. receive power, transmit power, etc. SFP module with 311 index has 5 different sensors:

.1.3.6.1.2.1.47.1.1.1.1.4.10001 = INTEGER: 311
.1.3.6.1.2.1.47.1.1.1.1.4.10002 = INTEGER: 311
.1.3.6.1.2.1.47.1.1.1.1.4.10003 = INTEGER: 311
.1.3.6.1.2.1.47.1.1.1.1.4.10004 = INTEGER: 311
.1.3.6.1.2.1.47.1.1.1.1.4.10005 = INTEGER: 311

Sensor data (e.g. name, status, etc.)

.1.3.6.1.2.1.47.1.1.1.1.2.10001 = STRING: "Ethernet11/11 Lane 1 Transceiver Receive Power Sensor"
.1.3.6.1.4.1.9.9.91.1.2.1.1.3.10001.1 = INTEGER: 3

At the moment, you can discover sensors but can't use module related information as a filter. I.e. you can't monitor power sensors for "SFP-10G" modules only.

Comment by Ben Hanson [ 2022 Sep 09 ]

"Improved filtering is another possible use case for this feature"

This is my motivator as well, though with a configuration/design use case rather than hardware discovery.

We utilize Cisco gear and do port discovery of all of our switches.  I currently filter based on port type and up/down status.  There is an SNMP OID that uses the interface index that will report CDP neighbor name(s) (.1.3.6.1.4.1.9.9.23.1.2.1.1.6.{IFINDEX}.#) .  Unfortunately, it has a trailing number after the index, and it also is only populated if a value is present.  If the LLD could include this OID in discovery, then I could create one discovery rule for ports with a neighbor based on device name prefix, and a second for everything else.  This would allow me to automatically assign triggers based on expected port type (uplink vs device, etc).

So, the ability to include {IFINDEX} in a discovery label would be helpful.

Comment by John Ivan [ 2022 Nov 11 ]

Might be related.  Using SNMP discovery to generate monitoring items based on a storage type.  Presently I can have several discoveries run the same SNMP walk, each with a different discovery filter by storage type (scheduled to avoid concurrency that causes the discovery to time out).  Seems to me this would be better with a master discovery (with no item prototypes) that is run once to return all storage types, then run dependent discoveries with preprocessing to match the storage type and generate the items.  The dependent discoveries do not have to repeat the SNMP walk.

This is similar to the existing feature where a Master Item run a command that returns multiple values and dependent items can preprocess those results without having to run the command again.  

Comment by Oleksii Zagorskyi [ 2023 Feb 03 ]

ZBXNEXT-7527 asks to host prototypes nesting, which is very related to current case, but still a little bit specific.

Comment by Craig Hopkins [ 2023 Feb 23 ]

Nested LLD would definitely be useful for multi-lane optics. The OID looks like

SNMPv2-SMI::enterprises.2636.3.60.1.2.1.1.6.{PORTINDEX}.{LANE}

but there's no way currently (that I can find) within Zabbix to support this.

Comment by LivreAcesso.Pro [ 2023 Jun 27 ]

Where the info at http://zabbix.org/wiki/Docs/howto/Nested_LLD go?

Comment by Volker Fröhlich [ 2023 Jun 27 ]

https://web.archive.org/web/20171115143613/http://zabbix.org/wiki/Docs/howto/Nested_LLD

The wiki is no more.

Comment by Arthur Ivanov [ 2024 Feb 27 ]

Another case for cascaded LLD is redfish API:

/redfish/v1/Chassis/<ID>/Power/PowerSupplies/<ID>

Currently, there is no way to enumerate Chassis and then Power Supplies within one template and http-agent.

Supermicro:

{
    "@odata.context": "/redfish/v1/$metadata#ChassisCollection.ChassisCollection",
    "@odata.type": "#ChassisCollection.ChassisCollection",
    "@odata.id": "/redfish/v1/Chassis",
    "Name": "Chassis Collection",
    "Members": [
        {
            "@odata.id": "/redfish/v1/Chassis/1"
        },
        {
            "@odata.id": "/redfish/v1/Chassis/HA-RAID.0.StorageEnclosure.0"
        }
    ],
    "Members@odata.count": 2
}

Lenovo:

{
    "@odata.type": "#ChassisCollection.ChassisCollection",
    "@odata.id": "/redfish/v1/Chassis",
    "Members": [
        {
            "@odata.id": "/redfish/v1/Chassis/1"
        },
        {
            "@odata.id": "/redfish/v1/Chassis/3"
        },
        {
            "@odata.id": "/redfish/v1/Chassis/4"
        }
    ],
    "@odata.etag": "\"2b1611aac39424e542c\"",
    "@odata.context": "/redfish/v1/$metadata#ChassisCollection.ChassisCollection",
    "Description": "A collection of Chassis resource instances.",
    "Members@odata.count": 3,
    "Name": "ChassisCollection"
}

Dell:

{
    "@odata.context": "/redfish/v1/$metadata#ChassisCollection.ChassisCollection",
    "@odata.id": "/redfish/v1/Chassis",
    "@odata.type": "#ChassisCollection.ChassisCollection",
    "Description": "Collection of Chassis",
    "Members": [
        {
            "@odata.id": "/redfish/v1/Chassis/System.Embedded.1"
        },
        {
            "@odata.id": "/redfish/v1/Chassis/Enclosure.Internal.0-1:RAID.SL.3-1"
        }
    ],
    "Members@odata.count": 2,
    "Name": "Chassis Collection"
}

ZBXNEXT-3643





Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-6982] Implement audit for trigger Created: 2021 Oct 08  Updated: 2024 Mar 21

Status: Resolved
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Gregory Chalenko Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBX-19803 Not logging in audit log when tag is ... Closed
depends on ZBX-21415 ORA-03113 on Trigger update Confirmed
Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 3




Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-6983] Implement audit for trigger prototype Created: 2021 Oct 08  Updated: 2024 Mar 21

Status: Resolved
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Gregory Chalenko Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 4

 Comments   
Comment by Roberts Lataria (Inactive) [ 2021 Dec 27 ]

Implemented in development branch feature/ZBXNEXT-6983-5.5.





Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-6990] Implement audit for valuemap Created: 2021 Oct 08  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Gregory Chalenko Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 1




Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-7123] Implement audit for User roles (API) Created: 2021 Dec 15  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Gregory Chalenko Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: auditlog, roles
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-21482 No audit log for role modification Closed
Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15




Audit log bulk operations performance improvements (ZBXNEXT-6528)

[ZBXNEXT-6774] Performance improvements of host interfaces Created: 2021 Jul 12  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 5.4.2
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Specification change (Sub-task) Priority: Trivial
Reporter: Vladimirs Maksimovs Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: Zabbix7.2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBX-19671 The custom host interfaces of templat... Open
Team: Team C
Sprint: Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401
Story Points: 5




Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-6960] Implement audit for frontend (Web scenarios) Created: 2021 Sep 29  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Specification change (Sub-task) Priority: Trivial
Reporter: Vladimirs Maksimovs Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 2




Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-6987] Implement audit for map Created: 2021 Oct 08  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Gregory Chalenko Assignee: Janis Freibergs
Resolution: Unresolved Votes: 2
Labels: audit, auditlog, map
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-7089 Audit Changes to Map Elements Closed
Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 8

 Comments   
Comment by Andrejs Griščenko [ 2022 Jan 18 ]

Resolved in development branch feature/ZBXNEXT-6987-5.5.





Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-6984] Implement audit for graph Created: 2021 Oct 08  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Gregory Chalenko Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 3




Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-6988] Implement audit for task Created: 2021 Oct 08  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Gregory Chalenko Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 1




Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-8351] Implement audit for frontend (Discovery rule) Created: 2023 Mar 16  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 7.0.0beta3 (master), 7.0 (plan)

Type: Specification change (Sub-task) Priority: Trivial
Reporter: Vladimirs Maksimovs Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBX-22729 PHP Warning 'Undefined array key' err... Closed
Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 5




Audit log bulk operations performance improvements (ZBXNEXT-6528)

[ZBXNEXT-6567] Performance improvements for trigger.create, trigger.update, triggerprototype.create, triggerprototype.update methods working with template triggers Created: 2021 Mar 17  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 7.0.0beta3 (master), 7.0 (plan)

Type: Specification change (Sub-task) Priority: Trivial
Reporter: Vladimirs Maksimovs Assignee: Vladimirs Maksimovs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team C
Sprint: Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401




Make audit log complete and reliable (ZBXNEXT-6470)

[ZBXNEXT-6998] Implement audit for API host Created: 2021 Oct 13  Updated: 2024 Mar 26

Status: In Progress
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Gregory Chalenko Assignee: Janis Freibergs
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
causes ZBX-23823 Cannot remove host or template macros... READY TO DEVELOP
Duplicate
duplicates ZBX-22636 Max repetition count field is not val... Closed
is duplicated by ZBX-13461 Obscure API error message "Incorrect ... Closed
is duplicated by ZBX-23182 SQL error when trying to save host wi... Closed
Sub-task
part of ZBX-21870 Extra fields of nested objects are lo... READY TO DEVELOP
Team: Team C
Sprint: Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021), Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022), Sprint 92 (Sep 2022), Sprint 93 (Oct 2022), Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401, S24-W6/7, S24-W8/9, S24-W14/15
Story Points: 10




[ZBXNEXT-9044] Change dashboard constants Created: 2024 Feb 26  Updated: 2024 Mar 28

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: 7.0.0beta3 (master), 7.0 (plan)

Type: New Feature Request Priority: Trivial
Reporter: Alex Kalimulin Assignee: Andrejs Griščenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-9097 Change the width of the dashboard wid... READY TO DEVELOP
Epic Link: Zabbix 7.0
Team: Team A
Sprint: S24-W12/13, S24-W14/15
Story Points: 2

 Description   
  1. Frontend
    1. Increase DASHBOARD_MAX_COLUMNS to 72
    2. Increase DASHBOARD_WIDGET_MAX_ROWS to 64
    3. Reduce DASHBOARD_WIDGET_MIN_ROWS to 1
    4. Modify import/export accordingly
  2. DB upgrade
    1. Change the coordinates of existing widgets accordingly





[ZBXNEXT-6790] Save item error with "Check for not supported value" Created: 2021 Jul 20  Updated: 2023 Oct 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 5.4.2
Fix Version/s: None

Type: Change Request Priority: High
Reporter: Yurii Polenok Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 4
Labels: database, error, history, http, item, notsupported, odbc, preprocessing
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-7726 new preprocessing step: turn not supp... Closed

 Description   

Please add ability to store in the history item error if item became not supported.
Could be added to "Check for not supported value" preprocessing step as another "Custom on fail" parameter.

The ability to save errors can be very useful in http, database monitoring and many other types.
When we receive an ORA error from Oracle DB, it is not enough to simply override it with the default error value, the problem can be resolved much faster if we save the error and send a clear alert to the DBA team or even a specific person based on the content of the error.

Thank you!



 Comments   
Comment by Yurii Polenok [ 2022 Jan 05 ]

"Connection failed: WRONGPASS invalid username-password pair."
Nice error message from the Redis item, but it is not yet possible to automatically save and add it to the ticket to help administrators quickly find where the error is.

 





[ZBXNEXT-5918] Unable to add just one link using map.update Created: 2020 Apr 28  Updated: 2020 May 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: High
Reporter: Dhiman Das Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I am using Zabbix API and method map.update to add a link between 2 elements, its resetting / removing the other, already existing links between other elements is same map.

Sharing a sample payload is like. I am using python's requests module.

payload = {
 "jsonrpc": "2.0",
 "method": "map.update",
 "auth": token,
 "id": 1,
 "params": {
 "sysmapid": "46",
 "links": [{
 "selementid1": "122",
 "selementid2": "119",
 "color": "ffff00",
 "label": "port:2049",
 "permission": 2
 }, {
 "selementid1": "118",
 "selementid2": "121",
 "color": "ffff00",
 "label": "port:9092",
 "permission": 2
 }],
 },
}





[ZBXNEXT-6435] Ability to change secret macro by owner or superadmin Created: 2021 Jan 12  Updated: 2021 Jan 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Andrei Gushchin (Inactive) Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently secret macros cannot be viewed in UI or corrected in case of typos.
So it would be useful to have a chance to change it by owner or superadmin role.






[ZBXNEXT-8557] implement API method "massupdate" for class "item" Created: 2023 Jul 10  Updated: 2023 Jul 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 6.0.19, 6.4.4
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Oleksii Zagorskyi Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Zabbix does not have such method for API, while, for example "host" class has it.

Would be nice to have such method for "item" too.






[ZBXNEXT-8443] API configuration.export and dashboards Created: 2023 May 12  Updated: 2023 May 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 6.0.17, 6.4.2
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Ricardo Canani Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In version 5.0, 'screens' was a valid 'options' parameter for API method 'configuration.export'.

https://www.zabbix.com/documentation/5.0/en/manual/api/reference/configuration/export

Since version 5.4, screens have been replaced by dashboards, so 'dashboards' should be supported by 'configuration.export' method as a valid 'options' parameter.

 






[ZBXNEXT-5998] New Macro - {ITEM.ERROR<1-9>} Created: 2020 Jun 02  Updated: 2020 Jun 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F), Templates (T)
Affects Version/s: 3.0.30, 3.0.31, 4.0.20, 4.0.21, 4.4.8, 4.4.9, 5.0.0, 5.0.1
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Diego Henrique Stammerjohann Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,

I need a new macro to improve readbility of a problem generated by a HTTP Agent.

{ITEM.ERROR<1-9>}

So in the trigger description I can put the exact error that ocurr when the URL return an error code different from 200:

Response code "503" did not match any of the required status codes "200"






[ZBXNEXT-6403] Support for trigger tags macros parse via API Created: 2020 Dec 16  Updated: 2021 Jun 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 4.0.27, 5.0.6
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: zhangqi Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 3
Labels: api, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

 Parse tags macros in trigger.get method, for example add expandTags property.

Result:
        get expanded tags via API



 Comments   
Comment by Alexander Vladishev [ 2020 Dec 21 ]

Could you please provide use case/s for this feature?

Comment by Mateusz Berkieta [ 2021 Jun 01 ]

Hello

 

I have the same need and I can provide the use case. We use lld to discover some data. Each discovered subject consists of several information's which are then created as items. Then all items are used to create one trigger. One item goes to trigger subject (name) and the rest are added as tags.

 

We have an umbrella monitoring system which gets all active triggers along with hosts and especially hosts groups. We want to present data in tags in separate attributes (columns) in our umbrella system.

 

I hope that this explains the use case





[ZBXNEXT-6205] Add more control on macro precedence in templates Created: 2020 Sep 22  Updated: 2020 Sep 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Documentation (D), Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Medium
Reporter: Pascal Uhlmann Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: macro, template
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The documentation https://www.zabbix.com/documentation/current/manual/config/macros/user_macros explains how Zabbix resolves macros. In most cases this may be sufficient. But sometimes one needs more control to define the precedence of macros defined in templates.

Example situation:

  • Main OS template "Linux" for each Linux host.
  • Separate template for "SLES" which inherits from "Linux" and has:
    • Additional items and triggers
    • Some macros set to a different value, for example:
      • {$NTP_SERVICE_NAME} set to "ntp"
  • Template for NTP service which is named "ntp" or "ntpd" on different Linux distributions.
    • Linked directly to the host
    • Macro {$NTP_SERVICE_NAME} set to "ntp"
    • Item service.status[\{$NTP_SERVICE_NAME}]
  • The resolved macro value will depend on the template ID which one cannot change. So in some cases it will have the expected value and in some it won't.

So I think it's important to add the ability to have more control on it. One option could be adding a priority to macros defined in templates. Default will be "0" which would result in the current behaviour. If one sets a macro's priority >0 the one with the highest priority should have precedence.






[ZBXNEXT-7897] Maintenance status with Zabbix API Created: 2022 Aug 02  Updated: 2022 Aug 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Low
Reporter: Steve DESTIVELLE Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2022-08-02-11-37-39-534.png    

 Description   

Hi,

 

is it possible to add the maintenance state (expired, active) in the Zabbix API maintenance.get query ?

 

Best regards,

 

Steve Destivelle

 

 






[ZBXNEXT-7103] API problem.get property to skip Dependent Problems Created: 2021 Dec 07  Updated: 2021 Dec 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Low
Reporter: Victor Breda Credidio Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-7106 problem.get doesn't use recent like t... Reopened

 Description   

When using the problem.get API call, it displays all the problems, including those that are hidden in the frontend as dependent problems.

This request is for a property of this call that can easily display all the problems as in the frontend, excluding those that are hidden. 

Something like skipDependent works with triggers.






[ZBXNEXT-8663] Allow trigger dependencies for trigger prototypes discovered for a host to have dependencies added via api Created: 2023 Aug 30  Updated: 2023 Aug 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 6.4.6
Fix Version/s: None

Type: Change Request Priority: Low
Reporter: James Cook Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any Zabbix Version



 Description   

The scenario is where you have two templates with discovery rules assigned to a host.

The discovery rules discover triggers on the host and they are defined as discovered triggers allocated to the host.

A discovered trigger (T1) from discovery rule (D1) needs to have a dependency on the a discovered trigger (T2) from discovery rule (D2).

However through the front end or api add a dependency for the discovered trigger (T1).

What would be nice is just like you can enable/disable the discovered triggers directly on the host, that you can also add dependencies.

When updating the trigger prototype perhaps there would be an option 'keep/clear dependencies' which would not clear dependencies for existing discovered triggers.

In our case we have discovered an oid '.1.3.6.1.4.1.12356.101.4.8.2.1.3.XXX' (fgLinkMonitorState) and have a trigger when the link status is active/inactive, along with an oid '.1.3.6.1.2.1.10.7.2.1.19.XXX' (Duplex Status - Duplex Status) and have a trigger when the link duplex is half-duplex.

The condition is when the link is down the status defaults to half-duplex which will cause the duplex status trigger to fire, where as if we could put a dependency in place between the two discovered triggers it would not fire.

We use automation to put dependencies in place which is based on rules/queries so this would not be an issue for us.






[ZBXNEXT-8498] API method interface: change bulk to combined Created: 2023 Jun 13  Updated: 2023 Jun 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A)
Affects Version/s: 6.4.4rc1, 7.0.0alpha2
Fix Version/s: None

Type: Change Request Priority: Low
Reporter: Andrey Tocko Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The interface method for API still has a "bulk" option in detail of interface for 6.4 and 7.0.

Consider changing to "combined". Alias to bulk could stay for compatibility.






[ZBXNEXT-8352] Add support to MS Azure SCIM requests with the flag Created: 2023 Mar 16  Updated: 2023 Apr 12

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 6.4.0, 7.0.0alpha1
Fix Version/s: None

Type: Change Request Priority: Low
Reporter: Elina Pulke Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
caused by ZBXNEXT-276 LDAP authentication with groups support Closed
Sub-task
part of ZBX-21976 Finalize SAML and SCIM development Closed
Team: Team C

 Description   

In MS Azure when special flag is added to SCIM URL, some requests are sent in different format.

Need to provide support for these requests.






[ZBXNEXT-5979] Ability to post JSON code snippets into a Web form Created: 2020 May 23  Updated: 2020 May 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 5.0.0
Fix Version/s: None

Type: New Feature Request Priority: Low
Reporter: Victor Sudakov Assignee: Alexander Vladishev
Resolution: Unresolved Votes: 3
Labels: api, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

As many Zabbix administrative tasks such as batch addition of hosts etc is most convenient via the JSON API, there should be a possibility to paste JSON code snippets directly into a Web form of the frontend interface, like it is done in the AWS management console. This would eliminate much of the unnecessary hassle with curl, wget, web authorizations etc. You just prepare a JSON screnario, copy and paste it into the form and press "Execute."






[ZBXNEXT-8261] ARM64 virtual appliance Created: 2023 Feb 08  Updated: 2023 Feb 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L)
Affects Version/s: 6.0.13, 6.2.7, 6.4.0beta6
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: appliance, arm64
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It is not possible to install virtual appliance or use existing one on ARM64 systems.






[ZBXNEXT-4519] Cannot bind ldap server: authentication failed Created: 2018 Apr 24  Updated: 2023 May 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L), Server (S)
Affects Version/s: 3.0.15
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Zhou Zhenhua Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

zabbix was installed on centos 6.8, needs to bind ldap server from Windows server 2008 R2 Enterprise


Attachments: PNG File ldap conect test script.png     PNG File zabbix.png    

 Description   

Our zabbix component was installed on centos 6.8, we need to bind ldap information from Windows server 2008 R2 Enterprise. We could get user accounts from Windows server, but cannot bind ldap server in zabbix, it said unable to bind to server, invalid credentials, login name or password is incorrect.



 Comments   
Comment by Alexey Pustovalov [ 2018 May 10 ]

do you use any special characters in login name or password?
Are you able to connect to LDAP server from Frontend server shell using ldapsearch command?

Comment by Andrew Twemlow [ 2018 May 29 ]

Have you tried it without ldap:// for the LDAP host, we don't have that in our working configuration.
You also have php-ldap installed for your version of php running on your web server?

Comment by Damian Ferrari [ 2019 Jun 13 ]

I have same problem with Zabbix Server 4.2.3 and AD in Windows 2016. I've tried many times with all recommended parameters but no luck. Connection test from PHP script works. 

Comment by Dave Johnson [ 2022 Mar 09 ]

At a small risk that I am missing something here, as I am really brand new to zabbix, so I apologize upfront if I stir the pot.  Still, I reckon that this is probably the right thing to do as Microsoft has shifted to requiring using channel signing to attach to ldap now (using certificates).

I felt the need to interject as I had to go through and generate some certs for linux machines (via sssd) and some apps (including postgres) to use ldaps and have the cert with private key authenticate into our AD.  This is the method we use for querying AD when you are not joined in the domain.   The certs need to be setup in AD to allow secure LDAP / AD access to the records in AD.  Here are some additional notes on Microsoft getting people to migrate towards ldaps for years:

In Aug 2019, Microsoft released "Microsoft Guidance for Enabling LDAP Channel Binding and LDAP Signing":
   https://msrc.microsoft.com/update-guide/en-us/vulnerability/ADV190023

   That post includes the following link:
    https://docs.microsoft.com/en-US/troubleshoot/windows-server/identity/enable-ldap-signing-in-windows-server

Some documentation I refered to that helped me create the certs and perm them in AD:
   https://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspx
   https://techcommunity.microsoft.com/t5/sql-server-blog/step-by-step-guide-to-setup-ldaps-on-windows-server/ba-p/385362

I saw this recent post, which may help too (I didn't use this, looks to be more for AD "auth use"):
   https://bl.ocks.org/magnetikonline/0ccdabfec58eb1929c997d22e7341e45

==

Now with the above said, can Zabbix:

a) authenticate against ldap with a certificate?  (more universal and probably recommended) 
b) piggyback off the local machine's auth (ie. via sssd) somehow? (probably easier through some pam configuration, but is going to be restrictive to unix rev/sssd versions).

Again there is a small possibility I have this wrong as I am new to zabbix, but from what I read here and currently understand, zabbix "should" have a proper way of authenticating into AD using a cert, right?





[ZBXNEXT-5681] docker images requires root permission Created: 2020 Jan 10  Updated: 2020 Jan 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: dakol Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

create container without root permission from one the image provided by https://www.zabbix.com/container_images

docker container create --user 5000

or in Openshift (which execute container with a "arbitery" user id)

Result:
the container failed to start because docker-entrypoint.sh modify files belonging to root

/etc/nginx
/etc/apache
/etc/php*
/var/log/*

Expected:
A docker image which can run without root permission

 






[ZBXNEXT-4012] Nested Host Group Support in Screens Created: 2017 Aug 01  Updated: 2024 Jan 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L), Frontend (F)
Affects Version/s: 3.2.7
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Travis Truttschel Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: frontend, screens, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix Hyper-V Appliance


Issue Links:
Sub-task
part of ZBXNEXT-8094 Group of host groups (real groups hie... Open

 Description   

When under: Monitoring -> Screens, adding a "Host Group Issues" element and setting the "Host Group" field to be a parent group of several nested groups, the "Host Group Issues" dialog will not display issues or status of any host belonging to a nested host group within the parent.

For example, given the host groups:

Servers
Servers/Chicago
Servers/Dallas

If you select Servers as the Host Group, nothing within Chicago or Dallas will be included.

This also applies to the Trigger Info element as well as possible others.

This would be a very useful feature for being able to create screens that list a general overview of an entire group of nested groups.






[ZBXNEXT-8117] SSH Created: 2022 Nov 22  Updated: 2022 Nov 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L)
Affects Version/s: 6.2.4
Fix Version/s: None

Type: Epic Priority: Trivial
Reporter: Reinald Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Epic Name: SSH password

 Description   

Liebes Tem,

 

wir haben von einem anderen Unternehmen den zabbix Server eines Kunden übernommen. Jetzt muss hier verschiedenes angepasst werden wie z. B. Passwörten für den SSH Zugang auf Switches.

Daher die Frage, ob Zabbis auf Switches zugreifen kann, die per SSH und Passwörtern geschützt sind und wo wir diese Passwörten einstellen können.

Danke für die hilfe im voraus.

 

Mit freundlichen Grüßen

TKI-Systeme

Reinald Krüpper






[ZBXNEXT-5613] Provide ready virtual appliance images for vSphere enabled hypervisors Created: 2019 Dec 04  Updated: 2020 Jan 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L)
Affects Version/s: 3.0.28, 4.0.15, 4.4.3, 5.0.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Edgar Akhmetshin Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: esxi, vmware
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sub-task
depends on ZBX-17030 Defaul network type/driver for VMware... Confirmed
Epic Link: DEV-680

 Description   

Hello,

Current vmdk images should be converted before import in vSphere hypervisors:
https://www.zabbix.com/documentation/4.4/manual/appliance#format-specific_notes

It takes time to convert and import such images.

Regards,
Edgar






[ZBXNEXT-2510] bugs install zabbix ovf in the esxi5.1 Created: 2014 Oct 14  Updated: 2017 May 31

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L)
Affects Version/s: 2.2.4
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: liuzhong Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

DELL R910 with esxi5.1.
zabbix version: 2.2.2 with zabbix ovf ,(i downloaded it at yesterday)



 Description   

it easy to download and install the ovf in the esxi. but i found a question.
after deplying the ovf , i works good. but when i open the power, it show vistit 20.20.0.4/zabbix . but i can not visit ,cause my innerip is 192.168.1.x.
and i want to change the ip by configing the file in the "/etc/sysconfig/network/ifcfg-eth0"
it show me the file is readonly!!
and this appliance did not support yast or other command.
How can i change the ip?



 Comments   
Comment by richlv [ 2014 Oct 14 ]

appliance does have yast installed - you have to launch executable yast2. does that help ?

Comment by liuzhong [ 2014 Oct 14 ]

@richlv thanks for your help .
i have try yast2, but it shows yast2: command not found.
and coud you give me your skype num?

Comment by richlv [ 2014 Oct 14 ]

i verified that both yast and yast2 executables are available in the 2.2 appliance.
this seems to be more like a support request to me - please provide more information to identify it as a bug, or use community support options like zabbix irc, forums and other channels - see https://www.zabbix.org/wiki/Getting_help for more detail

Comment by liuzhong [ 2014 Oct 14 ]

i have read the guide site many times .such as submit to the forum.
or could you please give me the info list ? so i can give them to you to test or do something.
thanks

Comment by liuzhong [ 2014 Oct 14 ]

OK i will try another time with the iso.





[ZBXNEXT-8484] Allow importing .ovf Appliance images in VMware Created: 2023 Jun 08  Updated: 2024 Mar 21

Status: READY TO DEVELOP
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Trivial
Reporter: Tomass Janis Bross Assignee: Jurijs Klopovskis
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team B
Sprint: Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023)

 Description   

There have been many reports over the years from Zabbix users in the forums, as well as many reports from companies evaluating Zabbix, that the Zabbix Appliance .ovf images cannot be imported to VMware due to a variety of different errors.

It would be great if we could make the Zabbix appliance .ovf format images work in VMware.






[ZBXNEXT-8430] Unable to integrate Zabbix instance with Service new UTAH instance Created: 2023 May 03  Updated: 2023 May 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L)
Affects Version/s: 6.0.17
Fix Version/s: None

Type: Change Request Priority: Low
Reporter: Prashanth Shalamath Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[ZBXNEXT-8431] Unable to integrate Zabbix instance with Service new UTAH instance Created: 2023 May 03  Updated: 2023 May 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Appliance (L)
Affects Version/s: 6.0.17
Fix Version/s: None

Type: Change Request Priority: Low
Reporter: Prashanth Shalamath Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: agent
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Dev


Attachments: PNG File Screenshot 2023-05-03 at 4.10.57 PM.png    

 Description   

Unable to integrate Zabbix environment with Service UTAH versions, Getting below error while testing

 

Media type test log

00:00:00.000 [Debug] [ ServiceNow Webhook ] Sending request: https://gianteagletest.service-now.com/api/now/table/incident {"short_description":"

{ALERT.SUBJECT}

","description":"{ALERT.MESSAGE}","comments":"{ALERT.MESSAGE}"}00:00:00.011 [Warning] [ ServiceNow Webhook ] ERROR: Error: cannot get URL: SSL connect error.






[ZBXNEXT-6843] Zabbix integration with Prometheus Alertmanager Created: 2021 Aug 20  Updated: 2023 Sep 11

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Server (S), Templates (T)
Affects Version/s: 6.0 (plan)
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Edgar Akhmetshin Assignee: Aleksandre Sebiskveradze
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Kubernetes/Prometheus


Issue Links:
Causes
Duplicate

 Description   

Please provide official integration out of the box for Prometheus AlertManager: alerts/items//triggers/hosts/groups.






[ZBXNEXT-2726] error for snmp LLD rule: "Invalid SNMP OID: cannot parse expression." Created: 2015 Feb 24  Updated: 2017 May 31

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F)
Affects Version/s: 2.5.0
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Victor Bashkirov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 6.5


Attachments: JPEG File Screen1.jpg     JPEG File Screen2.jpg     JPEG File Screen3.jpg    

 Description   

Problems with CONFIGURATION OF DISCOVERY RULES.Errors "Invalid SNMP OID: cannot parse expression." In version 2.4 all items normally detected.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Feb 25 ]

According to https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300#multiple_oid_support_in_snmp_discovery
there is new syntax for SNMP OID in discovery rule.

But I could not find in documentation (especially on upgrade 3.0 notes) any information that old syntax (just OID) is not supported.
It even "sounds" more like new syntax is supported additionally to existing one:

SNMP discovery item OID value now accepts a discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …] format (see low level discovery for details). The OID values of existing SNMP discovery rules will be converted to the new format (discovery[{#SNMPVALUE},<old oid value>]) during database upgrade.

https://www.zabbix.com/documentation/3.0/manual/installation/upgrade_notes_300

Spec says:

Existing SNMP discovery rules will be converted to take advantage of the new syntax, old syntax will no longer will be supported.

https://www.zabbix.org/wiki/Docs/specs/ZBXNEXT-1554

I believe we have to:

Comment by Oleksii Zagorskyi [ 2015 Feb 25 ]

(1) also, as we started to use special syntax for OID - why we didn't perform OID syntax check similarly to item key ?

Comment by Victor Bashkirov [ 2015 Feb 26 ]

Thank you Oleksiy. All made in the instructions. Began to work. Good modification. Previously, there was no access to the documentation 3.0.
Спасибо.

Comment by Victor Bashkirov [ 2015 Feb 27 ]

The OIDs to discover are defined in SNMP OID field in the following format: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,].

Comment by richlv [ 2015 Feb 27 ]

sure, but as zalex noted, there are some potential improvements in the documentation and the frontend





[ZBXNEXT-9040] JS code inheritance/code reuse across items/templates (script item, preprocessing) Created: 2024 Feb 26  Updated: 2024 Feb 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 6.0.25, 7.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please provide a way to define user JS functions/methods which can be reused across items/templates.

For example AWS template uses several items, which has code duplicates for AUTH process, such approach complicates a lot template creation, since if you have 10-20 items with several same function, and you need to modify it or add - you need to modify all items manually once again.






[ZBXNEXT-6845] Long running queries from frontend on history tables + High CPU usage on DB host same time Created: 2021 Aug 20  Updated: 2022 Sep 15

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F)
Affects Version/s: 5.0.14, 6.2.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Elina Kuzyutkina (Inactive) Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 9
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS: v7.9
Zabbix: v5.0.14
DB: PGSQL (postgresql12-server-12.7-1PGDG.rhel7.x86_64) + TSDB (timescaledb-2-postgresql-12-2.3.1-0.el7.x86_64)


Attachments: Zip Archive 05.zip    
Issue Links:
Duplicate
Sub-task
Sprint: Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021), Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022), Sprint 91 (Aug 2022)

 Description   

Frontend can generate queries like
SELECT itemid FROM history* WHERE (itemid IN (........)) AND clock>unixtime GROUP BY itemid;
We have index for historical tables on (itemid,clock). So normally we have:

Bitmap Index Scan on _hyper_*_chunk_history_str_1  (cost=0.00..2307.05 rows=95986 width=0) (actual time=14.939..14.940 rows=92213 loops=1)
Index Cond: ((itemid = ANY ('{....,...,....}'::bigint[])) AND (clock > XXXX))

i.e. postgres splits a set of itemids and performs parallel scanning by index (itemid,clock)

Starting from a certain amount of itemid in condition postgres stops using this index and uses Index Cond: (clock > XXXXX) and [already in parallel] Filter: ((itemid = ANY (....)

It works much longer. ~2sec with index (itemid,clock) against ~170sec with index (clock)

As solution options:
1.tuning postgres for forced use of the index (SET enable_seqscan = OFF)
2. to split requests into several



 Comments   
Comment by Edgar Akhmetshin [ 2022 Jun 20 ]
As solution options:
1.tuning postgres for forced use of the index (SET enable_seqscan = OFF)

SET example is a session only and will not help for a running daemon.
https://www.postgresql.org/docs/current/sql-altersystem.html

If your table is big and data distribution is irregular, raising the default_statistics_target may help.

ALTER TABLE ... ALTER COLUMN ... SET STATISTICS X;

https://www.postgresql.org/docs/current/runtime-config-query.html#RUNTIME-CONFIG-QUERY-CONSTANTS

Comment by Alexander Vladishev [ 2022 Sep 15 ]

Partially fixed in ZBX-20644.





[ZBXNEXT-6719] Add ability to discover triggers inside LLD rule without item prototypes/dependent items Created: 2021 Jun 10  Updated: 2021 Nov 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: LLD, Triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate

 Description   

Example: you have a log file that is constantly updated, each line is information about the status of a specific task, the line contains a number of information by which you can identify the task and its status. Through the lld discovery rule, you can define all tasks by receiving a list from an external system. However, you cannot create 1 template/host level item with the log and LLD triggers for tasks that can be in a file without creating dependent items or item prototypes.

Would be nice to have such option.



 Comments   
Comment by Glebs Ivanovskis [ 2021 Jun 15 ]

Sounds like ZBXNEXT-3527, doesn't it?





[ZBXNEXT-8824] Add option to inherit parent host tags for the child hosts created from host prototype with ability to add/modify/change additional tags Created: 2023 Nov 08  Updated: 2024 Feb 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Proxy (P), Server (S)
Affects Version/s: 7.0.0alpha8
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Alex Kalimulin
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File grafik.png    
Issue Links:
Duplicate

 Description   

Use case: parent host is added from the CMDB with tags, all child hosts discovered from the LLD prototype on this host should have same tags.

Option can look like this:






[ZBXNEXT-8126] Suppress recovery and update notifications during maintenance for problem started before maintenance Created: 2022 Nov 30  Updated: 2022 Nov 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Server (S)
Affects Version/s: 6.0.11, 6.2.5, 6.4.0beta4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Case:
"We have a Prometheus template monitoring both Prod and Dev servers. We have a host group for the Dev Prometheus servers. We have a daily maintanence window with data collection that applied to the Dev host group. (Goal is we can catch problems and gather data overnight, but save the notification until the morning if the problem still exists.)
Now, in order to prevent waking up the on-call person to tell them a problem has resolved, I have to add complexity to the solution, or else take away some monitoring and provide less value."

Please add checkbox like:
"Suppress recovery and update notifications during maintenance"






minor, but incompatible changes for 2.0 (ZBXNEXT-419)

[ZBXNEXT-417] rename configuration parameters Created: 2010 Jun 19  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: Change Request (Sub-task) Priority: Major
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Some configuration parameters are badly named. This is an umbrella issue for listing planned incompatible changes to configuration parameters.



 Comments   
Comment by Aleksandrs Saveljevs [ 2010 Jun 19 ]

Should rename CacheSize to ConfigCacheSize or ConfigurationCacheSize. Same should be done with CacheUpdateFrequency.

Comment by Aleksandrs Saveljevs [ 2010 Sep 27 ]

There is AlertScriptsPath, but ExternalScripts.

Comment by Aleksandrs Saveljevs [ 2010 Oct 08 ]

Maybe rename StartPollersUnreachable to StartUnreachablePollers?





[ZBXNEXT-3507] Dynamic Templates Created: 2016 Oct 20  Updated: 2016 Oct 24

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Server (S), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Radek Lisowski Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File dynamic-templates.png     XML File zbx_export_templates_os_disk.xml    

 Description   

Background

Since I started to use zabbix I am missing a feature to dynamically set items in templates.

Use cases

#. We have a template for a service like Redis server - it is ok, but what if we will use more than one instance? We would need to clone this template for each additional redis instance.

#. We have multiple servers with different partition layout. On some servers we have only one root partition ( /) which we want to monitor but on some others we have for example root partition( /), database partition(/mnt/database), and on some other we have additional parititon for log (/var/log). In all different cases we would need separate templates to configure it all.

#. In my particular case we have also occured to have multiple TCP ports to be monitored if they are working properly or missing. Our customers may want to define a new one (additional) so for each additional set of ports I would need multiple templates to use. Right this could be done with standard LLD and we could discover ports either from netstat or from configuration (this would be impossible in this case).

Limitations

I want to limit to minimum zabbix agent modifications (additional scripts, userparameters modification etc).

Solution

I have managed to find a solution for that problem. It is by using Low Level Discovery and specific MACROs layout. This required from me to extend MACRO length in database and frontend limitations in some cases, but I guess that more people may want to use this as a built-in feature. How it works is described on attached graph.

Example

We have a Macro in a format (I have used all available special characters I guess)

ROOT_PARTITION:/^1G^1^1^3600+DATABASE:/mnt/database^20G^1^1^3600

We are having autodiscovery key named:

custom.itemdiscovery[{$OURMACRO}]

. Zabbix agent uses a bash script to build up the response and response is in given format:

{#PARAM_NAME}: "ROOT_PARTITION"
{#PARAM_1}: "/"
{#PARAM_2}: "1G"
{#PARAM_3}: "1"
{#PARAM_4}: "1"
{#PARAM_5}: "3600"

So the format generally looks like:

PARAMETER_NAME:PARAM_1^PARAM_2

We can add multiple parameters by concatenating them with plus sign like:

PARAMETER_NAME:PARAM_1^PARAM_2+OTHER_PARAM:PARAM_1^PARAM_2

Drawbacks

It is still LLD. Trigger dependencies are hard, and items are discovered with given frequency. If it would be built in zabbix it could be generated automatically by server (without need zabbix-agent to respond to this query).

Expectations

I would like you to think about this as a new feature. I am not sure how it could be build into zabbix, don't want to suggest anything, because my way of thinking about it may be wrong. Do you have any suggestions, propositions or comments for this feature? It gives a lot of flexibility for Zabbix.

Attachements

userparameter_itemdiscovery.conf
UserParameter=custom.itemdiscovery[*],/etc/zabbix/scripts/itemdiscovery.sh $1
itemdiscovery.sh

#!/bin/bash


## CHECK IF ARGS
if [ $# -ne 1 ]; then
  echo "Not enough parameters"
  exit 1
fi

IN=$1

in_arr=$(echo -ne $IN | tr "+" "\n")

first=0

echo -ne "{\n"
echo -ne "\t\"data\":["

for x in $in_arr; do
  IFS=":" x_arr=($x)
  
  name=${x_arr[0]}
  params=${x_arr[1]}

  if [ $first -ne 0 ]; then
    echo -ne ",\n"
    echo -e "\t{"
  else
    echo -e "{"
  fi
  first=1

  echo -ne "\t\t\"{#PARAM_NAME}\":"
  echo -n  "\"$name\""
  i=0
  for param in $(echo $params | tr "^" ":"); do
    i=$((i+1))
    echo ","
    echo -ne "\t\t\"{#PARAM_$i}\":"
    echo -n "\"$param\""
  done
  echo ""
  echo -ne "\t}"
done

echo -ne "]\n"
echo -ne "}\n"

Please ask if something is unclear.



 Comments   
Comment by richlv [ 2016 Oct 20 ]

feature requests are in general expected to ask for a specific thing. could you please clarify what would be the exact functional need here ?

Comment by Radek Lisowski [ 2016 Oct 24 ]

I will try in next few days to create an example how I would see that implemented.





[ZBXNEXT-3273] new action condition for internal events - "Error message like/not like" Created: 2016 May 09  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Server (S)
Affects Version/s: 2.0.17, 2.2.12, 3.0.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: actions, conditions, internalmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Such condition could be used for various cases, first of all for trigger based internal events.
For example if new host just has been added, zabbix server restarted, host became unavailable etc.
Should be available to be used for items/lld-rules/triggers.

Together with ZBXNEXT-3140 (new macros to indicate error message of item/lldrule/trigger in internal monitoring alerts) such part of internal monitoring should become much more usable.



 Comments   
Comment by Oleksii Zagorskyi [ 2016 May 09 ]

Some inconveniences with internal events monitoring described in ZBX-10767.
Current feature would help to workaround them.





[ZBXNEXT-214] Adding ifHCInOctets and ifHCOutOctets (at least) to special OIDs Created: 2010 Jan 28  Updated: 2013 Apr 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Proxy (P), Server (S)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexander Afonyashin Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: snmp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 5.3, x86, Zabbix 1.8.0



 Description   

At http://www.zabbix.com/documentation/1.8/manual/advanced_snmp some special OID are described. Since hi-speed links are widely used, it's worth to add ifHCInOctets (.1.3.6.1.2.1.31.1.1.1.6) and ifHCOutOctets (.1.3.6.1.2.1.31.1.1.1.10) to special OID list in Zabbix.



 Comments   
Comment by richlv [ 2012 Oct 21 ]

that page says "Some of the most used SNMP OIDs are translated automatically to a numeric representation by Zabbix"

apparently support for automatic translation of those two mibs would have to be added in server/proxy ?

seems to be ZBX_MIB_NORM part in src/zabbix_server/poller/checks_snmp.c





[ZBXNEXT-2493] Program flow charts of Zabbix processes Created: 2014 Oct 04  Updated: 2014 Oct 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: usability, workflow
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I think that having individual flow process charts of Zabbix processes and possibly other work flows as well would greatly improve understanding and developing Zabbix.

  • From a developer perspective it allows a functional overview and to make logical tests of new or changed flows, without writing one line of code
  • From a user perspective this reveals what exactly is going on under the hood without reading one line of code.

Although this would probably need a significant initial invest.
Nevertheless, I'm convinced that it pays off. Keeping the flow charts up-to-date then could be part of specification/development process and additional effort should be comparably low.



 Comments   
Comment by Marc [ 2014 Oct 05 ]

Hmm, since there is software available that can easily produce very high quality control flow graphs (beside other awesome stuff, btw) based on existing source code, this ticket is probably of low interest to developers.

From a (non programming skilled) user perspective it might be more valuable to have just "simple" flow diagrams than program equivalent control diagrams.

So, possibly rather a community task...





[ZBXNEXT-9036] During maintenance with data collection, internal actions are triggered for items that have changed their status to unsupported due to the data collection Created: 2023 Nov 30  Updated: 2024 Mar 14

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 5
Labels: Zabbix7.2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Team: Team A
Sprint: Roadmap Backlog
Story Points: 1

 Description   

Steps to reproduce:

  1. create maintenance rule with data collection
  2. enable notification about not supported items/triggers 'Report not supported items', ' Report unknown triggers'
  3. get some items in a not supported state state

Also there is no condition to take into account problem suppression.
Result:
Maintenance is not respected for internal actions.

Expected:
No notifications about such events.






[ZBXNEXT-1606] a way to use multiple lld rules for same key Created: 2013 Feb 02  Updated: 2021 Jul 22

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 2.0.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Sergey Pyatin Assignee: Unassigned
Resolution: Unresolved Votes: 31
Labels: aliases, lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3635 Allow multiple service.discovery keys Closed

 Description   

Is there a way to add a new low-level discovery rule that uses the same key as another rule?

I want to add a separate filesystem detection rule for filesystems on one machine with specific checks for them (using another filter regex), but currently I cannot create a rule that uses the 'vfs.fs.discovery' key - zabbix throws the following error:

ERROR: Cannot add discovery rule
Item with key "vfs.fs.discovery" already exists on "machine"

Is there any way to bypass that?
Also, why can't you have more than one rule using the same key?



 Comments   
Comment by richlv [ 2013 Feb 03 ]

keys must be unique per host. try changing rule key slightly - for example, vfs.fs.discovery[]

Comment by Sergey Pyatin [ 2013 Feb 03 ]

i'm try it:
vfs.fs.discovery[] became not supported: Not supported by Zabbix Agent

Comment by richlv [ 2013 Feb 03 ]

indeed, that's not supported. will move to feature requests

Comment by richlv [ 2013 Jun 20 ]

we could simply allow empty parameters, but that would not be very optimal - discovery would be run separately for each rule.
with agent discoveries this usually won't be that bad, but it would be quite terrible with snmp discoveries as they can return hundreds of entries, and walking that table can take some time.

a proper solution would be to allow an lld rule to "attach" to another lld rule. in that case 'attached' rule would not run any item key itself, but whenever the 'originating' rule would get a value, it would be passed to all attached rules.

usecase - on some network interfaces we want to monitor availability and traffic only, on others we also want to include errors and discards, yet on others - traffic separated by unicast, multicast, broadcast. multiple lld rules would overload the network device.

Comment by Volker Fröhlich [ 2013 Oct 13 ]

Somewhat connected: ZBXNEXT-1757

Comment by Oleksii Zagorskyi [ 2013 Nov 18 ]

The topic also was discussed in ZBXNEXT-735

I cannot find where exactly, but we discussed also usage of an "alias" zabbix agent config parameter.
It could be a workaround for agent, but .... not for Java proxy

edit: I found the issue I mentioned above (thanks Rich ), it's ZBX-7034

Comment by Dmitry Samsonov [ 2014 Apr 03 ]

Just a workaround:

system.run["n=1 zabbix-agent -t vfs.fs.discovery | sed -re 's/vfs.fs.discovery\s+\[s\|// ; s/]$//'"]
system.run["n=2 zabbix-agent -t vfs.fs.discovery | sed -re 's/vfs.fs.discovery\s+\[s\|// ; s/]$//'"]
system.run["n=... zabbix-agent -t vfs.fs.discovery | sed -re 's/vfs.fs.discovery\s+\[s\|// ; s/]$//'"]

Or as a UserParameter:

UserParameter=vfs.fs.discovery.multi[*],zabbix-agent -t vfs.fs.discovery | sed -re 's/vfs.fs.discovery\s+\[s\|// ; s/]$//'
vfs.fs.discovery.multi[1]
vfs.fs.discovery.multi[2]
vfs.fs.discovery.multi[...]
Comment by Christian Reizlein [ 2014 Sep 18 ]

Dmitry Workaround would work, but you have to also rename FSNAME/FSTYPE to something like FSNAME2/FSTYPE2 so item prototypes wont get duplicate keys (at least FSNAME which is used)

system.run["n=2 zabbix-agent -t vfs.fs.discovery | sed -re 's/vfs.fs.discovery\s+\[s\|// ; s/]$// ; s/FSNAME/FSNAME2/g'"]

But also, my main problem now is that you have to know "zabbix-agent" location, which is not always the same on all our hosts... so its not working

Comment by Arli [ 2014 Oct 28 ]

It also applies to trapper items that include discovery macro. For example if I have multiple LLD rules to put together a list of jobs and one source that reports the status of those jobs, it would be nice to be able to create just an item with key:

job_status[{#JOB}]

for all the different LLD rules.

Comment by Todd Ebersviller [ 2015 Feb 18 ]

I agree this would be nice. On Windows you can use a hack like this:
UserParameter=m.vfs.fs.discovery[*],powershell -NoProfile -ExecutionPolicy Bypass -Command "& { C:\zabbix\zabbix_agentd.exe -t vfs.fs.discovery|% {$_ -replace 'vfs.fs.discovery\s+[s|',''} | % {$_ -replace 'FSNAME','M_FSNAME'} |% {$_ -replace 'FSTYPE','M_FSTYPE'}| % {$_ -replace ']}]',']}'} }"

That'll allow the second LLD to run still using vfs.fs.discovery. You could use the same type of hack for the item if that's a duplicate. In my case I just used pused since I was using pfree on the other template.

Comment by Mickael Martin (Cyres) [ 2015 Oct 28 ]

No news ? I hope this feature in Zabbix 3.0...
There is no simple hack, without userparameter or remote command...

Comment by Marc [ 2015 Oct 28 ]

mma, it's not on the roadmap yet. The probably quickest way to get it there is considering (co-)sponsoring development.

Comment by Oren J [ 2016 Mar 20 ]

I have another comment to the little powershell script,
i have created the following:

powershell -NoProfile -ExecutionPolicy Bypass -Command "& { add-type -assembly system.web.extensions; $ps_js = new-object system.web.script.serialization.javascriptSerializer; $vfs = C:\ZabbixAgent\bin\win64\zabbix_agentd.exe -t vfs.fs.discovery | % {$_.Substring(($_.IndexOf('[')+3))}; $TempString = $vfs.Substring(0,$vfs.Length-1); return $ps_js.Serialize($TempString) }"

this is in case the buffer size of the powershell script it not large enough to contain the output, this is example of a server with 15 mapped luns.

Hope this help.

Comment by Oleksii Zagorskyi [ 2016 May 23 ]

ZBXNEXT-3206 suggests some solution.

Comment by Glebs Ivanovskis (Inactive) [ 2016 Nov 23 ]

Indeed, ZBXNEXT-3206 became an official solution to the problem. Should we close this one as a duplicate?

Comment by Oleksii Zagorskyi [ 2016 Nov 23 ]

I'd agree, but after the ZBXNEXT-3206 will be nicely documented, effectively reflecting the idea in several places, so it will not be missed by people who look for how to create multiple similar rules.

Comment by Vladimir Silin (Inactive) [ 2017 Jan 27 ]

While ZBXNEXT-3206 is still in documenting, What's new in Zabbix 3.2, low-level discovery page, and Alias parameter description are updated with info corresponding to multiple LLD rule configuration.
So, perhaps this issue may be closed now.

Comment by pfoo [ 2019 Jan 15 ]

Should this really be closed ? ZBXNEXT-3206 feels like a workarround, requiring to edit zabbix agent configuration. For now I'm updating my agents config using ansible, but some might not have direct access to every agent.

I feel like this should be fixed either by allowing argument in discovery (vfs.fs.discovery[*]) by default in agent, or even better, fixed server side.

Comment by Mickael Martin (Cyres) [ 2021 Mar 30 ]

Agree with pfoo ,this is a workaround, not a fix. Moreover, there are no possibilities to update all agents to add an alias like this.
The fix must be in the server side.

Comment by Nathan Liefting [ 2021 Jul 22 ]

Just putting my two cents on this issue in agreement.

When building for example Windows Service discovery, one might want two seperate templates. One template for all the "default" Windows service we want to monitor on EVERY Windows host and application templates that are different PER host. 

Then there's the application (Application name example Solahti) which might run something like the following services:

  • Solahti gateway
  • Solahti runner
  • Solathi agent
  • Solathi agent 2

Now if you want to add these in your discovery rule, but you want to keep the default you'd need to use the filter macro's. But that means you have to override this for every single host that runs this application. You don't want to do that. Besides your defaults might change as well, so that means you need to maintain seperate macro's to not interfere with the defaults.

It's also not possible to do several templates, as macro's don't transfer between templates on hosts, so it needs to be host level... 

 

The real solution is having a service.discovery key on a host multiple times coming from different templates. The only way to achieve that is with something like service.discovery[application 1] and service.discovery[application 2]. Definitely a must have to further automate setups.





[ZBXNEXT-8925] Set PHP 8.0 as minimum version in Zabbix 7.0 Created: 2024 Jan 08  Updated: 2024 Mar 06

Status: Doc. sign-off
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Installation (I), Packages (C)
Affects Version/s: None
Fix Version/s: 7.0.0beta1, 7.0 (plan)

Type: Change Request Priority: Major
Reporter: Alexander Vladishev Assignee: Jurijs Klopovskis
Resolution: Unresolved Votes: 0
Labels: requirements
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Sprint: Product delivery backlog, S2401
Story Points: 0.125

 Description   

Set PHP 8.0 as minimum version in Zabbix 7.0

Support for Frontend and Server will be dropped in:

  • Debian/Raspbian <= 11
  • ...


 Comments   
Comment by Eliza Sekace [ 2024 Jan 26 ]

Implemented in development branch feature/ZBXNEXT-8925-6.5

Comment by Eliza Sekace [ 2024 Jan 26 ]

Implemented in 7.0.0beta1 (master) f881b5aae8e

Comment by Marianna Zvaigzne [ 2024 Feb 02 ]

Documentation updated (7.0):





[ZBXNEXT-9032] Unify PostgreSQL naming for Zabbix components Created: 2024 Feb 21  Updated: 2024 Feb 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Proxy (P), Server (S)
Affects Version/s: 6.0.25, 6.4.11
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Igor Gorbach Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Naming difference:

Package names:

  • zabbix-server-pgsql
  • zabbix-web-pgsql
  • zabbix-proxy-pgsql

 

SQL scripts path:

  • /usr/share/zabbix-sql-scripts/postgresql

 

Frontend database type definition parameter:

$DB['TYPE']             = 'POSTGRESQL';

The naming should be unified - use a well-known abbreviation (pgsql) or full software name (postgresql) everywhere, but not both namings in different places.
It is confusing and requires a lot of workarounds in automation tasks.






[ZBXNEXT-8053] The word "Graph" is missing from the documentation Created: 2022 Oct 19  Updated: 2022 Oct 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 6.0.8, 6.0.9, 6.2.2, 6.2.3, 6.4.0alpha1, 6.4.0beta1
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Yaron Shahrabani Assignee: Martins Valkovskis
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

https://git.zabbix.com/projects/WEB/repos/documentation/browse/en/manual/api/reference/graph.md?useDefaultHandler=true#4

 

The word "graph" is missing before the word "item".






[ZBXNEXT-3777] Central management for PSK and identities through the gui Created: 2017 Apr 05  Updated: 2020 Jul 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F)
Affects Version/s: 3.2.4
Fix Version/s: None

Type: New Feature Request Priority: Minor
Reporter: Wolfgang Alper Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 3.2 and above


Issue Links:
Duplicate
is duplicated by ZBX-17991 Zabbix proxy PSK Identity and PSK Closed

 Description   

Starting with Zabbix version 3.0, one can encrypt communication between zabbix server/proxies and agents/cmd tools using a PSK. This requires a unique identity string per host.

When using different PSK/Identities, it would make management more easy, if there would be a central place to mange the identies and have a sort of dropdown or similar to select those unassigned identities within the host configuration.

Also, currently one can setup the same identity with different PSKs across multiple hosts, which is a misconfiguration. Maybe there could be a check to warn the user if an identity already exists, but with a different PSK (or maybe an internal item that checks for integrity).

Currently, the only way to get an overview for used identities is to query the database:

select h.host, h.tls_accept, h.tls_psk, h.tls_psk_identity from hosts as h where h.tls_psk_identity != ''


 Comments   
Comment by Wolfgang Alper [ 2017 Apr 05 ]

One note: The Server log shows a misconfiguration. Example:
"conflicting PSK values for PSK identity "myidenty" on hosts "testhost" and "testhost2" (and maybe others)"





[ZBXNEXT-8187] "Hosts and host groups" page has insufficient information Created: 2023 Jan 04  Updated: 2023 Feb 20

Status: Needs documenting
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 4.0.43, 4.0.44, 5.0.30, 6.0.11, 6.0.12, 6.2.5, 6.2.6, 6.4.0beta4, 6.4.0beta5
Fix Version/s: 6.0.13rc1, 6.2.7rc1, 6.4.0beta6, 6.4 (plan)

Type: New Feature Request Priority: Minor
Reporter: Natalija Burisina (Inactive) Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team D
Sprint: Documentation backlog, Sprint 96 (Jan 2023)
Story Points: 1

 Description   

The information provided on "Hosts and host groups" page is scant and, therefore, needs to be updated.

Although, there is a link leading to the page on how to configure a host, it could be useful to add a note that "a host must belong to at least one host group. A new group can be created and linked to the host group by adding a non-existing group name."

Suggested in typo reports: This should explain what host groups are and how they can be used. There's a lot of functionality here which links user access to hosts, notifications, maintenance, etc. which can be confusing for users to figure out on their own.






[ZBXNEXT-3822] Rename "event correlation rules" to "problem correlation rules" Created: 2017 Apr 24  Updated: 2017 Apr 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F)
Affects Version/s: 3.4.0alpha1
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Glebs Ivanovskis (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: eventcorrelation, tags
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Introduction of Monitoring->Problems in 3.2 had a goal of hiding such technical and internal terms as "trigger" and "event" from end users. ZNXNEXT-104 introduced Close problem option for acknowledgement. And yet, Configuration->Event correlation uses old "event" word.

It will be good for consistency and clarity to rename "Event correlation" to "Problem correlation", because only PROBLEM events are actually correlated. Same goes about correlation rule conditions and operations. "Old/New event tag" -> "Old/New problem tag", etc. "Close old/new event" sounds wrong. "Close old/new problem" is more correct and more descriptive.



 Comments   
Comment by Marc [ 2017 Apr 24 ]

I'd argue "Problem" should be rather renamed to something more appropriate, as many use cases of Triggers do not refer to a problem at all.

Comment by Glebs Ivanovskis (Inactive) [ 2017 Apr 25 ]

Also maybe worth changing "old" to "existing".





[ZBXNEXT-3531] Create "Howtos" section in documentation Created: 2016 Nov 11  Updated: 2019 Oct 18  Due: 2016 Dec 30

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: Epic Priority: Minor
Reporter: Vladimir Silin (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Name: "Howtos" in documentation
Sprint: Sprint 20

 Description   

This task covers creation of "HowTos" section in https://www.zabbix.com/documentation/3.4/playground/playground/howtos and includes the following subtasks included/linked below:

  • 1 Getting started
    • How to add server to monitoring
    • How to configure a user
    • How to create a user group
    • How to define a problem state
    • How to receive a problem notification
    • How to receive a single metric
  • 2 Network discovery
    • How to auto-register an agent device
    • How to discover a file system
    • How to discover a Linux server
    • How to discover a network interface
    • How to discover an SNMP device
    • How to discover a Windows service
    • How to discover SNMP OIDs
  • 3 Service monitoring
    • How to monitor DNS availability
    • How to monitor FTP availability
    • How to monitor HTTP availability
    • How to monitor HTTPS availability
    • How to monitor IMAP availability
    • How to monitor LDAP availability
    • How to monitor NNTP availability
    • How to monitor POP availability
    • How to monitor SMTP availability
    • How to monitor SSH availability
    • How to monitor TCP availability
    • How to monitor Telnet availability
  • 4 Server monitoring
    • How to aggregate metric values
    • How to calculate metric values
    • How to monitor disk statistics
    • How to monitor filesystems
    • How to monitor memory data
    • How to monitor network traffic
    • How to monitor operating system data
    • How to monitor processor load
    • How to monitor sensor readings
    • How to monitor server availability
    • How to monitor SLA
    • How to monitor statistics per process
  • 5 Log file monitoring
    • How to extract values from a log line
    • How to monitor a log file
    • How to monitor a log file with file rotation support
  • 6 Network device monitoring
    • How to monitor an IPMI device
    • How to monitor an SNMP device
  • 7 Web service monitoring
    • How to monitor web page availability
    • How to monitor web page content
  • 8 Virtual machine monitoring
    • How to monitor a VMWare environment
  • 9 Application monitoring
    • How to monitor JBoss
    • How to monitor MySQL
    • How to monitor Nginx
    • How to monitor PosgreSQL
    • How to monitor Tomcat
  • 10 Problem notifications
    • How to execute a remote command
    • How to get notified by e-mail
    • How to get notified by SMS
  • 11 Visualization
    • How to compare several metrics in a graph
    • How to create a custom graph
    • How to create a screen
    • How to create network maps
    • How to view a single-metric graph
  • 12 Templates
    • How to apply a template to host
    • How to create a template
    • How to export a template
    • How to import a template


 Comments   
Comment by Rostislav Palivoda [ 2017 Feb 02 ]

All sub-tasks done. Review required.

Comment by Vladimir Silin (Inactive) [ 2017 Feb 24 ]

Please assign linked issues for content review.





[ZBXNEXT-3155] Dropbox for selecting screen disappear in screen view Created: 2016 Feb 18  Updated: 2017 May 31

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 3.0.0
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Juan Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

On the top right corner on 2.4.6 we use to have a dropbox to change between screens. Now that dropbox is no longer there.



 Comments   
Comment by Oleksii Zagorskyi [ 2016 Feb 19 ]

See http://zabbix.org/wiki/Docs/bug_reporting_guidelines
and https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300
Closed.

Comment by Juan [ 2016 Feb 19 ]

@zalex_ua I did discuss this in the IRC and I was told to open a issue since the dropbox is actually missing.

In the whats new doc you point I see the entry "Map, screen and slide show listings can now be filtered by name." But I dont see anywhere saying you were getting rid of the dropbox.

I see that you don't see this as bug but perhaps It could be a "Feature request" to be able to change between screens in a faster way ?

Comment by richlv [ 2016 Feb 19 ]

indeed, as a minimum removal of the dropdown should go in the upgrade notes...

Comment by Oleksii Zagorskyi [ 2016 Feb 20 ]

Now there is a well noticeable link "All screens" instead of the drop down.
That part was redesigned a lot and mentioned a bit at at https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300#new_web_interface

I don't think at makes much sense to document every "new pixel" of reworked 3.0 interface.
Otherwise we could go too far when trying to document each "new pixel"

Comment by richlv [ 2016 Feb 21 ]

that's slightly downplaying removal of a dropdown calling it a "new pixel"
a functional change that should have went in the upgrade notes before users report it as a regression...

Comment by Oleksii Zagorskyi [ 2016 Feb 21 ]

ok ok, reopened ....

Comment by richlv [ 2016 Feb 23 ]

...also here's an example of it done properly for the 2.4 latest data changes
https://www.zabbix.com/documentation/2.4/manual/installation/upgrade_notes_240#changes_in_latest_data_page





[ZBXNEXT-1977] Allow JMX Host interfaces to have a username and password. Let jmx items inherit it. Created: 2013 Oct 23  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Jeff MacDonald Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: interfaces, jmx
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

The idea is that in some cases all of your JMX items might use the same authentication data. In other cases it might use different ones.

It would be nice if when you define a JMX host interface you could supply a master username and password for it which was assigned to all jmx items for that host interface.

Then when defining an item for said interface you could tell it to either have its own username and password or for it to inherit the u/p of the interface.



 Comments   
Comment by Marc [ 2013 Oct 23 ]

What would be the benefit in comparison to using user macros?

Comment by Jeff MacDonald [ 2013 Oct 24 ]

Intuitive-“ness” I guess.

Also, can Macros be used anywhere on an item or only within the item keys and descriptions as per docs at

https://www.zabbix.com/documentation/2.0/manual/config/macros/usermacros

https://www.zabbix.com/documentation/2.0/manual/appendix/macros/supported_by_location#additional_support_for_user_macros

or perhaps JMX username / password need added to the list on the above url?

jeff.

Comment by Marc [ 2013 Oct 24 ]

It's indeed not documented but user macros are supported in JMX based items for user name and password.

Comment by Corey [ 2014 Jan 14 ]

Marc, my understanding is that macros are global to the host so if you're monitoring multiple processes via JMX they couldn't have separate credentials.

Comment by Marc [ 2014 Jan 15 ]

Not sure what you mean but I thought about a scenario like this:

Global
{$JMX_PASSWORD} = zabbix
{$JMX_PASSWORD2} = zabbix

Item 1 gets either global or host/template level common value
Password: {$JMX_PASSWORD}

Item 2 gets either global or host/template level alternate value
Password: {$JMX_ALT_PASS}

Item 3, gets individual value on item level
Password: secret3

Item 4 gets either global or host/template level common value for 2nd interface
Password: {$JMX_PASSWORD2}

and so on...





[ZBXNEXT-2338] Allow HOST.* macros to be used in HTTP Proxy for Web scenarios Created: 2014 Jun 10  Updated: 2022 May 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Server (S)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Tim Koopman Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: httpproxy, macros, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3286 {HOST.*} macro resolve in Web scenari... Closed
is duplicated by ZBXNEXT-3361 Web Scenario - Macro for http proxy Closed
is duplicated by ZBX-9568 Webscenario HTTP Proxies in Templates Closed

 Description   

I have create templates for monitoring our proxy servers but found one thing I could not do on the template. I have had to define 2 web scenario's on each host as you cannot use macros like {$HOST.CONN} in the HTTP proxy fields of a template web scenario.
I would like to set it to something like http://{$HOST.CONN}:80

If you add this feature, it would means you can define template web scenarios to test http proxies are actually working. In my case can get a valid page via proxies and get blocked message when trying to access something that should be filtered. I have 12 proxies to monitor so had to create 24 individual web scenarios instead of just 2 if this is available.



 Comments   
Comment by Tim Koopman [ 2014 Jun 10 ]

Had typo above. {$HOST.CONN} should of been

{HOST.CONN1}

.
Also can confirm that global macros and host custom macro work just looks like the standard host ones do not.

For now I am using custom macros added to each host but still would be nice if the standard

{HOST.CONN<1-9>}

macros would also work.

Comment by Oleksii Zagorskyi [ 2014 Jun 10 ]

(1) If it's indeed supported, then this page should be adjusted (footnote #6) :
https://www.zabbix.com/documentation/2.2/manual/appendix/macros/supported_by_location

I mean that support of macros for http proxy is not listed there.

martins-v Added to https://www.zabbix.com/documentation/2.2/manual/appendix/macros/supported_by_location#footnotes. RESOLVED.

zalex_ua I see that 2.4 branch also has been updated. Reviewed, CLOSED.

Comment by Oleksii Zagorskyi [ 2014 Jun 10 ]

Tim, your idea is interesting, but it's definitely not a bug.
Issue moved to ZBXNEXT.

Comment by Marc [ 2015 Jan 30 ]

Why not just using the macro type MACRO_TYPE_HTTPTEST_FIELD instead of MACRO_TYPE_COMMON?

--- src/zabbix_server/httppoller/httptest.c.orig        2015-01-29 10:15:02.119787911 +0100
+++ src/zabbix_server/httppoller/httptest.c     2015-01-29 10:15:55.721793291 +0100
@@ -831,8 +831,8 @@
                }

                httptest.httptest.http_proxy = zbx_strdup(NULL, row[11]);
-               substitute_simple_macros(NULL, NULL, NULL, NULL, &host.hostid, NULL, NULL,
-                               &httptest.httptest.http_proxy, MACRO_TYPE_COMMON, NULL, 0);
+               substitute_simple_macros(NULL, NULL, NULL, NULL, NULL, &host, NULL,
+                               &httptest.httptest.http_proxy, MACRO_TYPE_HTTPTEST_FIELD, NULL, 0);

                httptest.httptest.retries = atoi(row[12]);

Comment by Ender [ 2015 May 19 ]

add Affects Version/s: 2.4.5

Comment by James Cook [ 2022 May 03 ]

Tried adding

{HOST.CONN}

into HTTP Proxy setting for Web Scenario and still see it cant be done in V5.4.X





[ZBXNEXT-2197] make "tcp" default for net.tcp.service and net.tcp.service.perf Created: 2014 Mar 12  Updated: 2014 Mar 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: simplechecks
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently there is no default "service for net.tcp.service and net.tcp.service.perf item keys. given that 'tcp' is a placeholder for basic port check, it is the best suited one to be the default






[ZBXNEXT-9019] Add explanation to documentation about "Disabled" host behavior Created: 2024 Feb 14  Updated: 2024 Mar 21

Status: Done
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: 6.0.29rc1, 6.4.14rc1, 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Minor
Reporter: Karlis Salins Assignee: Karlis Salins
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sprint: Documentation backlog, S24-W8/9
Story Points: 0.75

 Description   

Please add documentation about how "Disabled" host works. Currently it is very limited to "Disabled" - not monitored.

Something like this should suffice:
"Disabled" state means that indeed host is no longer monitored. For passive checks ( Zabbix agent, ICMP, SNMP, etc. - all checks going from server to the target device ) that means server/proxy will not do those checks at all. Monitoring stops as soon as you disable the host.

For active checks - Zabbix agent receives configuration every two minutes by default, that means as soon as new configuration is received with the host being disabled, agent stops monitoring active checks. In the time interval (<2 min) that happens before Zabbix agent understands that it no longer needs to monitor something, the server will just reject the incoming data.



 Comments   
Comment by Oleksii Zagorskyi [ 2024 Feb 15 ]

One more details makes sense to add to doc is:
When host gets disabled and does not get list of active checks from server ("host [xxx] not monitored") it locally continues to collect data for all the active checks and trying to send it back to server, but server rejects (actually drops) such data, as host is disabled.
I guess this is bu design, while it looks a little strange.

Comment by Marianna Zvaigzne [ 2024 Mar 20 ]

Documentation updated:

  • Configuration > Hosts and host groups > Configuring a host (table parameter Enabled) (6.0, 6.4, 7.0)




[ZBXNEXT-8647] Update in instructions documentation for mongodb template Created: 2023 Aug 18  Updated: 2023 Aug 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Facundo Vilarnovo Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For a MongoDB server that is in a cluster versus a single node, different user permissions needs to be added to view metrics.

If the user permissions for the single node are created on a cluster, then it will get Unauthorized errors.

Please consider adding this to the template instructions:

For cluster:

db.createUser(
{user: “zbx_monitor”,pwd: “************”,
roles: [{ "role": "clusterMonitor", "db": "admin" },{ "role": "readAnyDatabase", "db": "admin" }],
}
) 

For single node:

db.createUser(
{user: “zbx_monitor”,pwd: “************”,
roles: [{ "role": "readAnyDatabase", "db": "admin" }],
}
) 

Regards.-






[ZBXNEXT-9008] Using Operational data as LAST value. Created: 2024 Feb 02  Updated: 2024 Feb 28

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Proxy (P), Server (S)
Affects Version/s: 6.4.11, 7.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Roman Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: items, performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Work values


Issue Links:
Duplicate
is duplicated by ZBXNEXT-9003 Using Operational data as LAST value. Closed

 Description   

Steps to reproduce:

  1. Create any item with do not store data,
  2. use this value in trigger. 

Result:
there will be no any actions, because there is no data.

Expected:
Use operational data as last value in trigger and the last value on dashboard last values.

Also no need to store values in db, because i need only last values.



 Comments   
Comment by Roman [ 2024 Feb 08 ]

Please fix it in the next versions.

Comment by Edgar Akhmetshin [ 2024 Feb 09 ]

https://www.zabbix.com/documentation/current/en/manual/config/items/item

Do not keep history - item history is not stored. Useful for master items if only dependent items need to keep history.

By design. No bug here. Only inventory value will be populated with Do not keep history. 

Use operational data as last value in trigger and the last value on dashboard last values.

Also no need to store values in db, because i need only last values.

Moving this issue to a feature request. 

Comment by Roman [ 2024 Feb 12 ]

Is duplicated by

ZBXNEXT-9003

Comment by Roman [ 2024 Feb 13 ]

I'm not saying it's a bug. I suggest reducing the load and so on, if you use Operational data for the last values, then accessing the database is not required.

Comment by Roman [ 2024 Feb 13 ]

I ask you to raise the priority of the task to critical.





[ZBXNEXT-6683] Missing Absolute Time reference on the general DOC Created: 2021 May 26  Updated: 2021 Aug 23

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 5.4.0
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Dimitri Bellini Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Screenshot from 2021-05-26 10-53-42.png    

 Description   

On the below page there is no mention of the new "absolute time" function, could be nice add here some details.
https://www.zabbix.com/documentation/current/manual/appendix/time_period

I have check on the latest data graphs and seems to work well






[ZBXNEXT-7795] Inconsistent Web UI form with documentation Created: 2022 Jun 11  Updated: 2022 Jun 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F)
Affects Version/s: 6.0.5
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: MArk Assignee: Martins Valkovskis
Resolution: Unresolved Votes: 0
Labels: consistency, frontend, functions, triggers, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Web and official documentation


Attachments: PNG File image-2022-06-10-19-05-44-032.png     PNG File image-2022-06-10-19-08-50-684.png    

 Description   

Official documentation includes the countunique() function within the "History function".

When using the "expression" wizard for trigger creation at Zabbix's frontend, we see the same countunique() function as an "Aggregate function".

It seems to me that the Aggregate group of functions is more adequate to the actual meaning of this function.






[ZBXNEXT-7500] Split DB user for 3 different users Created: 2022 Feb 16  Updated: 2022 Feb 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Installation (I), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Aleksey Volodin Assignee: Martins Valkovskis
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For easier debug and security it will be nice to split zabbix DB user for 3 different users:

  • zabbix_server
  • zabbix_frontend
  • zabbix_api

First two can be easily created by changes in documentation and default configuration files.

 






[ZBXNEXT-7057] Add on tagging documentation {TRIGGER.ID} macro support Created: 2021 Nov 14  Updated: 2022 Sep 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 5.4.6, 6.0.0alpha6
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Rodrigo P Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: documentation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File trigger-tag.PNG    

 Description   

On Zabbix it's possible to use {TRIGGER.ID} macro on trigger tags. It's not explicit on documentation at this moment.

Please add on specific documentation section the possibility to use {TRIGGER.ID} tags among with the others already there: 

The following macros may be used in trigger tags:

  • *

    {ITEM.VALUE}

    , {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} and {HOST.ID} macros can be used to populate the tag name or tag value*

https://www.zabbix.com/documentation/6.0/manual/config/tagging#macro_support






[ZBXNEXT-6832] Item prototype as custom multiplier Created: 2021 Aug 11  Updated: 2022 Jul 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Frontend (F), Server (S)
Affects Version/s: 5.0.14, 5.4.3, 6.0.0alpha1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Konstantin Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: itemprototype, items, multiplier
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix server 5.0.1


Attachments: PNG File Снимок.PNG    

 Description   

Steps to reproduce:

  1. Add item prototypes
  2. Try to use one of item prototype for custom multiplier for another item prototype

Result:
See screenshot

Expected:
No error while use this function



 Comments   
Comment by Konstantin [ 2021 Aug 11 ]

Also it will be useful if Untis can be taken also from item prototypes.

The reason is here

http://www.circitor.fr/Mibs/Html/C/CISCO-ENTITY-SENSOR-MIB.php#SensorDataScale

http://www.circitor.fr/Mibs/Html/C/CISCO-ENTITY-SENSOR-MIB.php#SensorDataType

 

I collect this items and use value mapings. But cannot use it as much as possible.

Comment by Edgar Akhmetshin [ 2021 Aug 12 ]

Hello.

ZNX moved to a ZBXNEXT feature request. Please vote for it.

Comment by dimir [ 2021 Aug 24 ]

Coming from https://www.zabbix.com/forum/zabbix-help/406653-custom-multiplier-macro-in-expression#post429651





[ZBXNEXT-4890] DBSyncer configuration - how much can a single process handle Created: 2018 Nov 29  Updated: 2020 Jul 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Stefan Assignee: Vladislavs Sokurenko
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team A

 Description   

Hello,
I read very often that users increase the DBSyncers configuration to 32 or more, but If you search the forum and blogs you'll find a lot of posts that said 1DBsyncers can handle ~1000nvps, it would be very nice if you can documented how much NVPS can handle a single DBSyncer.

https://ma.ttias.be/startdbsyncers-zabbix/
https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/44450-problem-zabbix-history-syncer-processes?p=260891#post260891



 Comments   
Comment by Glebs Ivanovskis [ 2018 Dec 01 ]

Largely depends on the performance of DB server, obviously. And also depends on the number and complexity of your triggers.





[ZBXNEXT-8361] Better documentation for vmware.vm.property Created: 2023 Mar 23  Updated: 2023 Mar 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Norbert Püschel Assignee: Martins Valkovskis
Resolution: Unresolved Votes: 1
Labels: VMware, documentation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

documentation / VMware



 Description   

The VMware interface includes the simple check vmware.vm.property.

Unfortunately, there is no documentation whatsoever on what the "property path" parameter looks like. I could not find any example anywhere, neither by Zabbix nor by VMware.

Please add examples and / or links to VMware with a list of supported properties.






[ZBXNEXT-8376] Documentation shows wrong unit for vmware.vm.guest.memory.size.swapped Created: 2023 Mar 30  Updated: 2023 Mar 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Grooverman Assignee: Martins Valkovskis
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Documentation appears as follows:

vmware.vm.guest.memory.size.swapped[<url>,<uuid>]
  Amount of guest physical memory that is swapped out to the swap space (KB). Integer url - VMware service URL
uuid - VMware virtual machine host name

Stating that the metric is in Kilobytes.

However, in practice, and in the official templates the unit used it Bytes.

It affects old and newer versions:
https://www.zabbix.com/documentation/6.0/en/manual/config/items/itemtypes/simple_checks/vmware_keys

https://www.zabbix.com/documentation/current/en/manual/vm_monitoring/vmware_keys

 






[ZBXNEXT-8523] We need a '{HOST.PROXY}' macro Created: 2023 Jun 22  Updated: 2023 Jun 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Proxy (P), Server (S), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: LivreAcesso.Pro Assignee: Martins Valkovskis
Resolution: Unresolved Votes: 1
Labels: actions, lld, macros, templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I need a macro regarding the proxy issued to a host.
I will be useful for inventory, host protoype, group prototype, scripting and actions.



 Comments   
Comment by Alexey Pustovalov [ 2023 Jun 23 ]

Are {PROXY.DESCRIPTION} and {PROXY.NAME} not enough?

Comment by LivreAcesso.Pro [ 2023 Jun 23 ]

No. I need the IP address of the Proxy host.

It will be useful for functions like `Trigger URL`, by example.

Comment by LivreAcesso.Pro [ 2023 Jun 23 ]

`{PROXY.CONN}' can be a good name, too.





[ZBXNEXT-6153] Please add guidance on how to best modify/tune official templates Created: 2020 Aug 21  Updated: 2020 Aug 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Matthew Steeves Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I've searched through the documentation looking for guidance on how to best modify Official templates. I wasn't sure if I should be copying the template, and modifying the copy, or if I should just modify the original. And then, what happens when an updated version is released? How do I maintain my modifications but also update the template to the most recent version?

Below are excepts of existing documentation talking about the need to tune templates, and how to upgrade them, but none of them answer my above questions.

Section 12 - performance tuning
general advice:
tune 'Update interval' for all items. Keeping a small update interval may be good for nice graphs, however, this may overload Zabbix
tune parameters for default templates

Installation -> Template Changes
Note that upgrading to the latest Zabbix version will not automatically upgrade the templates used. It is suggested to modify the templates in existing installations by:

Downloading the latest templates from the Zabbix Git repository;

Then, while in Configuration → Templates you can import them manually into Zabbix. If templates with the same names already exist, the Delete missing options should be checked when importing to achieve a clean import. This way the old items that are no longer in the updated template will be removed (note that it will mean losing history of these old items).

Quick Start -> 6 New Template
LINKING PRE-DEFINED TEMPLATES TO HOSTS
As you may have noticed, Zabbix comes with a set of predefined templates for various OS, devices and applications. To get started with monitoring very quickly, you may link the appropriate one of them to a host, but beware that these templates need to be fine-tuned for your environment. Some checks may not be needed, and polling intervals may be way too frequent.

More information about templates is available.

Configuration -> Templates out of the box -> Overview
(tells how to update templates)

Configuration -> Templates out of the box -> Zabbix agent template operation
3. Adjust the values of mandatory macros as needed.

Git repo - Template readme.md
(no mention of best practice)



 Comments   
Comment by Dmitrijs Lamberts [ 2020 Aug 24 ]

Moved to Feature request





[ZBXNEXT-3552] Correlation of Events based on location or group Created: 2016 Nov 15  Updated: 2017 Feb 04

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Templates (T)
Affects Version/s: 3.0.4
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: Saumyajit Pramanik Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: actions, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 7.1
Zabbix 3.0.4
VMWare Workstation 11



 Description   

Hi,

Is there any fusibility to correlate similar kind of events based on location or group.

Suppose, there is a Network failure in one region & getting several Device Down alerts. But without raising multiple Device Down alerts, only a correlated alert (having info about all affected nodes) can be triggered.

Thanks.



 Comments   
Comment by Aleksandrs Saveljevs [ 2016 Nov 15 ]

Considering that this ZBXNEXT starts with a question, it looks more like a support request. For that, please refer to https://www.zabbix.org/wiki/Getting_help .

If there is any specific feature you would like to see in Zabbix, please reopen.

Comment by Saumyajit Pramanik [ 2017 Feb 04 ]

Need a feature to correlate similar kind of events based on location or group





[ZBXNEXT-3543] Compose "Network discovery" section of "HowTos" Created: 2016 Nov 11  Updated: 2019 Oct 20

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Vladimir Silin (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: "Howtos" in documentation
Sprint: Sprint 1, Sprint 22
Story Points: 7

 Description   

Compose Network discovery section of HowTos with the following pages:

  • How to auto-register an agent device
  • How to discover a file system
  • How to discover a Linux server
  • How to discover a network interface
  • How to discover an SNMP device
  • How to discover a Windows service
  • How to discover SNMP OIDs

providing quick manuals and solutions for the objectives stated in the headers.



 Comments   
Comment by Vladimir Silin (Inactive) [ 2016 Dec 01 ]

Ready for review.





[ZBXNEXT-2210] Add note about backward Zabbix agent compatibility. Created: 2014 Mar 18  Updated: 2014 Mar 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Oleg Ivanivskyi Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: compatibility
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

The "Version compatibility" page (https://www.zabbix.com/documentation/2.2/manual/appendix/compatibility) doesn't contains any notes about backward agent compatibility (e.g. "old" Zabbix server 2.0 supports "new" Zabbix agents 2.2). Please improve our documentation and add this note.



 Comments   
Comment by richlv [ 2014 Mar 18 ]

we have never officially supported that and we don't test that. maybe the opposite should be added - that is, such a combo not being officially supported





[ZBXNEXT-6575] Tag also Beta releases in Github Created: 2021 Mar 22  Updated: 2023 Jul 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 5.4.0beta1
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Christian Anton Assignee: Alexey Pustovalov
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

any



 Description   

I would be quite happy to see also the beta releases tagged in Github. Currently, only the "stable" releases are getting tags and thus it is for example not possible to build docker containers from a specific beta version using the official build scripts, and not going directly to trunk.

I consider beta releases to be a bit more stable than trunk. I suppose trunk receives no quality assurance at all, so might be completely broken, but beta releases have some kind of pre-checking. I have several small Zabbix'es which I would use to test betas, but not possible to build containers without quite some effort.



 Comments   
Comment by dimir [ 2021 Mar 29 ]

I see beta and rc tags here:

https://github.com/zabbix/zabbix/tags

Could you elaborate on the issue? When you are pulling, do you specify --tags, e. g.:

git pull --tags 
Comment by Jurijs Klopovskis [ 2021 Mar 29 ]

Presumably this is about zabbix-docker repo on github.
https://github.com/zabbix/zabbix-docker
Indeed there are not tags for alfa, beta or rc there.
Can you take a look, dotneft?

Comment by Alexey Pustovalov [ 2021 Mar 29 ]

We prepare only trunk builds. Release candidates, alfa versions and beta versions are not released as docker images.

Comment by Jurijs Klopovskis [ 2021 Mar 29 ]

We do build packages for alfa, beta & rc in master though. The only exceptions are release candidates in stable branches. Is it feasible to the same for docker as well or is too much work?

Comment by Matej Spiller Muys [ 2023 Jul 03 ]

I would also like to make tags as release on github so it is easier to monitor for new releases via Watch releases (only releases can be watched not tags).

There is empty list:

https://github.com/zabbix/zabbix/releases





[ZBXNEXT-9031] CRC functions to compare strings Created: 2024 Feb 21  Updated: 2024 Mar 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Trivial
Reporter: LivreAcesso.Pro Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: CRC32, cksum, hash, strings
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix don't have any hash function available to help strings comparison.

Changes can only be detected if historical data is available.

Weak hashes, like cksum, is enough for limited length string data.



 Comments   
Comment by Alex Kalimulin [ 2024 Feb 22 ]

Do you mean trigger functions? Can you please provide examples?

Comment by LivreAcesso.Pro [ 2024 Mar 15 ]

This one, but for any value, like .regsub():

vfs.file.cksum[/etc/passwd,sha256]

 

 





[ZBXNEXT-9096] Remove experimental flag from PDF reporting Created: 2024 Mar 21  Updated: 2024 Mar 26

Status: IN DOCUMENTING
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 7.0.0beta3 (master)
Fix Version/s: 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Trivial
Reporter: Alexei Vladishev Assignee: Marianna Zvaigzne
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: Zabbix 7.0
Team: Team D
Sprint: S24-W14/15
Story Points: 0.125

 Description   

It is time to make PDF reporting officially supported by removing warnings about experimental nature of this functionality from the documentation.






[ZBXNEXT-8648] Zabbix Integration with Azure Managed MS SQL Instance Created: 2023 Aug 21  Updated: 2023 Aug 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: 6.0.19
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Sarang Assignee: Martins Valkovskis
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We can see the documentation for Zabbix integration with Azure(https://www.zabbix.com/integrations/azure). We would like to integrate Azure Managed MS SQL Instance with Zabbix. As per the document, there are 2 types of integration/options available for MS-SQL Instance, 1) Azure Microsoft SQL Serverless Database by HTTP 2)Azure Microsoft SQL Database by HTTP. Can you please confirm which integration/option should be preferred for Azure Managed MS SQL Instance(out of 2 options)?






[ZBXNEXT-7943] Missing info and examples on how to specify certain Windows Event logs Created: 2022 Aug 25  Updated: 2022 Aug 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Documentation (D)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Medium
Reporter: Matthew Steeves Assignee: Martins Valkovskis
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I wanted to monitor a Windows Event log: "Microsoft-Windows-Windows Firewall With Advanced Security/Firewall"

I wasn't sure how to specify the name correctly. I went to the Zabbix Windows event log documentation page
The description of the name parameter just said: "name of event log". The event log above has spaces in the name. I wasn't sure whether quotes were necessary. I tried including quotes and it worked, but from other examples online, it would seem quotes aren't necessary.

The provided examples only dealt with the "classic" event logs, like "Application" or "System".
But with the newer style event logs, sometimes the log name in the Event viewer GUI doesn't match the file name on disk. For instance, in the example below, within the Event Viewer GUI, the Log Name field differs from the File name on disk. Which one does the agent expect for the Name parameter?
GUI: Microsoft-Windows-Windows Remote Management/Operational
File on disk: Microsoft-Windows-WinRM%4Operational.evtx

From my research, you are supposed to use the file on disk, but with the "%4" replaced with '/'.

To summarize, the documentation would be improved by:

1) Clarifying whether quotes are required when the log name contains spaces

2) Clarifying whether the agent expects the actual file name, or the name shown within the Event Viewer GUI (which is often the tool people will be using to view the logs, and so naturally may think the logname displayed within it is the one to use)

3) Adding an example where the item key is using a newer-style Windows Event log

Thanks!

Matt

 






[ZBXNEXT-8698] Frontend to Server communication encryption Created: 2023 Sep 12  Updated: 2023 Dec 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 6.0.21, 6.4.6, 7.0.0alpha4
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Edgar Akhmetshin Assignee: Valdis Murzins
Resolution: Unresolved Votes: 9
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Frontend communicates with Server without encryption (tasks, history.push, etc...), this makes installation with dedicated Frontend/Server insecure and non-compliant to such things like PCI-DSS.

Provide the way to configure encryption between Frontend and Server.






[ZBXNEXT-8720] Trigger Prototype: Add mass update for the current status ,apply on all hosts Created: 2023 Sep 21  Updated: 2024 Feb 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.4.5
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Cesar Inacio Martins Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: template, triggerprototypes
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File trigger prototype.feature request.png    

 Description   

We have a ton of hosts with a template, where we have made a lot of adjustments, disabling few triggers on the template, where these triggers already have been created on the hosts.
These hosts already used this template for months, with considerable historical data.

However, there is no way to force on one command to mass update all hosts which use this template to enable/disable one or more trigger.

This behavior isn't compatible with the "template" idea, where you should have a unique point of maintenance and which is they propose, write on the documentation : 
"The job of templates is to speed up the deployment of monitoring tasks on a host; also to make it easier to apply mass changes to monitoring tasks. Templates are linked directly to individual hosts."

Request of new feature : 
On trigger prototypes screen , at bottom of the list where we have the buttons "Create Enabled" "Create disabled" "Mass update" "Delete"  .

Two options for implementation: 

1) add two more buttons: "Enable current" , "Disable current" , which will enable or disable all the status of the triggers selected on all hosts where theses prototypes were used.

2) do the same, but into with the option into the "mass update" screen.

 

 






[ZBXNEXT-7986] Compose trigger URL for popup using data when event created Created: 2022 Sep 21  Updated: 2022 Sep 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.8
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Roman Rajniak Assignee: Valdis Murzins
Resolution: Unresolved Votes: 5
Labels: triggers, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

On Dashboard or on Problems page we using popup on problem.name link to redirect on proper URL composed from item , when event was created.
If we have trigger with PROBLEM event generation mode= Multiple and trigger have more than one event in PROBLEM state then on dashboard are displayed all PROBLEM occurences.

We need compose trigger URL with values when the event was created, like it is prepared in Trigger.name or in Operational.data fields or TAG values.

Till now for popup link Trigger URL can use only last item value and not original value. If Trigger URL can use TAG value from prolem/event , we can prepare that value using regsub before popup is builded in GUI, Or zabbix need to create new field like opdata in evens but for URL in problems.






[ZBXNEXT-7655] Provide HANodeName with dynamic value like UID (ISO/IEC 9834-8 and as ITU-T X.667) and automatic node cleanup Created: 2022 Apr 28  Updated: 2024 Mar 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 6.0.4rc1, 6.2.0alpha2
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: Zabbix7.2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

HA implementation requires HANodeName to be set manually, such behaviour requires additional handlers/steps to use in cloud/container environments.

Also current HA is mostly stateless, if node is gone it should be removed until appeared once again.






[ZBXNEXT-4293] Set trigger for the end date field of the HW warranty in the inventory Created: 2017 Dec 22  Updated: 2018 May 27

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.0alpha1
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Carlos Eduardo do Nascimento Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: frontend, triggers, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Capturar.PNG     PNG File HW expiry item.PNG     PNG File HW expiry trigger.PNG    

 Description   

Set trigger for the end date field of the HW warranty in the inventory.
This will allow as the end of an equipment warranty is approached, an alert can be generated about the problem.



 Comments   
Comment by Ingus Vilnis [ 2018 Jan 02 ]

This can be done already with the existing functionality.
You need a trapper item and a trigger. No manual entries in the HW inventory field though.

  1. Create a trapper item.
  2. Make sure you send the item value as UNIX timestamp and display the unit as unixtime
  3. Create a trigger for this item which takes the unixtime value of the trapper item and compare it to the current time. Then alert if the change is less than your desired time period in seconds. As example 14 days.
    {Template ZBX Test:hw.warranty.last()} - {Template ZBX Test:hw.warranty.now()} < 1209600
    

Comment by Valdis Murzins [ 2018 Feb 19 ]

Closing, as solution to the problem is proposed.

If the problem is still present, please, reopen the issue.

Comment by Carlos Eduardo do Nascimento [ 2018 May 27 ]

Ok, porém de onde você está coletando o vencimento da garantia do Hardware?

Não seria mais fácil, coletar esta informação do inventário?

Em vez de popular o inventário automáticamente, esta informação é populada manualmente, e usa esta informação para gerar alertas no próprio zabbix.

 
Okay, but where are you collecting the warranty expiration from Hardware?

Is not it easier to collect this inventory information?

Instead of populating the inventory automatically, this information is populated manually, and uses this information to generate alerts in zabbix itself.





[ZBXNEXT-5159] Do we have any monitoring template for BigSwitch Cloud Fabric Monitoring? Created: 2019 Apr 02  Updated: 2019 Apr 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.5
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Jai P Sharma Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Do we have any monitoring template for BigSwitch Cloud Fabric Monitoring? Unable to find any... so help.






[ZBXNEXT-5116] Services - allow use time period selector Created: 2019 Mar 18  Updated: 2022 Feb 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.5
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Cesar Inacio Martins Assignee: Valdis Murzins
Resolution: Unresolved Votes: 10
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Hi,

At the services page, today we have the option to filter by period and this filter is very limited.

I would like to request an improvement for this filter. 

Preferable for a customizable filter just like the problems filter where we can set the period from / to . 

The reason for this is to allow for this page to become more useful for the IT manager. 

Today my manager request to report every month the availability of our databases, this page perhaps not generate any report could be a perfect solution for me where I get a print from the page, but to keep the track of the exact month to generate the report I have no option unless open it on the last day of the current month and use "this month" period, if I lost this moment I have no way to get this information again.

I would like to use the "Time period select" there.

 






[ZBXNEXT-4439] Dramatically improve usability of screens (dashboards) Created: 2018 Mar 21  Updated: 2021 Aug 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Marc Schoechlin Assignee: Valdis Murzins
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

From a usability perspective the implementation of screen in zabbix is really improvable.
Zabbix users in my organisation are often confused of the screen implementation and ui seperation of screens and host screens.
This lowers the user-acceptance of zabbix in a dramatic way

Zabbix should quickly improve the following things:

  • The favoure screens perspective in the dashboard should also be capable to use "favourite" host screens
  • Slideshows should also capable to use host screens
    (bonus: embed all host screens with a certain name of a hostgroup and switch trough these slides)
  • Screens should be capable to integrate "host screens"
  • The screens perspective should also provide access to host screens
    (i.e. selectable by HostGroup)


 Comments   
Comment by Ben Hanson [ 2018 Nov 02 ]

I didn't give up on Cacti/RRD/MRTG until I learned how maps, screens, graph prototypes and LLD all worked together(which took way to long to discover).

I didn't think screens were of any value until I started mapping and stumbled on the "host screens" context menu item on a map.

At a minimum, the host screens should be exposed on the screens page, similarly to how host graphs are exposed on the graphs page.  Would be as straightforward as adding a "host screens" item to the drop down(Screens, Host Screens, Slide shows), then implementing a host screens filter, again, methodology ripped straight from graphs.

Comment by Michel van Son [ 2020 Feb 03 ]

https://www.zabbix.com/roadmap

The screens functionality will be merged with the dashboards and the screens themselves will be made obsolete.

Comment by Alexei Vladishev [ 2021 May 26 ]

Screens are made obsolete in Zabbix 5.4. Shall we close this ticket?

Comment by Marc Schoechlin [ 2021 May 26 ]

No, in my understanding Host Screens are now called Host Dashboards.
From my point of view the issue is still valid - just replace "screen" with "dashboard".

With Zabbix 5.2 a important feature of regarding host dashboard functionality is broken (ZBX-18831).
This requests describes usability improvments and seems to be of lower priority than this issue

Comment by Alexei Vladishev [ 2021 May 26 ]

scoopex, understood, let's keep it open then!





[ZBXNEXT-3596] Vector graphics for graphs Created: 2016 Dec 08  Updated: 2024 Feb 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Alexei Vladishev Assignee: Unassigned
Resolution: Unresolved Votes: 21
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Team: Team A
Sprint: Sprint 4, Sprint 5

 Description   

It would be great to implement vector graphs for much better flexibility and quality of rendering for different screen resolutions.



 Comments   
Comment by Marc [ 2017 Mar 06 ]

If this implementation renders the Graph in the Web browser engine on client side, then it would be nice if already fetched values get cached.
hgruber does something like that in the timeSeries widget of his zabbix-d3js-widgets project. There the widget is able to identify missing data and fetches only missing periods from Zabbix (even gaps).

Fetching only missing item data promises to significantly reduce the volume to be queried from the database - what is a weak spot of Zabbix right now. At least when having many users and dashboards resp. screens.

Comment by Dimitri Bellini [ 2018 Mar 29 ]

Hi Guys, what happened to the this implementation for 4.0? https://www.linkedin.com/feed/update/urn:li:activity:6364418508109021184

Comment by Nathan Liefting [ 2021 Jul 30 ]

@dimitri, That's a screenshot from a dashboard so that works.

But definitely would be great to see Latest data and Monitoring Hosts with vector graphs as well!

Comment by Ryan Eberly [ 2024 Feb 03 ]

This is highly needed now that the vector graph for dashboards has been around for a while





[ZBXNEXT-5164] We need a macro that returns unixtime, to use in HTTP item request/header Created: 2019 Apr 03  Updated: 2023 Sep 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: akihiro ito Assignee: Valdis Murzins
Resolution: Unresolved Votes: 11
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-81 It will be good to implement support ... Open

 Description   

I would like to monitor AWS using HTTP agent items.

A get request to AWS requires the "StartTime" :, "EndTime": parameters.

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html

 

Macros can be used for the Request body parameter of the HTTP agent.
However, there is currently no macro in Zabbix that returns Unixtime.

In order to make a request to AWS periodically with HTTP agent, it is necessary to specify the data period to be acquired by Unixtime, not fixed Request body.

Future or past of specified number of seconds
And I need a macro that returns Unixtime for the current time.



 Comments   
Comment by Alexei Vladishev [ 2022 Jul 13 ]

Note that function fmttime() can be used to format output of {TIME} and {DATE}.





[ZBXNEXT-5117] allow custom time period selector Created: 2019 Mar 18  Updated: 2019 Mar 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.5
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Cesar Inacio Martins Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: filters, frontend, period, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File Capturar.JPG    

 Description   

After migrating my Zabbix from version 3.x to 4.x the time filter selector on graphics and problems become a pain. 

The idea is good but the options are a mess, very confusing pre-set filters and a great resource was removed which is the "window navigation". 

My suggestion for improvement is : 

1) Allow customizing the options shown, this way we can get better use of them. 

This should be allowed at system scope and allow to override at user profile.

The idea is a screen where show all options with the period rule at the front and then allow to edit the description and the rule.

  • Last 2 days : now-2d - now
  • Last 7 days : now-7d - now
  • Last  week : now-7d/w - now-7d/w

2) The "window navigation" option still exists but it works only over the same period selected. 
I mean the buttons "<" and ">" arround of the "Zoom out" text.

In the ZBX v3.x , where there a ruler to set the period filter have options to navigate the window in other space of time, like "1d", this way if I'm looking for a behave in a graphic between 00h-03h and want to check how was the behave of this graphic at the same period one, two, three days ago, isn't possible I need to edit manually the filter which is painful. 

So, my suggestion here is at the same customizable screen requested above, allow to create quick window navigation : 

  • less 1 days : -1d 
  • Less 7 days : -7d
  • Less 1 month : -1M
  • Plus 1 days : +1d 
  • Plus 7 days : +7d
  • Plus 1 month : +1M

 

 






[ZBXNEXT-8964] Audit trigger dependencies Created: 2024 Jan 19  Updated: 2024 Jan 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 7.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Rodrigo da Silva Montes Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Audit trigger dependencies is not supported yet, but it's a very important feature that is needed to know who is creating or removing dependencies between triggers.






[ZBXNEXT-8930] Add item tag filtering for Svg Graph Created: 2024 Jan 10  Updated: 2024 Jan 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.4.10, 7.0 (plan)
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Ryan Eberly Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be very useful to allow for item tag filtering for the Svg Graph widget. In one of my setups we have a lot of layers of information that can be presented in many aggregated or individual views.

In one case, we have a processing flow that contains many processes and those processes contain many threads. We monitor the CPU usage of specific threads to identify which host, flow, process and thread is the cause of backpressure. For these items we have really long names in this format:

CPU Usage - <flow> - <process> - <thread>

A name like the one above is very difficult to read and understand in the Svg Graph. It would be much better to be able to set the title of the graph widget with the values of <flow> <process> and <thread> and just have the name "CPU Usage" show up in the legend or hintbox along with the host. 

 

I have plenty of other examples, if you need them, but I think this is a necessary change for the Svg Graph widget as more visualization features are added to Zabbix in the upcoming 7.0 release.

 






[ZBXNEXT-8812] Item Pattern "Select" in Graph Widget Makes Browser Unresponsive Created: 2023 Nov 02  Updated: 2023 Nov 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.23, 6.4.8, 7.0.0alpha7
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Ryan Eberly Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I use Zabbix to monitor a high performance computing environment. The environment is comprised of clusters of many hosts that perform similar functions in parallel. For this reason, there are certain metrics that we monitor that are aggregated on the cluster-level instead of on a per host basis. In Zabbix we use a synthetic host to denote these cluster-aggregated metrics. For some of our clusters we have some synthetic hosts that have 20,000 or more unique items. Some hosts have 50,000 items. In these cases when you click the Select button in the graph widget and filter for one of these hosts the browser times out or becomes unusable.

We need to introduce pagination in some form. I personally think this would be a good time to introduce pagination through scrolling (or infinite scrolling pagination). But any kind of pagination is fine as this will limit the amount of data returned to the user, and prevent browser crashing.






[ZBXNEXT-6105] Bring back "Monitoring -> Web" or make "Monitoring -> Hosts" more useful in regards to Web Monitoring Created: 2020 Aug 04  Updated: 2020 Aug 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.2
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Marco Hofmann Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: Frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian 10 Buster amd64
MariaDB 10.4
Zabbix 5.0.2


Attachments: File Module.php     File manifest.json    

 Description   

Steps to reproduce:

  1. Upgrade to Zabbix 5.0.x
  2. See the changes of ZBXNEXT-5694 in Zabbix Frontend
  3. See the Web Navigation became a lot more complicated
  4. See that others feel the same: ZBX-17613 & ZBX-17664

Result & Explanation:
I really(!) like the new Monitoring -> Hosts view, but it has it downsides, as it feels unfinished in some use-cases.
I especially miss the old direct way to navigate to Monitoring -> Web. I find it rather complicated to navigate to it now. I think that it's especially annoying, that when I go from Monitoring -> Hosts to the Web monitoring, it's only possible to navigate there, with a pre-selected filter, from the host that linked me there.

So I now have the following work flow (as an example):

  1. Go to Monitoring -> Hosts
  2. Click the Web link on any host listed there
  3. Switch to the Web monitoring view
  4. Reset the filter, because it filters on the host that got me here
  5. Now I filter for the Hosts Group that I'm really looking for.

This is very counter-intuitive.



 Comments   
Comment by Mickael Martin (Cyres) [ 2020 Aug 13 ]

If you want, I have a small workaround with my module https://framagit.org/zabbix-modules/add-web-in-menu

Comment by Marco Hofmann [ 2020 Aug 16 ]

I'm so in love with you right now mma! That works so great, thank you!
Would you be able to also craft Module(s) to launch items.php and triggers.php directly?
https:/ /FQDN/zabbix/items.php
https:/ /FQDN/zabbix/triggers.php

I tried myself, but I don't understand what I'm doing as:

APP::Component()->get('menu.main')
			->findOrAdd(_('Configuration'))
				->getSubmenu()
					->insertAfter(_('Hosts'),((new \CMenuItem(_('Items')))
						->setAction('items.php'))

Always results in https:/ /FQDN/zabbix/zabbix.php*?action=*items.php

I think instead of setAction it must be something like:

->setUrl(new CUrl('items.php'), 'items.php')

But as I can only write Bash and PowerShell, and not JavaScript and PHP, I have no idea what I'm doing here.

Comment by Valdis Murzins [ 2020 Aug 17 ]

Hi starko,

Your second suggestion was correct:

APP::Component()->get('menu.main')
			->findOrAdd(_('Configuration'))
				->getSubmenu()
					->insertAfter(_('Hosts'),(new \CMenuItem(_('Items')))
						->setUrl(new CUrl('items.php'), 'items.php'))
Comment by Marco Hofmann [ 2020 Aug 17 ]

Hi vmurzins! Thank you very much for your response.
I know it's off-topic, but I tried several variants, but Frontend always stays blank / doesn't load with my module. No matter what I do.
I uploaded my files. Would you mind taking a look?

Comment by Valdis Murzins [ 2020 Aug 17 ]

Hi starko,

My bad. I forgot to add "\" in my example. Here it is fixed:

APP::Component()->get('menu.main')
	->findOrAdd(_('Configuration'))
		->getSubmenu()
			->insertAfter(_('Hosts'),(new \CMenuItem(_('Items')))
					->setUrl(new \CUrl('items.php'), 'items.php')
			);
Comment by Mickael Martin (Cyres) [ 2020 Aug 18 ]

I have added some modules-tips like that : https://framagit.org/zabbix-modules





[ZBXNEXT-1704] Add sessionid to table "user_history" Created: 2013 Apr 11  Updated: 2014 Dec 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.15
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Cheng Chen Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: user_history
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Demand: Browsing one page in a same user with more than one place(example browser or real person), URL need to be different.
As there is a team in a department, but the team is special: the team has only a user in zabbix web, so the user will be use in different computers and different browers.
My suggest: add sessionid to table "user_history" (relate to userid). Example: SELECT title1, url1, title2, url2, title3, url3, title4, url4, title5, url5 FROM user_history WHERE userid=1 and sessionid=ef7b42f9ae9c247e



 Comments   
Comment by Erwin Vrolijk [ 2014 Dec 08 ]

Just do not use a shared account in your case, but assign every machine/user you want to track an individual user.





[ZBXNEXT-4301] Confusing status/feature colour Created: 2016 Nov 04  Updated: 2019 Mar 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: design, frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently Zabbix uses next colour for availability and features icons:
green - available and feature enabled
red - unavailable and feature disabled

It is good idea to use different colours for status and feature icons/labels.



 Comments   
Comment by richlv [ 2019 Mar 17 ]

This seems to be about the availability icons and the enabled/disabled links, is that correct?
Note that items also get grey for unsupported state.





[ZBXNEXT-2894] Support linking host to existing hostgroup by hostgroup prototype Created: 2015 Jul 30  Updated: 2022 Feb 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Andrei Gushchin (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: hostgroups, lld, prototype
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sub-task

 Description   

Add support to assign hosts created from Host Prototype to a potentially already existing normal hostgroup or existing hostgroup from prototype.






[ZBXNEXT-7657] Add HA quorum and killswitch for database consistency protection Created: 2022 Apr 28  Updated: 2023 Apr 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 6.0.4rc1, 6.2.0alpha2
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Edgar Akhmetshin Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Sub-task
depends on ZBX-22310 HA nodes should not race between each... Closed

 Description   

Example:

  • Database - Master/Master in different DC;
  • 2 Zabbix Server HA nodes;

If link between DC for some reason fail more than silence interval for the HA node, each HA node will acquire DB as a primary and create two separate instances.

Please add:

  • quorum;
  • killswitch if amount of alive nodes less than defined value;

For example:

  • 2 node HA cluster should fail to switchover if second node is not visible to it through database (in current implementation), but current active node should work until restarted;
  • also if both nodes at start cannot see 2 of 2 they should fail to start;
    ...





[ZBXNEXT-8008] Audit Logging Customization Created: 2022 Oct 01  Updated: 2024 Mar 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 6.0.9, 6.2.2
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Ryan Eberly Assignee: Valdis Murzins
Resolution: Unresolved Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

The new audit Logging in version 6.0 is much improved but is incredibly costly in large environments  Too many logs are generated, specifically during low level discovery. Over 6 days the database table grew to 22GB which is not sustainable, particularly when the Housekeeper runs. Moving forward the expansion of the audit logging needs the same configuration flexibility as the User roles do, allowing the ability to turn on and off specific audit Logging resource types.



 Comments   
Comment by dimir [ 2022 Oct 02 ]

Related feature request ZBXNEXT-7829

Comment by Armands Arseniuss Skolmeisters [ 2023 Aug 22 ]

The auditlog table's timescaledb compression and segmentation for Zabbix 7.0 is implemented in ZBXNEXT-8520.

Comment by Janis Freibergs [ 2024 Jan 19 ]

Disabling of system event audit logging implemented in ZBXNEXT-8837.





[ZBXNEXT-8037] Zabbix upgrade available indicator Created: 2022 Oct 12  Updated: 2022 Oct 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.4.0beta1
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Marco Hofmann Assignee: Valdis Murzins
Resolution: Unresolved Votes: 9
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Source: https://www.reddit.com/r/zabbix/comments/scpkp3/zabbix_upgrade_available_indicator/?utm_source=share&utm_medium=web2x&context=3

It would be nice, if Zabbix Frontend had an Upgrade indicator. Something that tells you, that a new minor or major release is available. A good spot might be the System information view (zabbix.php?action=report.status).

Of course, there should be a setting to turn it on or off in one of the php config files, like we already do with the "database tables upgraded" switch. You should also be able to set if you want to see only minor and/or major releases.






[ZBXNEXT-5218] User groups -> Tag filter options for without a tags (negated filtering) Created: 2019 May 09  Updated: 2024 Mar 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.7
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Kim Jongkwon Assignee: Valdis Murzins
Resolution: Unresolved Votes: 13
Labels: Zabbix7.2, negative, permissions, tags, usergroups
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File tag_filters.png    
Issue Links:
Duplicate

 Description   

When a tag filter is set for a host group, no way to can see "Without a TAG" triggers.

It is not friendly to users who use it with "Permissions" and "Tag filters"
Need to option for view "untagged problems" with some stored tag filters.



 Comments   
Comment by Oleksii Zagorskyi [ 2019 May 09 ]

ZBXNEXT-4237 is related, for view purposes.





[ZBXNEXT-134] Need feature, for moving item from one host to other without lost of data Created: 2009 Nov 13  Updated: 2023 Sep 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Nikolay L Selikhov Assignee: Unassigned
Resolution: Unresolved Votes: 57
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Need feature, for moving item from one host to other without lost of data.

For example:

  • User change your connection point from one switch to other.
  • User change your connection point from one Node (hostgroup) to other.

Need move all data (statistics, triggers e t.c.) move to other point without lost.

Now it is impossible.



 Comments   
Comment by Orion Poplawski [ 2012 Jun 12 ]

I have been collecting temperature data via probes connected to one host and want to move them to another host but would like to keep all of the data. That's why I would like to see this feature implemented.

Comment by Chris Kistner [ 2012 Jul 17 ]

I would also love to have this feature.

I also find it quite annoying that when you copy an item that it does not copy the associated Application(s), Trigger(s) and Graph(s) with.

Currently one option would be to move the host's monitoring end-point, instead of moving the items.

At this very moment I'm actually modifying the Zabbix hostid in the item table to move my item(s) from one host to another.
Unfortunately it loses its Application(s) in the process. Technically it keeps the Applications that are linked to the original host, so when you view the host configuration on the new host, it still shows the correct Application(s).
So I before I move the item(s), I recreate the Application(s) on the destination host, and then after I made the database change, I remap all the item's Application(s).

Comment by Areg Vrtanesyan [ 2013 Aug 31 ]

Hi

I would like to have this too as it will help to move the collected data to other host for example if I am running the multiple instance of same service on one host and would like to separate data collected for the server and service.

https://www.zabbix.com/forum/showthread.php?p=137081

Voted for this

Regards,
Areg

Comment by Antti Hätinen [ 2019 Mar 23 ]

I would like this feature. Now I had to move the item and trigger by using SQL, but UI button would be nice, easier and more robust for most people.

UPDATE items SET hostid=<newid> WHERE itemid = <oldid>;

It seems that there is relation to triggers so that all triggers to the item follow automatically to the new host.





[ZBXNEXT-633] Would be nice in the "Administration->Queue->Details" report show also key of the item and it's update interval Created: 2011 Jan 25  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: queue, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Would be nice in the "Administration->Queue->Details" report show also key of the item and it's update interval.
This would be very helpful when troubleshooting performance problems.






[ZBXNEXT-1386] Required form fields pre validation using html5 Created: 2010 Jul 14  Updated: 2012 Oct 13

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Alexey Fukalov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: usability, validation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

doesn't seem to be safe enough for 1.8.3 as well, moving to 1.8.4



 Comments   
Comment by Alexey Fukalov [ 2010 Jul 19 ]

ZBX-2692

Comment by richlv [ 2010 Aug 10 ]

this issue would benefit from a change description

Comment by richlv [ 2010 Aug 26 ]

ping ? what actually was changed, how could it impact user experience, what possible problems could this introduce ?

Comment by richlv [ 2010 Aug 30 ]

dev branch rev 14145.

validation missing for :

items;
triggers;
graphs;
applications;
regular expressions (both name & test string);
maybe possible for hostgroup selector in host/template properties ? (would have to take into account 'new group';
all import pages - file field (including image uploads);
maintenance - maybe host/group maintenance ?
it services;
images;
ldap auth;
installation wizard

what about fields where something has to be selected (hostgroup, user etc) ?





[ZBXNEXT-1201] Webinterface improvements for large scale monitoring Created: 2012 Apr 28  Updated: 2019 Jun 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: Change Request Priority: Critical
Reporter: Attilla de Groot Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 8
Labels: networkmonitoring, scalability, snmp, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi,

When managing a large scale environment in Zabbix (specifically network monitoring), there are several impractical implementations in the frontend. These limitations are mostly seen when hosts with a large number (500) of items/triggers/graphs and screens are added. This isn't an exceptional situation for just service provider class switches, but also applicable for standard 48 port enterprise switches.

  • Problematic over view of host latest data. Even with per port applications it still ends up in > 100 port applications.
  • Difficulty selecting a specific item for using in a graph
  • Difficulty managing triggers for a single host
  • Selecting the correct graph for a host with 1500 graphs in a small drop-down box isn't really practical.

I'm suggesting the following changes:

  • Implementing sub-applications/categories. This would give us the ability to have an overview in latest data like: $Linecard --> $port --> $item
  • Search/filter for triggers/graphs per host.
  • Search/filter on pages where you have to select items/triggers/graphs. On several places in the interface you have to select items/triggers/graphs you want to use (e.g. graph items, screenedit, mapedit).
  • Search for screens. You mostlikely want to search on screens that only have graphs for a specific host so you can select the appropriate screen.


 Comments   
Comment by richlv [ 2014 Mar 08 ]

screen filtering/searching is ZBXNEXT-2189

Comment by richlv [ 2015 Jun 25 ]

ZBXNEXT-2857 asks for a global graph search by name

Comment by Jori Hämäläinen [ 2015 Dec 16 ]

Also filtering by application should be doable. Allocate graph to application manual or automatic with item's applications drawn into graph..

Comment by Paul Dubé [ 2019 Jun 26 ]

See ZBXNEXT-5292 for a partial solution.





[ZBXNEXT-7743] Open Monitoring - Latest data without any data with default tab Latest data Created: 2022 May 26  Updated: 2024 Mar 28

Status: Resolved
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.5rc1, 6.2.0beta3
Fix Version/s: 7.0.0beta3 (master), 7.0 (plan)

Type: Change Request Priority: Critical
Reporter: Edgar Akhmetshin Assignee: Dace Petra
Resolution: Unresolved Votes: 12
Labels: Latest, data, slow
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Screenshot 2022-05-26 at 17.08.34.png     PNG File Screenshot 2022-05-26 at 17.09.10.png     PNG File Screenshot 2022-05-26 at 17.09.55.png    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-6502 Latest data page, do not list data if... Needs specification
is duplicated by ZBX-23422 Remove loading of the Latest data Closed
Sub-task
part of ZBX-20644 Latest Data don't work normally for h... Closed
Epic Link: Zabbix 7.0
Team: Team B
Sprint: S2401, S24-W6/7, S24-W10/11, S24-W12/13, S24-W14/15
Story Points: 4

 Description   

Current workflow:

  • Do: some changes, new items, etc...;
  • Check: latest data for items required to myself... not latest data server can ever get;
  • Open: Monitoring - Latest data;
  • Wait: not needed/junk data is loaded;
  • Use filter: open what is required;

Problems:

  • Random latest data uses database resources to show useless data for current task;
  • Random latest data spends time to show useless information;

Suggestion/feature request:

  • Open latest data with empty filter;
  • Separate TAB with latest data filter preconfigured out of the box;
  • Any TAB has separate option to be opened by default if Monitored-Latest data opened;

Nothing selected:

Latest data by default:

Option to enable tab as a default choice:

Please give us option to stop latest data load something useless and wait until it loads.



 Comments   
Comment by Waleed Mortaja [ 2022 Oct 16 ]

What do you think about having latest data shown in the (configuration) items table for each item, or at least a link to latest data page (filtered for that item)?

Comment by Brian van Baekel [ 2024 Jan 23 ]

Would be a great addition if those tabs (named filters) can be shared among users, so that all users are looking at the same data by default.

Hint to ZBXNEXT-8913

Comment by Dace Petra [ 2024 Mar 28 ]

Implemented in development branch feature/ZBXNEXT-7743-6.5





[ZBXNEXT-6770] Add graphs traffic in the link from Maps Created: 2021 Jul 08  Updated: 2021 Jul 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Andreas Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: Graphs, Maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The suggestion would be add a option like "mouseover" the link in the map, then show the graph traffic, or example:

 

When you mouver over the icon, show the graphs from the triggers associate. Mouse out, it disappear

 

 

 

Originaly propoused by : https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/410531-add-graphs-traffic-in-the-link-from-maps






[ZBXNEXT-7656] Add ability to use ENV variables to define configuration parameters Created: 2022 Apr 28  Updated: 2022 Jul 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Packages (C), Server (S)
Affects Version/s: 6.0.4rc1, 6.2.0alpha2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: cloud
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-5356 DB passwords in config files Open

 Description   

For cloud/containerised/any environments. Parsing or "regexing" custom formatted PHP and Server/Proxy configuration files complicates automated setup and also requires additional rework of chef/ansible/puppet, etc due to changes done from version to version, line in PHP configuration files from frontend. Especially with PHP arrays to parse for common settings.






[ZBXNEXT-6934] user permissions in usegroups ( to hostgroups, hosts, items ) based on tags Created: 2021 Sep 22  Updated: 2022 Jun 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Templates (T)
Affects Version/s: 6.0 (plan)
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: gofree Assignee: Valdis Murzins
Resolution: Unresolved Votes: 14
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi guys

 

the idea is simple in a way - imagine that when configuring usergroups the tag filer option will not only apply to problem view but also to entity view - like hosts & items.

 

This way the host groups based permissions would replaced by tags based permission - that will radically decrease the need of "overcomplexed hostgroups nesting"

 

Imagine that you could setup a tag on template level that all items will inherite ( imagine two different templates one with tag customer: AB and one with tag customer: CD ) on the other you'll have a host with tags: customer: AB and customer: CD. There will be a usergroup with permissions to see all entities with tag customer: AB ( no inclusions needed, no nested and forgotten hostgropus ). To the same host you allatach for example a template for linux ( all items will inherit the tag os:linux ).  Then you add this tag permission to the previosly mention usergroup - as a result the user will be able to see customer related metrics with linux related metrics. Possinilities are of course much wider. In addition I can see tags also on host groups level, as they contain templates too and it would be possible to give permissions to them ( editing for example ).

 

What do you think ?- in my opinion concept like this would make life much easier permisions wise to maintain and design. Especially as the application on item level have been replaced by tags. And host can be tagged for a longer time already.

 

 



 Comments   
Comment by XinWang [ 2022 Jun 09 ]

definely, this is a very good feature. we have thousand of hostgroups for multi-tenency user. tag based permission control will reduce the cost of management and be more flexible. Since zabbix is supporting tags for every where. 

Comment by Omar [ 2022 Jun 23 ]

this is extremely  needed in MSP/noc escenarios where you need to provide granular access to zabbix data.





[ZBXNEXT-6892] Custom Triggers Severities and custom Frontend Messaging/Sounds Created: 2021 Sep 03  Updated: 2021 Sep 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.15, 5.4.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Raul Chiarella Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello there!
I was searching for a solution for this and did not find any.

Then i saw multiple discussions on Zabbix Forum and other Websites with the same idea/topic so i decided to post here.

 

It would benefit a lot of Zabbix Users to have a option on Trigger Severities to create custom severities and also the option to add custom sounds on Frontend Messaging.

Here:

Lets say i want to create a new severity called "Update Complete"
Then, on Frontend messaging i would select this "Update Complete" severity and bind to a custom audio i created using my own voice or TTS saying "Update on Server Complete".

Another exampkle: "Backup Failed" . I would use this Severity and bind a audio saying "Backup on Server Failed" - So alongside with visualization we would also have audio response! Even better.

 
I am sorry if i didnt explained this right but i hope you all understood what i meant... I'm still training my English. 

PS: I know that this would be possible using API of some external software/tool but it would be a superb and handy feature to have this in Zabbix.
 






[ZBXNEXT-6490] Mass updating Trigger dependencies, without replacing all other dependencies Created: 2021 Feb 04  Updated: 2021 Feb 04

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.8, 5.2.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Nathan Liefting Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Screenshot 2021-02-04 at 15.19.35.png     PNG File Screenshot 2021-02-04 at 15.20.33.png     PNG File image-2021-02-04-15-19-57-261.png     PNG File image-2021-02-04-15-20-41-943.png     PNG File image-2021-02-04-15-20-45-116.png    

 Description   

Hi,

For a customer I am currently building a Proxy dependent templates using the built in templates. An easy task in it's essence, but it has turned into a time consuming task now.

In this and other cases when you want to mass update trigger dependencies you want to ADD one or two to some/all triggers. Instead we only have the REPLACE option which will drop all other Trigger dependencies:

Why isn't it possible to choose like we can when adding templates to a host:

 

Definitely an important feature to add I think  

 

Kind regards,

 

Nathan






[ZBXNEXT-6919] Make the length and format of zbx_sessionid configurable Created: 2021 Sep 16  Updated: 2021 Sep 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.15
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: biyurong Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently the zbx_sessionid is a 32 character string, which in fact is the hex of  a 16-digit number.

In our project, the the sessionid of any frontend system must be a real random number whose length greater than or equal to 32. However zabbix does not match this requirement.

So can you make the length and format of zbx_sessionid configurable?






[ZBXNEXT-6492] Possibility for usage jdbc connection string for PostgreSQL Patroni cluster Created: 2021 Feb 05  Updated: 2024 Feb 20

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Igor Gorbach Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 11
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File zabbix6_4_pg_connstring.patch     Text File zabbix6_pg_connstring.patch    
Issue Links:
Sub-task

 Description   

We're able to define the only one hostname/ip-adress into configuration:
DBHost - into Zabbix Server configuration
$DB['SERVER'] - into Frontend configuration

We want to have a posibility for defining multiple hostnames/ip-adresses to Zabbix everytime will connnecting to alive database in cases of failover and switchover

For example use full jdbc string for connection to PostgreSQL Patroni cluster

 jdbc:postgresql://127.0.0.1:1544,127.0.0.2:1544/dbname?targetServerType=master


 Comments   
Comment by Rostislav Palivoda [ 2021 Feb 15 ]

Why not to use https://www.pgbouncer.org/ ?

Comment by Kris Avi [ 2022 May 11 ]

pgbouncer being another component that could fail and might be too much of overhead to add extra machines for pgbouncers, setting up VIP between them to direct traffic towards correct pgbouncer, while in that case you already would direct traffic against vip that is assigned to readwrite node. 

 

The whole point of supporting connectionstring would be to avoid adding extra components in the chain for HA solution.

I would not even go for JDBC connectionstring, as it is coming from Java  side, but since zabbix is made in PHP, then the https://www.php.net/manual/en/function.pg-connect.php function seems to support libpq and it's format https://www.postgresql.org/docs/current/libpq-connect.html

In that case the connectionstring could contain all the hosts in cluster and choose the one cluster that is read-write 
postgresql://host1:5432,host2:5432,host3:5432/zabbix?target_session_attrs=read-write
Unfortunately currently zabbix server puts together connection data from multiple variables and does not support putting multiple DB hosts

https://www.alibabacloud.com/blog/597797 Seems to be example of how it is configured in here.

Since the connection creation towards correct node is done still by the same library, then no extra components will be used and no extra links in the chain will be introduced with that change.

 

In current setup we have set up vip in front of PG servers and in the servers there is also HAProxy installed just to direct traffic to read-write node. It is ugly and has extra parts that could fail, but it gives the chance that DB has done failover to another node, but for some reason VIP did not follow, then the DB connections still end up at RW node.

 

With the connectionstring potential usecase for performance optimization could be to direct write requests towards rw node and read requests to any of the node in the whole cluster, could allow scalability on read requests, which zabbix will get more to load the values for graphs. That would probably mean that in config there could be RW connectionstring and RO connectsionstring. If RO one is not filled, RW will be used.
Directing RO requests to RO node has potential flaw of replication lagging, that could hide latest written values in some cases, but lowering lag and sync process will be duties of Postgres DBA setting up the cluster.

Comment by Dimitri Bellini [ 2022 May 17 ]

I would like add my vote for this request!
Thanks so much

Comment by Kris Avi [ 2023 Jan 24 ]

pgBouncer is not solution in here at all. pgPool-II could be possibly used in place, but it is hassle to set up pgPool-II for this purpose and another alternative is to set up HAProxy on zabbix server hosts, that forward traffic to read-write postgres node. The HAProxy solution is currently used for me, but in there the best would be to have Layer 4 proxy mode and do health checks and RW node checks in Layer 4 as well and it is annoying if you happen to have password on the role checking for RW node.

 

So I took half a day and generated patch for this feature zabbix6_pg_connstring.patch

 

I tested PHP side and seemed to work fine, even when switchover from one node to another. Was not able to build C++ Server application to test it, since working on Windows mainly and setting up build environment currently would take longer than needed.

 

This patch seemed to be good for tag '6.0.0' and checked out commit was 5203d2ea7d901cd33d148f20586e2155901a7faa.
PHP side seemed to work fine even for origin/master as well

 

Patch implements Postgres connectionstring support and support to add target_session_attr on Postgres connections when using old parameters. In the old code it is possible to add multiple hosts on DBHost field, making it work quite similar to what connstring is implementing. But for automatic failover the target_session_attr is required.

Comment by Kris Avi [ 2023 Mar 09 ]

Updated patch to current master (6cfe791429d7cccda0205335868976cac6c51039) zabbix6_4_pg_connstring.patch

Patch still has both changes, one to add target_session_attr config option (with default value of "read-write") and other one to use connectionstring instead of all the connection parameters. 

Even the target_session_attr change would give possibility to write multiple hosts on DBHost field and get correct HA capabilities. If you would like to keep old behavior, then target_session_attr could have the default value of "any", but would be good to have possibility to configure it.

This change is vital for Zabbix HA capabilities, without database zabbix is nothing. It is not normal situation to change Zabbix config if for some reason DB should have to do failover to replica node. 

If you still suggest using something like pg_bouncer to do that failover, could you please provide sample configuration for it, cause so far I have not seen pg_bouncer having such possibility to proxy connections to R/W node. 

Since there has been bigger changes, then I am not so sure if new patch contains all the required changes as I still do not have build environment set up to compile zabbix_server and zabbix_proxy.

If more load-balancing from DB is wanted, then going further it would be nice to configure read-only db config (by default being same as rw config) and having queries tagged as read-only or queries that modify data and then directing read-only queries towards config for read only and queries that modify data only towards RW config. That way it would be possible to spread the queries across DB cluster. At least talking from Postgres point of view when hot_standby is used, but I am sure similar setup is possible with MariaDB and Oracle.

Comment by Piotr Paweł Stefaniak [ 2023 Mar 28 ]

I'd very much like to see this feature in.

I haven't tested the patches, but it seems to me that stripping one of the if statements of parentheses would make the translation unit incorrect.

Comment by Antti Hurme [ 2023 Jul 21 ]

This could also be a good addition if you use pg_auto_failover. Would like to see this as an way to make Zabbix truly HA with the great inbuild server HA + PostgreSQL HA with something modern.

"Implementing client-side High Availability is included in PostgreSQL’s driver libpq from version 10 onward. Using this driver, it is possible to specify multiple host names or IP addresses in the same connection string."

Comment by Piotr Paweł Stefaniak [ 2023 Sep 05 ]

I was in the process of writing a patch to implement this for 7.x, but it appears that there's a work-around good enough for me and perhaps others that doesn't involve patching the sources.

What I needed from my WIP patch was a couple of things:

  1. the ability to set multiple hosts and their ports
  2. the ability to set target_session_attrs
  3. ideally no regression for other DB servers so that the patch could be pushed upstream.

It had already been possible to set multiple hosts in the DBHost field and it worked with Postgres as intended, but not multiple ports which I needed. The problem was that DBPort is converted to an integer and stored in a variable common to all database connection code, so I had a dilemma how to implement what I wanted but at the same time keep everybody else happy.

Someone over in the IRC channel asked whether pgservices could work and I thought that it's a nice idea, but there's a similar one, but simpler: environment variables PGPORT and PGTARGETSESSIONATTRS. This may be surprising, but it appears to work, zabbix-server doesn't do anything about it and libpq handles them as designed. You'd think for consistency I should also set PGHOST or PGHOSTADDR, but if you don't set it in the zabbix-server config, it's going to default to localhost, which in my case beats the purpose of everything else mentioned here.

I think ideally zabbix-server should cease trying to parse and handle all possible connection parameters for all database engines that it supports and instead expose a single configuration setting for the user to provide the connection URI.

Comment by vl1987 [ 2023 Sep 21 ]

In fact, it is strange that there is still no such possibility. It would be great if such an option appears

Comment by Kris Avi [ 2024 Feb 20 ]

Thanks @pstef

I opted to use environment variable PGTARGETSESSIONATTRS to solve my problem. In configuration added multiple DB hosts. My setup was easier since used default port, but different hosts. Made similar change in PHP FPM config to pass same environment variable to web interface as well. Been using that method for couple of months in production, so far on switchover, there is minor hiccup as zabbix detects that connections should be recreated on DB switchover, but so far system has been able to behave normally. This method works only because they are not setting it to some value. My patch itself would set some default value, but at the same time give you option to set it in config. Potentially could have added multiple ports option in ports field too, but it was more complicated than to add connectionstring field.

I don't bother updating my patches for it any more, big portion of work is already done in there and it is up to Zabbix guys to either use it and merge it to upstream or not. 

I agree with you, they should just give the option to enter one connection string field and not bother with parsing and handling them all. But for sake of backwards compatibility probably those fields should stay. However still could add connection string field and if it is entered, then not try to parse rest of DB config parameters and trust that user configuring already knows what they are doing. Not all of the users will need such option, but some might. When writing my patch I kept in mind that old way should still work, it should include config file descriptions to my best knowledge and should not break something on other DB engines, but in the end it is zabbix dev team choice to use that patch or not. So far it seems this ticket has not gotten any of their attention and will be among other unsolved bug reports. Yes there are more parameters you could set and parsing them all could be too much, but most commonly used ones are sslmode and target_session_attrs, that is why potentially those should be in config while rest could come from environment variables.

 

 

Still there could be improvements made in backend and to make zabbix server and web aware of query types and if they are read-only queries or need to modify data. If it is read-only query, then it could be loadbalanced using prefer-standby for those queries and direct write queries to read-write node. It of course brings danger of reading stale data, but that is more on DBA to handle on cluster side.





[ZBXNEXT-6461] Availability reports shows only current year Created: 2021 Jan 21  Updated: 2022 Mar 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.31, 4.0.26, 5.0.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Andrey Rybin Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: graphs, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix documentation says: "Clicking on Show in the Graph column displays a bar graph where availability information is displayed in bar format each bar representing a past week of the current year."

This means that availability reports are not available for the past year.
Even if you set the correct filter values by date specifying the past year, the graph will still be for the current year. A huge request to change the work of this function so that we can get a graph for the last year (if we have a history of items).

Than you!)






[ZBXNEXT-7959] Add Thresholds change backrounds colors to Item Value Widget Created: 2022 Sep 02  Updated: 2022 Sep 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.2.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alejandro Benitez Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[ZBXNEXT-8060] Can zabbix support PBKDF2 when storing user password in database? Created: 2022 Oct 24  Updated: 2022 Oct 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.28, 6.0.9
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: biyurong Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Now zabbix use bcrypt hashing user passwords. Compared to PBKDF2, bcrypt has a fixed output size, which makes it less than perfect for generating encryption keys from passwords.

Moreover, PBKDF2 consumes less cpu and memory which is more friendly with resource limited situation.

Please add PBKDF2 as a choice when storing user password in database.






[ZBXNEXT-8070] Add "Monitoring -> Hosts" to context menu Created: 2022 Oct 28  Updated: 2022 Oct 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.4.0beta2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marco Hofmann Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2022-10-28-09-52-47-308.png     PNG File image-2022-10-28-10-01-53-538.png    

 Description   

Similar to ZBXNEXT-7512, I would like to propose, to add just another item into the context menu. If you compare the current side-menu with the context menu, you might notice a difference:

So, besides the inconsistencies in both lists, I propose to add "Monitoring ⇾ Host" to the menu.

In the meantime, this can be circumvented, by making use of the new custom context menu URLs from ZBXNEXT-3496:

By adding the following "Script", you can build something like I requested:






[ZBXNEXT-8639] "Open in a new window" feature for Trigger URL Created: 2023 Aug 15  Updated: 2023 Aug 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.4.5
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Yurii Polenok Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: frontend, link, trigger, triggerurl
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Scripts URLs support "Open in a new window" feature.
We also need an "Open in a new window" feature for Trigger URLs.
It would be great if this option could be configured, because it is more convenient and faster for us to open the documentation from the trigger URL in a new tab.
Even if possible, there should be 2 options: a new tab or a new browser window.






[ZBXNEXT-7981] More explicit indication of active agent availability Created: 2022 Sep 19  Updated: 2022 Sep 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ilya S Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2022-09-19-12-49-38-355.png     PNG File image-2022-09-19-12-53-40-834.png    

 Description   

Good afternoon! I would like to see a more explicit indication of the availability of the active agent. When there are many hosts with active agents, it is very inconvenient to point at each one and see the result. It would be cool to have a clear indication of the availability of the active agent on the hosts panel in the form of a green border on the icon



 Comments   
Comment by Ilya S [ 2022 Sep 19 ]

As an option, you can also repaint the ZBX in green


 





[ZBXNEXT-8153] cannot modify macros on discovery host like vmware vm Created: 2022 Dec 12  Updated: 2022 Dec 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.12
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: romeo Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

cannot modify macros on discovery host like vmware vm,how can I change macro on discovery host ,because I want apply different trigger threshold value.






[ZBXNEXT-8116] Configurable option for saving state in monitoring section Created: 2022 Nov 22  Updated: 2022 Nov 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.9
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Andrei Gushchin (Inactive) Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

In Zabbix 6.0.X we have implemented ZBXNEXT-7567 Remember filters under Monitoring.

Its cool feature.

The problem is, when you work with multiple browser windows (because you are keeping watch over multiple things at once) or when you pass the page link to somebody else (who have their own view opened to something different), the page does not display what the form filtering suggests, as it keeps the “saved” filters underneath that you cannot sometimes see or modify, without using the form “Reset” button.

With a lot of open tabs, and even for some of our users, this behavior is counter-intuitive and a little annoying to handle.

Maybe having this option configurable would be useful…






[ZBXNEXT-8343] Add Polychromatic Color Option For Svg Graph Created: 2023 Mar 13  Updated: 2023 Mar 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Ryan Eberly Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There are many people with some form of color blindness. The current monochromatic (single hue) option in the SvgGraph makes it difficult to distinguish different items in a dataset. An option should be added to allow to switch to polychromatic so that each adjacent item in the graph contrasts against one another. Polychromatic is the default when you graph items from the latest data page, and I think there should at least be the option to do this in the SvgGraph widget.






[ZBXNEXT-8180] Host Export along with thr templates Created: 2022 Dec 27  Updated: 2022 Dec 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Dileep Bammidi Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2022-12-27-10-22-27-322.png    

 Description   

When we export hosts from one zabbix and import it in other zabbix where the templates linked in first zabbix are not present, it is lot of manual work where we need to look for those templates and import.
It would be better if we have Host export along with templates.






[ZBXNEXT-7392] Return tree view in Services Created: 2021 Dec 28  Updated: 2023 Jan 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aleksey Volodin Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: services
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2021-12-28-17-22-36-862.png     PNG File image-2021-12-28-17-23-01-864.png    
Issue Links:
Duplicate

 Description   

Please, return tree style view for Services.

It was nice and easy to figure out whole service structure.

Service tree view in 5.4:

and in 6.0:



 Comments   
Comment by Luciano Alves [ 2023 Jan 23 ]

Hi Guys,

 

Some good/quick reference to a potential 'widget': 

 





[ZBXNEXT-6946] Multiple percentiles in new graphs Created: 2021 Sep 24  Updated: 2021 Sep 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.16rc1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: patrik uytterhoeven Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: graphs, percentile
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

can't seem to find the percentile in the new dashboard graphs in the old graphs we had percentile

 

while we are add it :

it would be usefull if we could add minimum 2 percentiles

like 50 and 95 for example and also if the percentile line was calculated based on the real time data all the time nog just a horizontal line 



 Comments   
Comment by Valdis Murzins [ 2021 Sep 24 ]

The percentile itself will be added in ZBXNEXT-6940.
I will leave this task open for the other suggestion.

Comment by patrik uytterhoeven [ 2021 Sep 24 ]

thx i updated the other ticket with some extra ideas





[ZBXNEXT-7634] Error details for db and vault connection from frontend Created: 2022 Apr 14  Updated: 2022 Apr 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.22, 6.0.3, 6.2.0alpha1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File MicrosoftTeams-image (7).png     PNG File Screenshot 2022-04-14 at 11.29.27.png     File test_connection (1).diff    

 Description   

During Zabbix setup (fresh instance) and daily usage (with some DB/Vault changes) it's possible to get errors like: "Vault connection failed or Database connection failed" (for example, DBA changed MD5 to SCRUM auth method for PgSQL or self-signed CA changed to access Vault):

Such (not)"detailed" error message is a nightmare in terms of support and maintenance, especially when you need to fetch credentials from vault and use encryption for database connection with certs, a lot of places to check, adjust and no helpful info what happened.

Please add all the error details to the output like here ( test_connection (1).diff ):






[ZBXNEXT-7104] Ability to update somehow a trigger prototype without beeing replaced Created: 2021 Dec 08  Updated: 2022 Mar 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 5.4.7
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: thierry regis Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello ,

 

We are facing a complicated issue.

 

we use a lot LLD process, but one thing witch is missing is the possibility to update, somehow , a trigger to perosnnlyse what is discoverd .

 

in our configuration , we usually personnalize the Trigger name with a code , to define the incident workflow. With LLD process it is not possible , as it is update after each discovery .

 

It will be really usefull , if we could at least , personnalise the trigger description field, without beeing update on each discovery .

 

As it is in a trigger description in a traditionnal template ( without LLD) 

 

Is there a way to do that somehow  in the current version ?

I think you got the idea , but it can more describe if needed

 

actually all items/triggers LLD discovery can't be diffrentiated and it reduce consiquantly the action field , ( with the API it will allow many diffretn workflow with that functionnality )

 

thanks in advance for your response , regards

 

Thierry

 

 



 Comments   
Comment by Constantin Oshmyan [ 2022 Mar 14 ]

Thierry,

maybe, using of user macro with context could help in your case?
It could be used in trigger name.
You can define some "default" value (like "UNKNOWN") as the value of this user macro without context (for the cases if you missed some specific value) and some specific values for every discovered trigger LLD-macro as a value of user macro with context.
See an example on the Screenshot 2 here.





[ZBXNEXT-6819] Zabbix device centric tree Organizer, based on the groups hierarchy and the inheritance + data presentation in a table + disabling alerts for all devices behind key node, which are located in lower-level groups. Created: 2021 Aug 05  Updated: 2021 Aug 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alex Zhdanovich Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File 2021-08-05_12-06.png     PNG File 2021-08-05_12-07.png     PNG File 2021-08-05_12-08.png     PNG File 2021-08-05_12-09.png     PNG File 2021-08-05_12-10.png    

 Description   

Shortly: Zabbix is lacking two very important things: any organizer like - group+ devices orientated tree and the table presentation for any data (devices, latest data etc.).

I would suggest the improve Zabbix frontend and probably to do something about fake alerting for the devices based on groups hierarchy.

If we try to compare Zabbix frontend with another monitoring systems we can see that Zabbix does not have any organizers. For instance, we have about 1000-2000 devices segregated by groups like ou can se below, due to needs of hierarchy and inheritance for creating the tickets according to groups for different teams:

ABC/
ABC/SiteA1 Node.suffix/
ABC/SiteA1 Node.suffix/SiteA2 Node.suffix/
ABC/SiteA1 Node.suffix/SiteA2 Node.suffix/SiteA3 Node.suffix

ABC/
ABC/SiteB1 Node.suffix/
ABC/SiteB1 Node.suffix/SiteB2 Node.suffix/
ABC/SiteB1 Node.suffix/SiteB2 Node.suffix/SiteB3 Node.suffix

etc.

+
Enterprise/SiteB3 Node.suffix
Enterprise/SiteB3 Node.suffix

+
For type of devices
Device/Router/Cisco

All devices have the unique name like RTR-HOP-MKT-1.GHS-DDN-DTJ with unique suffix, which is related to the Node an Site. If we need to find any group or any device, we have to search by suffixes and go through the list of showing devices and trying to find needed device.

If we do not have any external list of groups (suffixes) we need to search for all groups and go Especially huge list of groups or devises. This is not visual and hard to find any device or group. Especially, if you are at first time in Zabbix and do not have any external documentations and scheme. Moreover, the general main search does not work for the Maps and you would need to go in the Maps and search them separately. If we named any group or device wrong it would be very hard to find it after.

it can be solved by the tree of groups and showing the devices in this tree for navigation with the list of devices in the table. The table representation any data in Zabbix is not possible either. It can be solved partially by Latest Data, but this functionality was removed in the Zabbix 5.4 too.

Zabbix partially has something like this in the hierarchic maps. Unfortunately, you would need to build all your maps an keep them updated and organised. Another issue in our case is, at the end of ray of a star we have Enterprise client maps and all alerts from this maps (groups) should be shown for another team, but at the same time we need these maps for keeping the devices organized. In this case we are building two maps trees, and put on the map the Image instead of the map and put the url for the Enterprise maps, which is some extra work.

We can see the prototype of tree + table representation in some of monitoring systems like Zenoss or Ubiquity UISP.

On the screenshots you can see the representation of the infrastructure in Zenoss, where we used the locations like groups in Zabbix and the data representation for WiFi AP + clients SU (in the same way we can see file systems, interfaces etc.)



 Comments   
Comment by Evgeny Yurchenko [ 2021 Aug 08 ]

If anybody wants to try seeing groups hierarchy using this Zabbix Module: https://github.com/BGmot/zabbix-module-hosts-tree





[ZBXNEXT-4880] option to preserve multline for problem text Created: 2018 Nov 23  Updated: 2018 Nov 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Nono Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File multiline.png     PNG File no_multiline.png    

 Description   

on the dashboard, the widget "Problems" should have an option to preserve the multi-line within {ITEM.VALUE}.

Here is a description of the "issue" I'm facing :

On the dashboard, the problems are shown without the multiline : https://imgur.com/4vJdlpg

But on the event details, there is new line : https://imgur.com/a/5FkyZtC

 



 Comments   
Comment by Nono [ 2018 Nov 26 ]

Discussion & workaround/solution : https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/369579-item-value-doesn-t-always-display-multiline





[ZBXNEXT-4786] Copy Paste in multiselect field Created: 2018 Oct 03  Updated: 2019 Feb 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.21, 4.0.0
Fix Version/s: 4.0.0, 4.4 (plan)

Type: Change Request Priority: Major
Reporter: Roman Rajniak Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: frontend, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

If we have selected large list of members in Multiselect field, we can not copy this set to other multiselect field members or store copy as plaintext for later restore this set of members.

Multiselect field would allow insert text based set od members without confirming each one by one.

NonValid unparsed fields of pasted list would be extracted and displayed as normal keyboard input.






[ZBXNEXT-4869] Add Tag filter to Monitoring -> Screens -> Host group issues Created: 2018 Nov 21  Updated: 2018 Nov 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Ingus Vilnis Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Please add option to filter Problems by event tags in Monitoring -> Screens -> Host group issues.

Why, if Monitoring -> Dashboard "Problems" widget has it with lots of other filters? Because Dashboards don't have Slide Shows. 

Alternatively, go for rotation option in Dashboards. Why that? because of TV screens.



 Comments   
Comment by Rostislav Palivoda [ 2018 Nov 21 ]

Ingus, maybe its better to add slideshow to dashboards? 

Comment by richlv [ 2018 Nov 21 ]

That would be the "Alternatively" option.

Comment by Ingus Vilnis [ 2018 Nov 22 ]

Whichever gets the requirement fulfilled. 

I know that the screens were supposed to be removed sooner or later but seeing the UX/UI regressions happening lately I fear how this Screens merged to Dashboards feature will look like. 





[ZBXNEXT-4772] New graph widget zoom requires full page refresh Created: 2018 Sep 28  Updated: 2018 Sep 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Vitaly Zhuravlev Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: dashboard, graph, refresh
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
caused by ZBXNEXT-4588 New Graph Widget Closed

 Description   

Graph zoom requires a full page refresh. Again, I think that currently it is intended. But it doesn't provide good user experience as well as it looks like another era.






[ZBXNEXT-4625] Support mass-update of trigger URL Created: 2018 Jul 03  Updated: 2018 Jul 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.4.11
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: massupdate, trigger
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

How about supporting bulk updates of URLs in triggers?






[ZBXNEXT-4535] Additinal macros available to Dashboard Scripts Created: 2018 May 03  Updated: 2019 Sep 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.4.7, 3.4.8
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Antti Hurme Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: frontend, macros, scripts, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File 2018-05-03 12_39_14-Greenshot.png    

 Description   

Manually creating a new ticket from an alert could be achieved with a script. Currently not that many macros are available at → Global scripts (including confirmation text).

Would suggest making trigger.name and perhaps trigger.description available at the dashboard. With the host and trigger information, a ticket would have more useful information. To be able to assign the ticker, also current user information would be nice to have available.



 Comments   
Comment by richlv [ 2019 Sep 18 ]

User info is duplicate of ZBXNEXT-3209.
Listed the TRIGGER.* idea in ZBXNEXT-1507.





[ZBXNEXT-4094] Multi Dashboard manager Created: 2017 Sep 11  Updated: 2018 Jan 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.4.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Mr.Khang Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: dashboard, frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Centos 7 - Zabbix 3.4.1



 Description   

I just upgraded to zabbix 3.4.1 and very satisfied with new Dashboard features.
But, there're something come into my mind:

  • Feature that let you choose which is the MAIN DASHBOARD, I mean, which dashboard will be show when user log in.
  • How about a dropdown list that let you choose between dashboards, instead of having return to Dashboards page and choose which dashboard to show.
    Please consider about these things and finally, sorry for my bad english grammar.


 Comments   
Comment by Ingus Vilnis [ 2017 Sep 11 ]

While the request is not implemented how about using the URL after login field in the user profile and direct it to the URL of the dashboard you want to use?
https://www.zabbix.com/documentation/3.4/manual/web_interface/user_profile

Comment by Mr.Khang [ 2017 Sep 12 ]

Oh I totally forget about that option, thank you very much,Ingus Vilnis, for your suggestion,
I'll use that but still waiting for this feature update.





[ZBXNEXT-3996] Map Sharing Created: 2017 Jul 26  Updated: 2017 Jul 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.2.6
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: oleg16 Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

My zabbix is running on centos 7.0



 Description   

Hello,
I want to allow access only to the map (web interface). But block access to all frontend.
i do not want that users can enter to the host inventory.
If i share map image they can modify the link and access to the frontend.
How should I do it? please assist.



 Comments   
Comment by Ingus Vilnis [ 2017 Jul 27 ]

Hi,
This qualifies as a valid feature request and will left open unless there are duplicates already reported. Currently there is no such functionality available out of the box.

Comment by Rostislav Palivoda [ 2017 Jul 27 ]

Would it be possible in 3.4 to extract widget in to separate HTML page? vmurzins

Comment by Valdis Murzins [ 2017 Jul 28 ]

We are not planning to do this in 3.4, but it can be considered as feature request for future releases.





[ZBXNEXT-5221] Convenient monitoring of one object from different places Created: 2019 May 13  Updated: 2019 May 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Roman Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: frontend, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I would like to monitor a single network node through several interfaces on different proxy servers. This will enable the construction of distributed monitoring for a single object from different places. Either the main and subordinate network nodes. A typical use case is monitoring the availability of a web site through different providers / from different countries without increasing the number of network nodes.






[ZBXNEXT-5024] Allow "Manual close" option is greyed out if triggers are creating automatically from trigger prototype and from default template Created: 2019 Feb 09  Updated: 2019 Feb 11

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Abhilash Chittahukatil Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: trigger
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Production


Attachments: PNG File triggerautoclose.PNG    

 Description   

Allow "Manual close" option is greyed out if triggers are creating automatically from trigger prototype  and from default template. Tested with windows default OS template. the services are discovered automatically by the default template and trigger prototypes are created automatically. But unable to check the option "manual close the trigger" in such cases.

 

if we manually create a new tigger prototype or new trigger, there is no such problem and able to check "allow manual close"

 

seems like its a bug. Please check.



 Comments   
Comment by Alexander Vladishev [ 2019 Feb 11 ]

Hi,

All trigger fields, except "Enabled", based on trigger prototypes cannot be changed. It can be changed on trigger prototype level. After next discovery iteration all changes from trigger prototype will be transferred to the trigger level.

Same situation with triggers, based on templates.

Comment by Abhilash Chittahukatil [ 2019 Feb 11 ]

But I am not able to change that even in trigger prototype level. There are also it is grayed out. Is this the problem because I am using the default trigger prototype from the default windows server service discovery rule ?

When I take a clone of that trigger prototype, The Manual close option I am able to check.

Comment by Abhilash Chittahukatil [ 2019 Feb 11 ]

But I am not able to change that even in trigger prototype level. There are also it is grayed out. Is this the problem because I am using the default trigger prototype from the default windows server service discovery rule ?

When I take a clone of that trigger prototype, The Manual close option I am able to check.





[ZBXNEXT-5021] Links in Hostgroup for hosts and templates list filtered by this hostgroup name Created: 2019 Feb 07  Updated: 2019 Feb 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Andrei Gushchin (Inactive) Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

As feature request ZBXNEXT-5020. Supposed in hostgroup settings page create links to the filtered list of:

  • hosts by hostgroup name
  • templates by this hostgroup name





[ZBXNEXT-4793] Add a NOT filter to Monitoring–>Problems filter options Created: 2018 Oct 05  Updated: 2018 Oct 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.0
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marco Hofmann Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian 9 amd64
Zabbix 4.0



 Description   

While working with the Monitoring->Problems view, I really wish, we could exclude stuff we don’t want to see right now. There are alreday many filter built in, but they only work in AND mode and since 4.0 in OR mode if I recall correctly. 

But we don’t have the possibility to exclude certain information. 

For example: Sometimes I have so many active “Low disk space HDD events” that it’s hard to spot other important issues. In those moments I would like to set the Problem Name filter to NOT show any event with “Low disk” in its name. 






[ZBXNEXT-4791] Guest account should be used for readonly non-destructive access to the system Created: 2018 Oct 05  Updated: 2018 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Lukas Macura Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Guest user should not be able to modify anything except explicitly set permissions.

I would say that guest user should not be "each user". It is normal behaviour in all systems that guest account is used for readonly non-destructive access to the system. 

There should be probably next permission to check/uncheck if given user can add anything or not. And in default setup, guest user should not have these permissions. In other words, guest user should not have ability to modify/add/remove anything in system except data in its own session unles it is explicitly granted by admin for guest user.

 



 Comments   
Comment by richlv [ 2018 Oct 05 ]

Hmm, what is the exact change that is sought here?

Comment by Lukas Macura [ 2018 Oct 05 ]

This is just feature requested which I created like instructed by support.

Sorry, I did not link original issue: ZBX-14453

 

 

Comment by richlv [ 2018 Oct 05 ]

Ah, I see, I'd suggest to list here all the things you think should not be possible for the guest user to do.
Note that this is similar to ZBX-3561, which was rejected.

Comment by Ingus Vilnis [ 2018 Oct 08 ]

Sure, the reason of closing ZBX-3561 is simply ridiculous. 

Additionally to the original request I want to make sure the behavior is not broken for the current read-only users. In a typical NOC the 24/7 monitoring guys are allowed to see all the hosts, AND it is vitally important for them to do ackowledge problems. In the meantime the Zabbix Super Admins don't want them to ever be able to fiddle with the host or template configs for that matter. 

Please think about this well and don't just remove this ability for current read-only users. 

My proposal would be that there is a real read-only user as suggested by Lucas, and then a "read-only with extras" like currently (ability to ack, create screens etc.).





[ZBXNEXT-4780] It should be possible to set default time interval for the dashboard Created: 2018 Sep 30  Updated: 2018 Sep 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Vitaly Zhuravlev Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: dashboard, timeselector
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File screenshot-1.png    

 Description   

User story 1.

  • Enter Dashboard X. You see some nice graphs.
  • Zoom in into some range on some graph to see data closer
  • Exit Zabbix, go home
  • On the next day open Dashboard X. Observe that all graphs are loaded in the time interval that you zoom in last time(like 1 hour yesterday) and not something more actual like 'last day, last week etc'

What to do:

  • I suggest adding an option to define the default time interval for the dashboard in Edit mode
  • If you zoom in or change time interval - params specifying the range must be added to the URL of the dashboard.
  • If you are reentering the dashboard without any params defined in the URL - it must be shown with the default time interval defined by the dashboard owner. Useful default would 'Last day', 'Last week', 'Last 1h' etc.
  • If you are just refreshing the page or sending someone a direct link to the dashboard - time interval is preserved, thanks to HTTP params in the URL.





[ZBXNEXT-4717] return time period in graph title Created: 2018 Sep 06  Updated: 2024 Jan 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 37
Labels: graph, regression, timeperiod, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2024-01-18-13-20-17-743.png     PNG File image-2024-01-18-13-22-13-857.png    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-4818 Restore time period indication on graph Closed

 Description   

Previously, the selected time period was displayed in the graph title. This is lost now in pre-4.0.

Showing it in the graph itself was highly useful, as we tend to attach graphs to incidents or provide them to other people for different purposes.
It helped to quickly identify a graph covering 1 hour, month or year. Determining this from the timeline is error prone and is extremely hard.

 

For example long time ago there was very similar case ZBX-1120.



 Comments   
Comment by Valdis Murzins [ 2018 Oct 22 ]

It was removed in scope of ZBXNEXT-4361.
While it is easy to display it in old graphs, the problem is, how new timeline calculates the period for quick ranges:

  • Last 3 months = 3m 2d
  • Today = 23h 59m 59 sec
  • Previous week = 6d 23h 59m

I think, this inconsistency was the reason, the period was removed.

Also, if we will display period on old graph title (or somewhere else), we might also think about adding it to Classic graph widgets and New Graph widgets. Widget title can be used for this, but maybe some better place can be found.

Comment by richlv [ 2018 Oct 31 ]

We're seeing this issue every now and then. Graphs are attached to tickets or shared otherwise, and it is very hard to operate on data coming from Zabbix now - graphs for different time periods are being mixed up and cause confusion when investigating outages.

Comment by richlv [ 2019 Jan 24 ]

Thank you for sharing some of the considerations. While the period might not look as exact, it is hardly a bigger problem than not having the period at all. Even in the worst cases like "6d 23h 59m" the user can quickly figure out that it's somewhere around 6 or 7 days. Without the period shown user is disappointed.

Now let's look at the graphs before this feature disappeared. If one uses the time period scrollbar or drag-zoom (very common), they would still get such a period shown. Testing that just now with Zabbix 2.4, I see a period of "6d 13h 52m". It does not seem to cause any major problems, and does not seem to have caused any major problems for many years.

If there was a major reason why this is a problem, adding rounding based on the length of the time period would have been much more preferred over dropping a feature.

Comment by ysus [ 2019 Feb 12 ]

Dear Zabbix Developers,

Could you please advise if there are any plans to restore this extremely useful functionality? Even if this issue has only 16 votes I guess it affects many other customers.

Appreciate your understanding.

Comment by dimir [ 2021 Jul 08 ]

36 votes now.

Comment by richlv [ 2021 Aug 08 ]

Dear developers, any thoughts on the detail, discussed in January 2019?

Comment by Marco Hofmann [ 2021 Aug 09 ]

Maybe this request belongs partly to this request (https://support.zabbix.com/browse/ZBX-16162?focusedCommentId=560785&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-560785), as Kalimulin speaks about replacing the Graphs engine from PNG to SVG. Maybe this belongs together. Just an idea.

Comment by richlv [ 2024 Jan 18 ]

For the record, a regression like this was already fixed once in the past, ZBX-1120.

Judging by the comments on this issue, there were no functional reasons to remove this feature.

Then:

Now:





[ZBXNEXT-4640] Zabbix Integrate keycloak require review by zabbix official. Created: 2018 Jul 17  Updated: 2022 Oct 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.0.19
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Zhiyuan Zou Assignee: Valdis Murzins
Resolution: Unresolved Votes: 5
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Red Hat 7: 3.10.0-514.el7.x86_64
PHP: 5.4.16 (cli) (built: Jan 23 2018 07:26:54)
httpd: Server version: Apache/2.4.6


Attachments: PNG File UI-simple.png    
Issue Links:
Duplicate

 Description   

Hi, zabbix offcial:  

the initial feature request  described in zabbix-forum 

https://www.zabbix.com/forum/zabbix-help/52013-zabbix-has-plan-to-integrate-keycloak-as-sso  

Copy the abstract solution here again:

1. Package the authentication-relevant-php-files(e.g:CUser.php) as a RPM (: named zabbix-keycloak-plugins)
2. install zabbix-keycloak-plugins after zabbix-official rpms 
3. USER request zabbix
4. zabbix-redirect User to keycloak server
5. Keycloak AUTH ok, return "code" and "state" to zabbix
6. zabbix exchange JWT token from keycloak with "code" and "state"
7. zabbix store J*WT token* into DB and parse JWT Token
8. Based on Parsed JWT token, zabbix build result-Array contains authentication information  (:The Array, zabbix used for INTERNAL authentication method)
9. USER access Zabbix...finally.
The below picture show the simple UI from USERs perspective.

 

 

 

 



 Comments   
Comment by Zhiyuan Zou [ 2018 Jul 17 ]

Will post our codes via SVN method later, this ticket is for submit message..

And 

Actually, our code is based on

*zabbix-[web | server-mysql]-3.0.13-2*

and 

*zabbix-[web | server-mysql]-3.0.17*

version, 

i didn't find those in Affects Version/Fix Version  fields when i create this issue , So i choose 3.0.19 ...

Comment by Marc [ 2018 Jul 17 ]

As Keycloak is the upstream OSS project for Red Hat Single Sign-On (RH-SSO), is it supposed to work with RH-SSO too?

Comment by Jan Garaj [ 2018 Jul 17 ]

Keycloak supports SAML and OIDC clients. This implementation seems to implement only OIDC, so I guess the auth name "KEYCLOAK" is not the best one. The better name is "OpenID Connect".

Keycloak is Certified OpenID Provider Server, so this implementation should be able to work with any OIDC server/service: Identity Server, Google, ... (actually, some minor hacks will be required for some IdPs).

This feature is about authentification only, but client scope is about authorisation. It will be awesome to have also authorisation, but I would like to see role-based authorisation. Roles can be a part of the access token, and they can be used for authorisation.

Comment by Zhiyuan Zou [ 2018 Jul 18 ]

can you give me the guide for this contribute-guide action?

Comment by Rostislav Palivoda [ 2018 Jul 18 ]

Can you attach .patch file to the ticket?

Comment by Zhiyuan Zou [ 2018 Jul 19 ]

@palivoda   

patch file bundled as 2 RPMs, 

Is OK  to attach rpms for your view? 

 

Comment by Zhiyuan Zou [ 2018 Jul 20 ]

hi, zabbix official :

Upload this feature to https://share.zabbix.com/ is ok for review by you ? 

Comment by Valdis Murzins [ 2018 Jul 23 ]

Dear zhiyuan,

You can upload it to https://share.zabbix.com/ (share.zabbix.com is meant for this ).
Please don't forget to add description, how to install your enhancement and how to use it.
In order to get your enhancement reviewed by Zabbix Team, please add a comment with link to your enhancement in share.zabbix.com to this task.
From our side the review will be done, when this task will be accepted for roadmap. You can make it faster by voting for this task.

Comment by Zhiyuan Zou [ 2018 Aug 02 ]

@vmurzins   

  1. I push the patchs into nokia git repo  as transfer station to zabbix-patch repo, not sure whether you can review it on nokia-repo 

https://github.com/nokia/zabbix-patches/tree/master/zabbix-3.0/ZBXNEXT-4640    

      2. I also upload all files into zabbix.share site, https://share.zabbix.com/component/mtree/cat-app/security/zabbix-integrate-with-keycloak-zbxnext-4640?Itemid=     ,but the site truncate some description , so  post it in there:

-------Description-------

After you apply this plugins,

you will find a new authentication option will be available.

This ZIP file includes the following files and i will explain their function one by one:

0. README

     Abstract description for this files.

1. UI-simple.png

    The authentication UI will be look like this after you install plugins

2. UI-demo4outside.pptx

    Simple Usage with keycloak authentication

3. USER GUIDE for ZBX-3.0.13-2 with Keycloak EXTERNAL.pdf

    This describe how to apply the plugins...

4. zabbix_template.realm

    will be used when you configure KEYCLOAK

5. zabbix-server-mysql-keycloak-1.4-11.noarch.rpm

    this contains 3 SQL files:

    the pre-create.sql and mid-create.sql file already done when you install zabbix as official-procedure.

    the post-create.sql file is to create a "access_tokens" table into zabbix Databases.

    in other words, create "access_tokens" table is necessary condition for KEYCLOAK feature

6. zabbix-web-keycloak-1.4-11.noarch.rpm

    the php files which are relate to authentication, modify those php files and rename them with

    ".new" suffix , finally, package them into this RPM

    After install this RPM, the php files with ".new" suffix will replace the original php files while original php files also be backup with          ".old" suffix...

Note:

1. I already push the patch files into nokia-repo as a transfer station to zabbix-patch-repo

https://github.com/nokia/zabbix-patches/tree/master/zabbix-3.0/ZBXNEXT-4640 

2. I advise zabbix-official can rewrite the functions of php-oauth2client, as the LADP and HTTP authentication were did... i also can help on this.

refer links:

Git repo: https://github.com/zabbix/zabbix-patches/issues/16 

JIRA : https://support.zabbix.com/browse/ZBXNEXT-4640 

Forum :https://www.zabbix.com/forum/zabbix-help/52013-zabbix-has-plan-to-integrate-keycloak-as-sso 

 

----------Procedure for keycloak-authentication/authorization---------

1. Package the authentication-relevant-php-files(e.g:CUser.php) as a RPM (: named zabbix-keycloak-plugins)
2. install zabbix-keycloak-plugins after zabbix-official rpms
3. USER request zabbix
4. zabbix-redirect User to keycloak server
5. Keycloak AUTH ok, return "code" and "state" to zabbix
6. zabbix exchange JWT token from keycloak with "code" and "state"
7. zabbix store J*WT token* into DB and parse JWT Token.
8. Based on Parsed JWT token, zabbix build result-Array contains authentication information (:The Array, zabbix used for INTERNAL authentication method)
9. USER access Zabbix...finally.

 

 

Comment by Gergely Csatari [ 2018 Sep 06 ]

Are there any other actions needed for the review of this change proposal?

Comment by Vinícius Ferrão [ 2022 Jul 25 ]

Hello, almost 4 years have passed. Is there any interest on the Zabbix Team side to add this functionality?





[ZBXNEXT-4499] Set custom Elasticsearch Index name in Zabbix configuration Created: 2018 Apr 13  Updated: 2018 Apr 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Mikhail Markov Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I try to configure index rotation in Elasticsearch but have an issue.
Alias for writing data has only 1 index so in need two different aliases for writing and reading. For example:
uint-000003 has alias 'uint-write' and Zabbix server send data to it.
uint-000003, uint-000002 and uint-000001 have alias 'uint-read' and i can use it in Zabbix web for watching all historical data.
I will rollover 'uint-write' alias and uint-000003 will be replaced with uint-000004 also uint-000003 will be added to 'uint-read' alias and uint-000001 will be deleted.






[ZBXNEXT-4232] HOST.IP, HOST.CONN HOST.DNS macros in the MAP element URL Created: 2017 Nov 13  Updated: 2018 May 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.4.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Petr Vyhlidal Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File MapsURL.png    
Issue Links:
Duplicate
duplicates ZBXNEXT-155 Support macros in URL map elements Closed
Sub-task
depends on ZBX-13272 Ability to use MACROS (user and syste... Closed

 Description   

It would be great if macros like HOST.IP, HOST.CONN HOST.DNS, HOST.HOST could be used in MAPS URLs to be able seamlessly integrate map elements with CMDB or web management
For example like URL in attached example screenshot, which does not work.
Result of this notation is http://%25257bhost.conn%25257d/: in the browser.



 Comments   
Comment by Matt [ 2018 May 21 ]

Can't believe HOST.CONN is not an available macro.  Desperately needed.

Comment by Matt [ 2018 May 21 ]

https://support.zabbix.com/browse/ZBXNEXT-155





[ZBXNEXT-4246] add conditions to recovery and acknowledgement operations Created: 2017 Nov 21  Updated: 2018 Jan 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.4.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexander Bergolth Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: actions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There is a special category of triggers where recovery notifications don't make any sense. Examples are one-time events like "/etc/passwd has changed", "zabbix agent version changed" or "Host {HOSTNAME} rebooted". You simply don't want an OK notification that tells you that the host did not reboot anymore since the last check.

Now that zabbix already features trigger tags since 3.2, adding an optional filter condition to recovery and acknowledgement operations would solve the problem:

A tag like T_NO_RECOVERY could be added to the corresponding triggers and the recovery operation of the actions could be configured with a condition like Tag <> T_NO_RECOVERY.

This feature request is a more specific version of ZBXNEXT-582, since trigger tags are already implemented now but a filter condition in the recovery operation is still missing.






[ZBXNEXT-4058] Non Case sensitive Login Created: 2017 Aug 28  Updated: 2019 Nov 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.2.7
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: BM Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello,
In our company we log on Zabbix with ADS account from LDAP.
The problem is that each personn have his habits to write his account name.
Sometimes with "ADS_xxxxx.xxxxx" or "Ads_xxxxx.xxxxx" or "ads_xxxxx.xxxxx".
Thanksfuly Active Directory is not case sensitive but sadly Zabbix Login is.
It pose me problem with personn who can't log because one case haven't got the right uppercase or lowercase...

Can you remove the case sensitivity only for login ? Perhaps you can make a tick box in account settings to activate or deactive case sentivity.



 Comments   
Comment by Marco Hegenberg [ 2019 Nov 28 ]

I'm facing exactly the same issue, so I would appreciate a solution. 

 

From my point of view an option to make all entries lowercase or all entries upper case would be enough. 

Comment by Tim Szozda [ 2019 Nov 29 ]

This or SAML support.  ZBXNEXT-2663

It's not realistic for us to tell enterprise end users who browse maps or look at their application health to remember to use all lower case. 





[ZBXNEXT-3994] Allow active checks on hosts created by host prototypes Created: 2017 Jul 25  Updated: 2018 Oct 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S), Templates (T)
Affects Version/s: 3.0.9, 3.0.10, 3.2.6, 3.2.7
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aviram Alter Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

As of now, when hosts are created using Host Prototypes in discovery, active checks cannot be used on them (due to their host name not matching the agent's host name).

This makes the feature useless for those using active checks due to constraints in the environment.






[ZBXNEXT-5212] Extendend filtering capabilities for Audit view Created: 2019 May 07  Updated: 2019 May 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aleksejs Petrovs Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 1
Labels: auditlog, frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Add the following additional filtering options for Reports -> Audit view.

  1. Filter by specified Host name/-s
  2. Filter by specified Host group/-s
  3. Filter by specified Template/-s

 



 Comments   
Comment by richlv [ 2019 May 07 ]

Very closely related to ZBXNEXT-2434.





[ZBXNEXT-5038] debug zabbix delayed items Created: 2019 Feb 14  Updated: 2019 Feb 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Nikolay Lebedev Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello.

To debug zabbix delayed  items I use /zabbix/queue.php.
But it need to imprive.

I want  setup limits of items, select proxy to view, export to csv for future analize.






[ZBXNEXT-5026] Assigning templates to hosts/groups from the template editor and assign host from host groups editor Created: 2019 Feb 11  Updated: 2020 Jan 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Reichler Assignee: Valdis Murzins
Resolution: Unresolved Votes: 23
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File hostgroups.PNG     PNG File remove_host_group.png     PNG File templates.PNG    
Issue Links:
Duplicate
is duplicated by ZBX-16819 Hosts list are missing in template view Closed

 Description   

To manage hosts and templates it was very very useful in pre 4.0 versions:
Host Groups - in the editior i could add/remove hosts to the group, screenshot hostgroups.png
Templates - in the editor i could add/remove groups and hosts, screenshot templates.png

This functions in the frontend are very important because assigning of hosts/groups/templates is very easy, fast and save. I'm working with many hosts/groups and templates and for me it is a no go for upgrading to version 4.x for production.

Unfortunately you closed the issue ZBXNEXT-4725 even thoug not fixing it.



 Comments   
Comment by Tony den Haan [ 2019 Jun 20 ]

For me this is a showstopper. Maintaining takes many times longer without these.

Comment by Valdis Murzins [ 2019 Jun 20 ]

Functionality to add multiple hosts to host group (also applies to templates) is still present in form of mass update of hosts (in scope of ZBXNEXT-4725 it was made more useful for such operations). From my point of view it is even easier, than adding hosts in host group edit page.
1. In host list you can filter out only hosts, you are interested in, select them and via mass update add new host group for them. There is no more need to search for each single host in big list, where at each time you see only small part of it.
1.1. In worst case scenario (if you can't filter out the subset you need), you will need to go through same amount of hosts, but this time via host list, where it should be easier to navigate, than in small list, as it was previously.
2. By mass update you can add several host groups to hosts you have selected. (no need to search for them in each host group you are adding them to)

Also I should add that having such list of all hosts in Host group page on huge installation will introduce performance issues (it was one, if not the main, reason why this selection was removed from there in first place).

You are saying, maintaining hosts and/or templates takes longer. But I don't see, why is should be so, if you are using mass update. Can you, please, explain your use cases?

Comment by Olli Ihamäki [ 2019 Jun 20 ]

Yes, you can add new template to hosts with mass update, but you can't remove hosts from template with mass update. This used to be trivial, click, scroll down, shift-click and click > arrow.

Comment by Valdis Murzins [ 2019 Jun 20 ]

It is possible to remove one or multiple host groups from selected hosts via mass update.
It can be done by selecting "Remove" radio button in mass update edit form. It will remove only selected host groups from selected hosts.

Comment by Ingus Vilnis [ 2019 Jun 20 ]

Olli, I just hope you know that by that "removal" sequence you just unlinked the template from the host, leaving the actual items "orphaned" on the host level. It was a cool feature if you know it but at the same time could leave a huge mess on the host level. 

Valdi, Mass update can't nicely unlink (and clear) a single template. And one more use case - you could create a new template and immediately add it (yet empty with no items) to selected hosts. Now you have to go through all the mass update hassle to do it. 

Additionally you can't even see what hosts are linked to a template from Configuration -> Templates -> Opened template view. 

Comment by richlv [ 2019 Jun 20 ]

Valdi, thank you for mentioning this functionality - it is indeed working as expected.
A big usability problem is that Zabbix frontend has become even more fragmented than it was before. That is, one cannot find or easily reach the desired functionality from common source locations.

For example, a very simple and fairly common scenario:

1. Take a look at some host.
2. Switch to the template tab.
3. Notice a template of interest, and have a need to check what other hosts are linked to it.
4. Click on the template name.
5. a) Older versions of Zabbix: see the information you need.
5. b) New versions of Zabbix: no way to get to the information you need.

The usual workaround would be to copy the template name, go to Configuration -> Templates, expand the filter, paste the template name, click Filter.
Oops, that only gives up to 50 entities by default, and they are crammed in a single table cell, and not even an entry per line.
So as a workaround that is pretty lousy.

The usability regression there is also mind-boggling. Every extra click is a big burden for repeat operations, and here we have not only many extra clicks, but also the need to memorise this sequence - infrequent Zabbix users will give up instead (empirically tested).
The access usability regression could be fixed very easily - by providing a few links from the host/template properties (to go to a filtered host/template list). I might be missing something very obvious, but it is unclear what holds back ZBXNEXT-5020.

Of course, fixing the interlinking would not help with the template downstream entity listing being pretty much unusable beyond a dozen of entries.

Update:
Please note that the reason for the removal of that exact feature is clear - in large installations that functionality not only was not working well, it was also a big performance problem.
While it is possible that extensive brainstorming happened in secret and excluded all possible solutions, it seems a bit far fetched.

Comment by Olli Ihamäki [ 2019 Jun 20 ]

Ingus, I was not aware of that. That is/was crazy bad design! However, problem persists: there is no easy way to unlink "and clear" template from chosen subset of hosts.

I think that template added to host ++group does not reflect to hosts under same host group, right? I tried it with 4.2.3:

  1. Created new template
  2. Added new item to template created on step 1
  3. Added template created on step 1 to existing host group

Item added on step 2 did not appear on host in host group used on step 3

So workaround/workflow Valdis suggested does not work.

 

Comment by Valdis Murzins [ 2019 Jun 20 ]

Sorry olli, I misread your second to last message, now I see it:
In mass update, you can remove all templates from hosts. If you are updating many hosts with same templates, you can replace templates with same ones, except the one, you want to remove.
But yes, you can't remove single template from hosts with different templates.

As for ingus.vilnis comment, there is an option to clear the hosts, when mass removing templates: Clear when unlinking. Or you was meaning something else?

I see the usability issue you are mentioning, richlv. I am not really in place to comment it, but I can say: "Thank you for explaining it".

It is kind of in the comments, but I will write it more explicitly:

  • To see, what hosts are linked to template, you can go to host list and filter hosts by template.
  • To see, what templates are linked to template, you can go to template list and filter templates by "Linked templates".

But, as richlv mentioned, there is a usability issue here, as it requires more steps to do, as you would normally want to.

Comment by Valdis Murzins [ 2019 Jun 20 ]

The workaround I suggested was to add/remove host groups from hosts/templates. The problem with templates I explained in my previous comment.

You are right olli, the templates, added to same host group as hosts, will not be linked to these hosts. Sorry, my message confused you.

Comment by Olli Ihamäki [ 2019 Jun 20 ]

Yes, I know that you replace templates. However, that is not sufficient.

For example, you have:

  1. mail.example.com
    1. Template tape backup
    2. Template IMAP
    3. Template SMTP
  2. web.example.com
    1. Template tape backup
    2. Template HTTP
    3. Template HTTPS
  3. web1.example.com
    1. Template tape backup
    2. Template HTTP
    3. Template HTTPS

 

And so on, tens, hundreds, thousands of hosts, and you need unlink and clear "Template tape backup" from these hosts. Can't replace since they have different templates.

 

Comment by Tony den Haan [ 2019 Jun 20 ]

Richlv i'd say not even a link to a filtered version, just add filter there and then, perhaps default to whatever seems sane.

Comment by bunkzilla [ 2019 Oct 03 ]

please bring this functionality back.   here is how I often use this.  I have a group that is called "Paging"     if I edit this hostgroup, I can see which hosts which are not in the hostgroup using the selectors.  By selecting different hostgroups that I know should have hosts in the hostgroup, also to be able to remove them.     Now I have no idea how to accomplish this.      I use this mostly with hostgroups and not with templates because of the issues about unlinking. 

 

Comment by Jack Valko [ 2020 Jan 13 ]

Many of us manage ad-hoc maintenance windows with a group called "Maintenance" and require the ability to manage a hostgroup (not a host).  Having a UI that allows us to manage the group it crucial. 

Here's a good use case: I get notified of a short notice outage in a remote site.  I have over 100 hosts groups there.  Before 4.0, I could add all of these hosts quickly to a Maintenance group.  Now that operation is:
1. Configure -> hosts
2. Click Reset
3. Configure a filter to display the hosts you want add to a hostgroup
4. Select all hosts
5. Click Mass Update
6. Click HostGroup
7. Click Select
8 Select group(s) from the list
9 Click Update

This workflow is also much more difficult to explain than the old hostgroup two window UI. 

Since our upgrade to 4.4 Zabbix has become less useful because we can't quickly disable alerts and escalations.  





[ZBXNEXT-4795] Auto-completion of macros in configuration forms Created: 2018 Oct 07  Updated: 2018 Oct 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.2.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Glebs Ivanovskis Assignee: Valdis Murzins
Resolution: Unresolved Votes: 6
Labels: configuration, macros, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Somewhat related to ZBXNEXT-1517, but actually inspired by auto-completion of LLD macros being discussed in the context of ZBXNEXT-4087.

Basically, whenever user types in ‍{ in any field of any configuration form that supports any kind of macros (built-in macros, user macros, LLD macros, {host:item[].func()} aka simple macros), something like that should pop up:

This will save tons of time users currently have to spend browsing documentation about built-in macros, copy-pasting user macros to avoid mistyping them or painstakingly troubleshooting syntax issues with macro contexts, macro functions or "simple" macros.






[ZBXNEXT-4859] Show fields from host inventory on the dashboard as a custom column Created: 2018 Nov 12  Updated: 2018 Nov 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Adam Birds Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Be able to show fields in the host inventory as a custom column on the dashboard widgets. 

Use Case:

We would like to be able to tag a certain field in the host inventory, or a custom field in the host if it can be implemented with the clients name, we would then like to show that clients name in the dashboards. 






[ZBXNEXT-4659] Add option to delay setting trigger in Problem for some time Created: 2018 Jul 31  Updated: 2018 Aug 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 4.0.0alpha9
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Ingus Vilnis Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Use case

Consider trigger based event correlation as described here: https://www.zabbix.com/documentation/4.0/manual/config/event_correlation/trigger

Note that this use case is practical for log and trapper items with Multiple problem event generation mode enabled. 

The goal is to reduce the trigger flapping in case the application stops and restarts happen in relatively short time causing no or very short service interruptions. 

Currently available trigger functions are evaluated immediately when e.g. problem line appears in the log and the problem is closed when the recovery expression is satisfied with all the tags and conditions. However, the practical requirement is to put the trigger in the actual Problem state only if in e.g. 5 seconds after the "problem" line is detected the recovery expression with matching tag value has not been found in the log. In this case a short disturbance in the service would not be triggered. 

Should that be implemented in a trigger function as a parameter or a configurable box in the frontend and API does not matter that much although a box in the web interface would be more user friendly and not overcomplicate already option-rich trigger functions. 

 



 Comments   
Comment by Ingus Vilnis [ 2018 Jul 31 ]

Delayed escalations don't completely satisfy this as the problems are displayed in the web interface anyways. 

Nodata triggers are no use here because of of minimum 30 seconds evaluation period and no practicality with Multiple problem event generation mode.

Somewhat remotely related: ZBXNEXT-2452ZBXNEXT-1604 and some more. This may be just another implementation of the same problem. 

Comment by richlv [ 2018 Jul 31 ]

Assuming the flapping is the biggest concern, would the existing trigger functions help somewhat?
For example, count() or regexp() using the second parameter.

Comment by Ingus Vilnis [ 2018 Jul 31 ]

Unless I'm totally missing something but I have not succeeded with these functions. Here would be an example with count().

Item: log[/home/test.log,(stopped|started),,,skip,]

Problem expression: {host:log[/home/test.log,(stopped|started),,,skip,].count(5,started,regexp)}=0

Recovery expression: {host:log[/home/test.log,(stopped|started),,,skip,].str(started)}=1

When a log line "Service1 stopped" appears it immediately triggers the problem expression regardless if you are looking for "started" or "stopped" pattern. How to make it wait for those 5 seconds maybe the "Service1 started" appears? Count() or regexp() is looking back in history for the past values in those 5 seconds, what you actually need is to look in the values for the next 5 seconds after the initial log line is received and then do the final evaluation. How? "Stopped"  always comes before "Started".

If I would have known service names I could use a separated trigger for each of them and combine regexp() and nodata() triggers. But when there are ~200 previously unknown names then this is not feasible. Additionally nodata() can't do periods under 30s and no multiple event generation thus no correlation of tags. Any other ideas?

Comment by richlv [ 2018 Aug 02 ]

How about a hack like {host:log[/home/test.log,(stopped|started),,,skip,].count(5,started,regexp)} < {host:log[/home/test.log,(stopped|started),,,skip,].count(5,stopped,regexp)} ?

(unrelated - you can probably use like instead of regexp for a tiny performance gain)

But that' s still hackish, I'll grant that. If the app development can be influenced, going for monitorable objects that show service state and uptime would be the best - one could construct very neat triggers around those.

Comment by Ingus Vilnis [ 2018 Aug 02 ]

The suggested expression still fires immediately because the evaluation happens with the first "stopped" line and at that moment Zabbix looks 5 seconds in history for "started" which obviously is not there. There is no wait delay for the next condition. But I am truly thankful for your efforts to help. 

Suggesting other methods of app monitoring might be in the future scope but for the current case the log monitoring is the required way. 

Comment by richlv [ 2018 Aug 02 ]

Oh, I might have misunderstood the need then. Thought the intent is to alert about restarts, but avoid the flapping, but I guess the expectation is to ignore quick restarts.

How about this hack?

{host:log[/home/test.log,(stopped|started),,,skip,].count(10,started,like)} < {host:log[/home/test.log,(stopped|started),,,skip,].count(5,stopped,like,5)}

Although this might not work if "stopped" is not followed by any other entries for 10 seconds. Even if count() was time based (ZBXNEXT-1604), it might not help with such small intervals...

Comment by Ingus Vilnis [ 2018 Aug 02 ]

This never even fires but for the same reason - it looks in the history whereas it should receive the initial "event", wait a bit in case recovery happens, and if no recovery has been within 5 seconds then go into problem state. 

You have now understood me right - quick restarts must not be considered as problems (As in the original description "In this case a short disturbance in the service would not be triggered."). It is no problem configuring with numeric items having regular update intervals. But with irregular log events having multiple event generation and tags this becomes an issue. Thus the feature request for delaying the evaluation of a trigger but initiate that by a condition. 

Comment by richlv [ 2018 Aug 02 ]

Well, it would fire if the log is really frequently updated. Still, it's not really reliable and no better ideas at this time, sorry.

Comment by Ingus Vilnis [ 2018 Aug 02 ]

It would but still it misses the first problem line and in case of no updates there are no alerts. And what kind of service would that be with so frequent restarts?  Thank you in any case!





[ZBXNEXT-4555] Support custom representations for status OK and PROBLEM Created: 2018 May 16  Updated: 2018 May 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.4.9
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Valdis Murzins
Resolution: Unresolved Votes: 5
Labels: mapping, status, trigger, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-1737 Trigger with one status only Open

 Description   

Zabbix triggers allow a lot of use cases. Many of them not necessarily connected to a problem. In fact a trigger to me corresponds to a condition. The exact meaning results of the context the trigger is used for.

How about introducing a trigger status mapping applicable on trigger level? This would allow users to provide a custom string replacing OK and PROBLEM.

The technical representation should remain untouched. This is just about the Zabbix frontend resp. possibly also about notifications.

 

PS: The idea has already been mentioned in ZBXNEXT-1737. But that particular feature request asks for "a custom number of statuses", what in my understanding also consideres the technical status representation.






[ZBXNEXT-4448] snmpv3_authpassphrase only 64 characters supported Created: 2018 Mar 23  Updated: 2018 Mar 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.4.7
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Viktor Shatskykh Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: database, frontend, items
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File 2018-03-23 09_34_21-Configuration of items.png    

 Description   

Reason:
Monitored endpoint uses SNMp v3 'Authentication passphrase' and 'Privacy passphrase' 255 characters length and it's can't be changed. (McAfee ESM

Steps to reproduce:
Change 'Authentication passphrase' and 'Privacy passphrase' fields in Items allowed length from 64 characters to at least 255 characters.

Expected:

In the process of filling Authentication passphrase' and 'Privacy passphrase' fields for SNMPv3 item be able to put 255 characters row.



 Comments   
Comment by Kaspars Mednis [ 2018 Mar 26 ]

Moving this to a feature request section, because this can not be considered as a bug, just a limitation. At least front-end and DB changes are required here.

MariaDB [zabbix]> describe items;
| snmpv3_authpassphrase | varchar(64)         | NO   |     |         |       |
| snmpv3_privpassphrase | varchar(64)         | NO   |     |         |       |

Regards,
Kaspars

Comment by Viktor Shatskykh [ 2018 Mar 27 ]

Ok. Thank you Kaspars!





[ZBXNEXT-4434] action operations message (subject+body) template Created: 2018 Mar 16  Updated: 2019 May 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.4.7
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Jan Ostrochovsky Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: actions, messages, operations, templated
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

any


Issue Links:
Duplicate

 Description   

It could be great for actions to have implemented possibility not just to fill separate notification message subject and body, but also to be able to have defined something like "notification message templates" (for inspiration, Jira itself has similar concept implemented for its notifications), defining subject+body templates, reusable (referenced) in more than 1 action.

Disadvantages of current state: when you have e.g. 100 actions, you need to have also subject and body copypasted 100 times, when you want to have unified form of notification messages. Then, when you want to change form of unified message, you need to edit 100 actions (burdening, error-prone process, hardly-maintainable). Complexity increases, when you have several types of messages (subject+body), each defined in many various actions, in the same ZABBIX system.

Advantages of suggested feature: definig just one "notification message template" for each notification message type, and assigning them (optionally?) to actions as default, recovery, and acknowledgement messages in actions' operations.

Thank you in advance for consideration, and sorry for my rude "Major" priority classification and "4.0 (plan)" suggested fix version, but I feel it this way .

Jano



 Comments   
Comment by richlv [ 2018 Mar 16 ]

might be considered a duplicate of ZBXNEXT-2831

Comment by richlv [ 2019 Jan 26 ]

Turns out, the new zabbix_action module for Ansible is very useful to implement templated messages in Zabbix actions.
We now use the same template across many actions, and even several servers. Ansible replaces parts of server URL (for links like acknowledge or graphs) and other information that is environment/server specific.





[ZBXNEXT-3649] Clone entire group of hosts Created: 2017 Jan 05  Updated: 2017 Jan 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.5
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marco Hegenberg Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I think it would be useful, if you could clone an entire group of hosts or use something like an "extended template".

Here's my usecase: I'm monitoring a couple of distributed sites in Zabbix which all got the same structure. One router, one UPS, one server and so on. So what I'd like to do is to create a new group for each site which includes the template for the router, template for the UPS etc. so that I only have to give the IP addresses of all the different components.

I hope you get the idea what I mean.






[ZBXNEXT-2889] Sort similar LLD-item values in a host Created: 2015 Jul 23  Updated: 2018 Apr 22

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Timofey Koolin Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: sorting, top
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Virtual server node



 Description   

For example:
I have a node with VDSes. I have many similar LLD items for every VDS, for example cpu: vds-cpu1 - cpu usage from VDS1, vds-cpu2 - cpu usage from VDS2 and etc.

I want way to see TOP-10 of vds-cpu items.



 Comments   
Comment by richlv [ 2015 Jul 23 ]

is "VDS" meant to be "virtual dedicated server" ? (guessing from https://en.wikipedia.org/wiki/VDS)

also, do you just want to see a list of latest values for such items ?

Comment by Timofey Koolin [ 2015 Jul 24 ]

Yes - I mean virtual dedicated server, virtual machine.

I want see list of item, sorted by value (not by name) - for fast see what of virtual server consume a lot or resources (cpu, iops, etc).

Comment by Oleksii Zagorskyi [ 2015 Jul 24 ]

Theoretically it could be resolved if we would have ability to sort by "Last value" ob latest data page.
But that's not possible to easily introduce as the values may have different type ...

Comment by John Lauro [ 2018 Apr 22 ]

I would also like to sort by last value, As an alternate method of implementing, other options might be to have it tied to a new screen type or someway to do a top list linked to a template that is applied to all hosts in the template instead of only one, that would ensure you don't have to deal with different types.  (Although being able to sort / pull up top lists without having to first configure a screen would be ideal).

Comment by John Lauro [ 2018 Apr 22 ]

Another option might be on the overview page, and hosts on the left, being able to sort by column.  Each column should have the same type...  (I seldom use overview because it is slow with a lot of hosts and data elements if you don't narrow with application, but it would be more useful it it let you sort by the values in a column).





[ZBXNEXT-3899] Possibility to convert SNMP DateandTime to Timestamp in Preprocessing Created: 2017 May 30  Updated: 2022 Nov 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.4 (plan)
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Kay Schroeder Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We have several systems with SNMP-Values of octetstring, formatted in a special manner for Date and Time:

ateAndTime ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
STATUS current
DESCRIPTION
"A date-time specification.

field octets contents range
----- ------ -------- -----
1 1-2 year 0..65536
2 3 month 1..12
3 4 day 1..31
4 5 hour 0..23
5 6 minutes 0..59
6 7 seconds 0..60
(use 60 for leap-second)
7 8 deci-seconds 0..9
8 9 direction from UTC '+' / '-'
9 10 hours from UTC 0..11

10 11 minutes from UTC 0..59

For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
displayed as:

1992-5-26,13:30:15.0,-4:0

Note that if only local time is known, then timezone
information (fields 8-10) is not present."
SYNTAX OCTET STRING (SIZE (8 | 11))

For us it is useful to get this converted into a timestamp so that we can work with several trigger functions. I know about the new feature of preprocessing and I think this functionality could be a good additional feature to have it implemented.

Kind Regards,
Kay



 Comments   
Comment by alex dekker [ 2017 May 31 ]

This would be useful for dealing with snapshot age on HP SANs.

Comment by Glebs Ivanovskis (Inactive) [ 2017 Jun 05 ]

Would be nice if you pointed us to the format specification.

Comment by Kay Schroeder [ 2017 Jul 08 ]

Glebs, the syntax above should be the general syntax and should work in general.

Comment by Marc [ 2017 Jul 08 ]

Sounds rather like a use case for ZBXNEXT-3508 to me.

Comment by alex dekker [ 2017 Oct 05 ]

Glebs, format specification is in RFC2579 p18.

Comment by David Collier [ 2021 Jan 15 ]

Is this feature being worked on? We have exactly the same requirement for handling Date / Time fields returned as STRING variables from SNMP agent items.

Comment by Malcolm [ 2021 Jun 11 ]

For anyone still looking for a solution, the below can be thrown into a Javascript preprocessing rule to create a unixtime/epoch timestamp:

p_date =  Date.UTC(
    parseInt("0x" + value.slice(0,2) + value.slice(3,5)),
    parseInt("0x" + value.slice(6,8)),
    parseInt("0x" + value.slice(9,11)),
    parseInt("0x" + value.slice(12,14)),
    parseInt("0x" + value.slice(15,17)),
    parseInt("0x" + value.slice(18,20)),
    parseInt("0x" + value.slice(21,23))
) / 1000

utc_direction = String.fromCharCode(parseInt("0x" + value.slice(24,26))) == '-' ? -1 : 1
p_date += parseInt("0x" + value.slice(27,29)) * 3600 * utc_direction
p_date += parseInt("0x" + value.slice(30,32)) * 60 * utc_direction

return p_date
Comment by Mickael Martin (Cyres) [ 2022 Nov 09 ]

Hello,

I try to use this format to monitor FORTINET-FORTIGATE-MIB::fgHaStatsSyncDatimeUnsucc and FORTINET-FORTIGATE-MIB::fgHaStatsSyncDatimeSucc.

For me, your code is wrong on calculation on month : Date.UTC use an index between 0 and 11 and not 1 to 12. Moreover, you can have this format without UTC direction. So, I propose this fix :

value=value.trim()
p_date =  Date.UTC(
    parseInt("0x" + value.slice(0,2) + value.slice(3,5)),
    parseInt("0x" + value.slice(6,8) -1),
    parseInt("0x" + value.slice(9,11)),
    parseInt("0x" + value.slice(12,14)),
    parseInt("0x" + value.slice(15,17)),
    parseInt("0x" + value.slice(18,20)),
    parseInt("0x" + value.slice(21,23))
) / 1000if (value.length > 23){
utc_direction = String.fromCharCode(parseInt("0x" + value.slice(24,26))) == '-' ? -1 : 1
p_date += parseInt("0x" + value.slice(27,29)) * 3600 * utc_direction
p_date += parseInt("0x" + value.slice(30,32)) * 60 * utc_direction}
return p_date; 

 





[ZBXNEXT-3723] Unsupported messages links to wiki or KB Created: 2017 Feb 26  Updated: 2017 Feb 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Heðin Ejdesgaard Møller Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: frontend, items, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice to be presented with a wiki link whenever a discovery rule or general item is rated as unsupported.

Example:
Create a host, configure it for vmware vsphere monitoring via sdk
you get an error saying "cannot complete login due to an incorrect user name or password"

That text should link to a KB for that error on the wiki, where ppl. can read more details about the issue and, if appropiate, contribute to the article about possible solutions.



 Comments   
Comment by Marc [ 2017 Feb 26 ]

ZBXNEXT-130 could be considered related.





[ZBXNEXT-2937] Macros {MAC.RO<1-9>} are limited to single digit Created: 2015 Sep 02  Updated: 2015 Sep 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.4.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ebonweaver Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: limits, macros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

All macros by documentation and testing are limited to single digit values.
As such, getting an email action to report the status of all 12 inks in an HP Designjet for example is impossible, because item.name and item.value 10 and up simply do not work.

This is a serious limitation for which the only work around I can see is having 12 triggers instead of one which is not as elegant and removes the ability to present an overview of the whole device in the alert instead of just a single alert item.






[ZBXNEXT-2857] Searching for graphs via search engine Created: 2015 Jun 25  Updated: 2020 Jan 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Jacek Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: graphs, search
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Would it be possible to add graphs in results (name of the host + names of valid graphs with links to them) of search engine queries?

For example, someone wants to check a traffic of some specific bussines client, he/she knows the name of that cilent and there is a graph named after that client, but he/she doesn't know on what host this graph can be found and because of large number of possible hosts going through all of them would generate lots of unecessary work. After typing ABCDE in search engine's field and submitting it, user would get (apart from standard results for hosts, host groups and template) another section with list of all graphs containing ABCDE in their titles along with hosts these grpahs can be found.



 Comments   
Comment by richlv [ 2015 Jun 25 ]

ZBXNEXT-1201 asks for a per-host graph filter

Comment by Kay Schroeder [ 2017 Apr 28 ]

Hello, we are running in the same issue. We have thousands of customer poorts and we have non-admin users checking graphs and statistics of these ports. These users also won't care on which (of 200) device the customer is located. So would be nice to have this feature in place.

Comment by Arnis Č. [ 2017 Sep 16 ]

I'm pretty surprised that it is still not implemented. May be in server environment it is not so important to search for a graph by description, but in networking environment it is a big disatvantage. We have a lot of switches and routers and we have graphs for each interface and each interface has a description with some unique identifier. We would like to search for a graph globally with some wildcard filter possibilities. It would be a killer feature for us. Many networking people I spoke with put that as a disatvantage e.g. in comparison with Cacti where you can search for graphs quickly.
But thanks to great Zabbix API we implemented a helper service that does graph search via Zabbix API and then we can redirect to the graph. But still, native functionality would be great.

Comment by Piotr Goczal [ 2019 Dec 31 ]

I'm also interested in these issue. @acivciss could you please tell more about your solution?

Comment by Arnis Č. [ 2020 Jan 02 ]

@Piotr Goczal We wrote a small web serviss that allows us to search and find graph IDs with specified description. 

We use API graph.get method with searchWildcardsEnabled to search for graphs. 

https://www.zabbix.com/documentation/3.2/manual/api/reference/graph/get

When graph ID is found we can redirect to zabbix frontend graph page:

zabbix.example.com/charts.php?form_refresh=1&fullscreen=0&graphid=<GRAPH_ID>

 

Comment by Piotr Goczal [ 2020 Jan 02 ]

Thank you, I will check it. If you can share your code it would be great.





[ZBXNEXT-5516] Dashboard new Graph widget legend extended functionality Created: 2019 Oct 17  Updated: 2019 Oct 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.4.0
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alex Alexandrov (Inactive) Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 4
Labels: dashboard, frontend, graph, legend, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2019-10-17-09-17-24-346.png     PNG File image-2019-10-17-09-23-08-872.png     PNG File image-2019-10-17-09-52-54-344.png     PNG File image-2019-10-17-09-53-27-774.png     PNG File image-2019-10-17-09-56-17-953.png     PNG File image-2019-10-17-10-00-06-287.png     PNG File image-2019-10-17-10-01-00-779.png    

 Description   

On the "old" Screen on each graph in the legend statistical information was displayed (avg,last,max,min).

 

On the "new" Graph widget in Dasboard there is no such possibility:

 

It is impossible to use new graphics in some cases due to the lack of this functionality.



 Comments   
Comment by Alex Alexandrov (Inactive) [ 2019 Oct 17 ]

As it turned out, the new graph widget also lacks the functionality of Dynamic Graphs. This is extremely inconvenient when creating the same type of dashboards for different hosts.

In screen graph you have ability select Dynamic item in Graph properties:

This allows you to use the same screen for different hosts of the same type, switching between groups and hosts:

 

In Dashboard graph widget you can select only static hosts for data set and you have no ability select dynamic dataset:

Comment by Valdis Murzins [ 2019 Oct 17 ]

Hello alex_spq,

Thank you for feedback and suggestions.
But, as these are not a bugs, but not implemented functionality for new graphs, I will move this task to Feature request project.
Edit: It was already done before me.





[ZBXNEXT-5467] Add the ability to Add/Change Tags in Triggers that are created from LLD Discovery templates Created: 2019 Sep 24  Updated: 2024 Mar 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Stephen Apple Assignee: Unassigned
Resolution: Unresolved Votes: 33
Labels: Zabbix7.2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

All Triggers that are created from LLD discovered items are set so that Tags cannot be added or changed on the triggers.

We would like to use this functionality to link a trigger with our external ticketing system in order to track when a ticket exists or needs to be created based on the trigger that fired.  In order to do this, we need a way to link the trigger to the ticket and with all fields suppressed for editing in LLD created items/triggers, this is not possible.



 Comments   
Comment by Constantin Oshmyan [ 2022 Mar 14 ]

This task could be implemented now using the LLD override rules.
Unfortunately, you can edit the LLD overrides on the host level only; so this solution is not appropriate if your LLD rule is at the template level.

ZBXNEXT-4514 contains a similar request.

Moreover, after the ZBXNEXT-6674 implementation the importance of this ticket raises dramatically. In the previous versions of Zabbix (up to and including 5.4) it was be possible to link the Service to a trigger directly; but since v6.0 this link is possible via tags only. So, if you need to link a service with some LLD-generated trigger, then you should have a possibility to mark this trigger by a tag. Moreover, if this LLD rule is inherited from the template, it's impossible to use a workaround with the LLD override

Comment by Rodrigo P [ 2022 Mar 31 ]

I'd like to endorse this feature request. I have the same situation here. I need to specify tags for triggers that were created by LLD rules to be able to link them with my ticket system when they are fired, and then automate the process of opening the tickets and then be able to connect events and tickets.

Comment by Sacha Zufferey [ 2022 Jun 02 ]

We are interested in this feature too. Thanks!

Comment by Kirill Varnakov [ 2022 Jun 23 ]

What about LLD items? They also need this functionality.

Comment by Nathan Liefting [ 2022 Oct 10 ]

For anyone running into this issue. You can get there using OVERRIDES.

Simply use user macros in your filters to override the values between host and template levels.

Comment by Constantin Oshmyan [ 2022 Oct 10 ]

For anyone running into this issue. You can get there using OVERRIDES.

See ZBXNEXT-7593

Comment by leeyc0 [ 2022 Nov 12 ]

I need this too. For my use case I need to tag the problem to ad-hoc disable notification of selected problems (but not disabling the problem itself, I still need to log the problem), or using tags to selectively notify some of the users.

With problem tagging I can simply disable problem notification by setting tag conditions in actions, otherwise I have to cherry-pick the problem in action rule every time when I need to ad-hoc disable a problem notification, and potentially in multiple action rules.

Comment by leeyc0 [ 2022 Nov 13 ]

Moreover, if this LLD rule is inherited from the template, it's impossible to use a workaround with the LLD override

It is indeed possible, but you need to set the LLD override at template level, and add one LLD override rule per host, utilizing {HOST.NAME} macro as condition.

Comment by leeyc0 [ 2022 Nov 13 ]

See ZBXNEXT-7593

We can at least set the tag at the host itself, which should be enough for most cases, just need to check one more tag...

Comment by Constantin Oshmyan [ 2022 Nov 14 ]

Just a reminder that the ZBXNEXT-6674 (implemented in version 6.0) caused to increasing of the current ZBXNEXT priority.
There was version 6.2 published, the version 6.4 is at the beta3 stage – but this feature is still not implemented.
I really hope it will be included in the next version, as the 7.0 should be an LTS.

Comment by Mehmet Ali Buyukkarakas [ 2023 Jul 11 ]

I need also this feature. Voting for.

Comment by Cesar Inacio Martins [ 2023 Oct 27 ]

Also need this feature.
Basic example , we have lots of Windows Servers , few ones have some FS drives which should be monitored for specific and different teams.... The only way is setting a specific tag on trigger/hosts which is in this case, triggers prototype created by windows template .

Since TAGs was implemented as general use for filters and identification of services , this resource is mandatory!

No overrules or ulgy solutions like clone the trigger and work with a "fixed" trigger on the host are good and acceptable solution.

 

Comment by Mehmet Ali Buyukkarakas [ 2023 Oct 27 ]

Totally agree.

We have another scenario. Some windows services on some servers are monitored by the Infrastructure team, but some application specific services are monitored just by another team. And the application team never accepts the infra-related services alerts to be delivered to them.

Currently we can't distinguish the services by teams unless we dont use the LLD discovery rules overriding option. But its not practical.

 





[ZBXNEXT-5005] Drill-down browsing from Summary Widget Created: 2019 Feb 05  Updated: 2019 Apr 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.2.0alpha3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: T.J. Yang Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2019-02-05-13-03-33-170.png     PNG File image-2019-02-05-14-45-07-046.png    

 Description   

 Hi 

Sorry for opening up many epics today. I am from Nagios camp and thinking of moving over the Zabbix. But I missed following feature after using latest 4.2.0 alpha3 for a while.

  1. Above screenshot is from Nagios Monitoring instance. One can move the cursor to 160 number click on the number to see the list of all 160 hosts are not reachable.
  1. Can Zabbix Server put this same feature  as Dashoard widget ? 
  2. end


 Comments   
Comment by T.J. Yang [ 2019 Feb 05 ]

Another approach is to enhance "System information" widget to add drill-down click on green 17 to list out 17 enabled hosts.





[ZBXNEXT-8965] Operational data improvement (Expression macro support or related item caching) Created: 2024 Jan 19  Updated: 2024 Jan 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 6.0.26rc1, 6.4.11rc1, 7.0.0beta1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Andrey Tocko Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2024-01-19-16-57-16-343.png     PNG File image-2024-01-19-17-01-32-082.png     PNG File image-2024-01-19-17-05-01-292.png    

 Description   

Issue:

Detected Problems/Events requires additional information for correct decision making.

Example:

    Event fired: Filesystem / volume has less then 10% Available space
    We need to know total size of volume. Its a big difference when you need to provision additional Gigs or Terabytes of storage.

 

Current workarounds used now:

  • {?Expression macro} in the Event name:
     
    • Event name or Subject of notification grows unexpectedly.
    • Not useful on Event detail page, because it can not reflect current situation of ongoing problem solution.
    • Will stay Unknown forever, if related data was collected only after the trigger fired.
  • dummy items in trigger expression:
    • Can affect trigger firing, so it's not an option.
    • trigger expression looks unpresentable. Especially for official templates.

Solutions:

  • {?Expression macro} support in Operation data.
  • Or separate definition of informational items, outside of trigger expression (and macro like {ITEM.LASTVALUE1..9}).

 






[ZBXNEXT-8605] Web scenario: Allow overriding domain names resolving Created: 2023 Jul 30  Updated: 2023 Jul 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 6.4.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Waleed Mortaja Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In a load balance environment, we have multiple web servers serving a set of domain names over HTTPS. We would like to measure the performance of each web server independently by creating a web scenario for each one of them.

 

The problem: Using a domain name in the "URL" field in the web scenario would lead to resolving the domain to a different web server each (some) time leading to non reliable data.

 

Workaround (fails for HTTPS): Specify the IP of the web server instead of the domain name. This fails because each web server serves multiple domains (virtual hosts) and thus it responds differently based on the domain name used to connect to it, or more specifically the "Host" HTTP header. And while you can override the HTTP Host header in the current interface, this would fail for HTTPS because An HTTPS server also needs to get the server name provided already in the TLS handshake so that it knows which cert etc to use.

 

The solution: Zabbix depends on curl under the hood. curl allows you to give curl the proper URL but with a custom IP address to use for the host name we set. The --resolve command line option is our friend

 

Notes:

  • This method also works perfectly when following redirects since any further use of the same host name will still resolve to the same IP address and redirecting to another host name will then resolve properly.
  • There is also a "--connect-to" option in curl but it would not be suitable for HTTPS and redirects together since it only used to establish the network connection. It does NOT affect the hostname/port that is used for TLS/SSL (e.g. SNI, certificate verification) or for the application protocols.

 

So please provide an interface parameter to configure the curl's "--resolve" option (or a sub-interface menu since it can be used multiple time to override multiple domains per a web scenario)

 

Reference: https://daniel.haxx.se/blog/2018/04/05/curl-another-host






[ZBXNEXT-8959] Fix Color Selection In SVG Graph When Aggregating by Whole Dataset Created: 2024 Jan 17  Updated: 2024 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.25, 6.4.10, 7.0.0alpha9
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ryan Eberly Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When multiple items are chosen in the Svg Graph and are aggregated by the whole dataset, the first result from the function getColorVariations becomes the color of the aggregated data set. This is confusing and can lead to unexpected colors in the graph.

 

For whole data set aggregations the original color choice should be used from $options['data_sets'].

 

For example, in getMetricsAggregatedData(), starting at line 701, some simple logic could be added to easily fix this:

699                                 if ($metric['options']['aggregate_grouping'] == GRAPH_AGGREGATE_BY_DATASET) {
 700                                         $dataset_metrics[$dataset_num] = $metric_num;
 701                                         if ($data_sets[$dataset_num]['dataset_type'] == CWidgetFieldDataSet::DATASET_TYPE_PATTERN_ITEM) {
 702                                                 $metric['options']['color'] = '#' . $data_sets[$dataset_num]['color'];
 703                                         }
 704                                         else {
 705                                                 $metric['options']['color'] = '#' . $data_sets[$dataset_num]['color'][0];
 706                                         }
 707                                 }





[ZBXNEXT-8881] Disable houskeeping UI options for Zabbix setup with partitioned DB Created: 2023 Dec 07  Updated: 2024 Feb 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: 7.0 (plan)

Type: New Feature Request Priority: Major
Reporter: Dmitrijs Saldovs Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: Zabbix 7.0

 Description   

There is no need to perform Zabbix housekeeping when history and trends are stored in separate DB partitions.

This option should be disabled in UI based on configuration setup






[ZBXNEXT-8778] Map Read-only permission is not working for users with user role type Admin Created: 2023 Apr 05  Updated: 2023 Oct 23

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.4.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Daniel Kempkens Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 0
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 6.0 LTS


Attachments: PNG File screenshot-1.png     PNG File screenshot-2.png     PNG File screenshot-3.png     PNG File screenshot-4.png     PNG File screenshot-5.png     PNG File screenshot-6.png     PNG File screenshot-7.png    
Issue Links:
Duplicate
Team: Team B

 Description   

Steps to reproduce:

  1. Create new map as Zabbix admin with owner Zabbix admin, select "share" and choose a user group, give them "read-only" permission.
  2. That User group has a user role type "user".
  3. Login as a member of that group -> map editing is not possible
  4. Change user role type to "admin"
  5. Login as a member of that group -> map editing is possible (should not be!)

Try the same steps with a dashboard instead of a map - the user group with role type "admin" cannot edit the dashboard. This is the expected result, but not in the maps section.



 Comments   
Comment by Michal Czerniakiewicz [ 2023 Apr 05 ]

I do confirm. Replicated on Zabbix appliance 6.0.15 LTS(https://www.zabbix.com/rn/rn6.0.15). Created: user "Admina" with Admin role and group Zabbix administrators; user "User" with User role and group Users(changed during and for the process to Admin role).



User can edit the map.

Created and owned by Admin role type user "Admina".

User can not edit the dashboard.

Created and owned by Admin role type user "Admina".

Comment by Alexander Vladishev [ 2023 Sep 26 ]

This works according to the documentation:

Admin level users can see private maps regardless of being the owner or belonging to the shared user list. Private maps can be edited by the owner of the map and in case a user/ user group has read-write permissions for this map and at least read permissions to all elements of the corresponding map including triggers in the links.





[ZBXNEXT-8231] Update IP address stored for auto-registered hosts with HostInterface set to DNS Created: 2023 Jan 26  Updated: 2024 Mar 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 6.0.12, 6.2.6, 6.4.0beta5
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: Zabbix7.2, autoregistration, dns, hostinterfaces, ipaddress
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Use case:

Use auto-registration feature with HostInterface set:
https://www.zabbix.com/documentation/current/en/manual/discovery/auto_registration#using-dns-as-default-interface

During first auto-registration interface created with both fields populated IP and DNS, and DNS is set to default connection method.

For example, host is moved to another network or between data-centers or between on-premises and cloud.

Monitoring still works through DNS, but IP stored inside interface settings is incorrect.

This makes {HOST.IP} macro unusable and information provided by Zabbix is incorrect.

Please add ability to refresh this information on regular basics.






[ZBXNEXT-5668] Add ability to place host in maintenance for relative time period Created: 2020 Jan 02  Updated: 2020 Jan 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.4.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Jack Valko Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Various workarounds have existing in zabbix in the past to place hosts in a mode where it will not action on 1 or more of its triggers.  With the removal of the add hosts to group functionality on the hostgroup edit page, there's no immediate way from a dashboard to quiet a host for a relative period of time.  (Please correct this assumption if I'm mistaken).

I would propose an additional operation on the "Update Problem" page that would offer an option to quiet this alert or quiet this host.  






[ZBXNEXT-5949] Non-PHP format for web configuration Created: 2020 May 13  Updated: 2020 Aug 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexey Pustovalov Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: cloud, config, usability, web
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently Zabbix web-interface uses configuration file in PHP script format. Sometimes it is very difficult to automate web configuration deployments as it is PHP with many special characters.

Probably it is better to migrate to Zabbix server/proxy configuration file format to be consistent with all Zabbix components.






[ZBXNEXT-6266]  I would like to insert a new function to the maps, which allows by placing a mouse on the link between two "Host_A" and Host_B ", an online graph of traffic interfaces. Created: 2020 Oct 15  Updated: 2022 Jun 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Carlos SIlva Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix network maps that can show link traffic on graffic online in draw.






[ZBXNEXT-6069] Generic Filter Language for all UI pages Created: 2020 Jul 14  Updated: 2020 Oct 26

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Christian Anton Assignee: Valdis Murzins
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File monitor-filter_builder.png    

 Description   

In Zabbix, there are filters everywhere, both in configuration and display contexts: in list of hosts, templates, “Latest data”, Problems view etc. These filters have been extended more and more during the last releases, and they already look quite “overloaded” on one hand, and on the other hand they are still missing quite a lot of useful functionalities which almost all bigger customers (and not only those) do strongly wish:

  • Filtering by regular expressions, i.e. in host name, …
  • IP filtering by CIDR notation in interface addresses
  • Negating and concatenating filters (“all hosts being part of hostgroup “A” whose host name matches regular expression ‘^db[0-9]”’ and which are assigned to this and that template” or “all hosts being part of hostgroup “B” who do not have tag “C” assigned", for example)
  • Filter by responsible person, by amount of problems
  • A lot more…

Additionally, there is a strong need to make the UI pages more flexible: currently, applied filters are saved in cookies, which causes a lot of undesired situations, such as a page showing up a different search result, host data, etc. than expected. This has been seen as very annoying by a lot of users.

Another annoying thing is, that for example in the problems-widget on a dashbboard one can exclude one or more hostgroups. But this seems not possible on the problems view, even if the filters else look very similar.

 

A good and forward-looking solution would be an approach such as Atlassian Jira’s: in all pages where filters may be needed, the content is totally customizable by using a generic query language. Same has been seen at some monitoring solutions (Nagios based, see screenshot attached).

A query language like that, combined with a graphical "filter builder" to help figuring out which possibilities there are to filter the current view, and probably even still some check boxes like those existing currently (“show acknowledged” and such) which change the query language parameters inline by pressing them, would make the whole Zabbix user interface much more flexible and better to use in large environments. Those same filters could be used inside of dashboard widgets, in the graph widget, in future maybe even in custom graphs (making them dynamic), in maps (to show, i.e. not just "one host group of hosts" but those exactly matching such a filter) and much more.

Beside of the above described, I believe it would make sense to hand over the queries in URL parameters. This way, a proper “navigating back” would be possible, permalinks with queries included could be handed over to coworkers etc. Additionally such queries could be saved as “saved searches”, been combined with user permissions (like dashboards etc.) and this way be visible and quickly accessible for other users.

As I have seen in other monitoring solutions, one possible way to implement could be to include the actual type of information (problems, latest data, …) to see in the query. This way, one query would clearly tell the UI which page to render. This would allow also custom frontend modules to integrate into such a filtering sub system.



 Comments   
Comment by Andrei Gushchin (Inactive) [ 2020 Jul 15 ]

Thank you for detailed describing your idea.

Comment by Carl Slaughter [ 2020 Oct 26 ]

This may be a bit simplistic, but adding an exclude option to the search..

Example
Host group=North_America -exclude=New_York





[ZBXNEXT-6014] Add URL in triggers mass update and discovery LLD override Created: 2020 Jun 15  Updated: 2020 Jun 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Templates (T)
Affects Version/s: 4.4.8, 4.4.9, 5.0.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Agrate SSSL Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: frontend, lld, templates, triggers, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File urlmassupd.JPG     JPEG File urloverride.JPG    

 Description   

Add missing URL replace in triggers mass update and discovery LLD override






[ZBXNEXT-3753] Rename autodiscovered items/triggers Created: 2017 Mar 22  Updated: 2018 Sep 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.8
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Stijn Vanschoonbeek Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: autodiscovery, frontend, items, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Screen Shot 2017-03-22 at 09.52.17.png    

 Description   

Auto-discovery is a very nice feature but there is a thing the we thinks is missing with auto-discovery: Renaming of the items or triggers once they are discovered:

I give a specific example where this would be very useful:

  • we added a Network-switch
  • all the ports are discovered
  • if a port goes down the triggers says: Port 1 is down
  • it would be very handy if we could rename some triggers once they are discovered to for example "Port Machine A is down" (because we now Machine A is on port 1)
    => there are many other situations this could be very useful


 Comments   
Comment by Ward Van Breedam [ 2017 Mar 22 ]
  • On a firewall you would be able to swap WAN/LAN ports as we do to optimise bandwidth usability
  • VM hosts can be named following the same naming convention we use for other hosts
  • Everything that is automatically named could be renamed so it is more easy to interprete trigger reporting
Comment by richlv [ 2017 Mar 22 ]

an approach that would scale better would be to use ifDescr and ifAlias in the item names - thus way the data would propagate from the device into the items

Comment by Stijn Vanschoonbeek [ 2017 Mar 22 ]

richlv,

That is indeed a good idea! if made this possible to retrieve the ifAlias-value as a second macro in the discovery rule. thanks for the tip!!
however, it would still be useful to be able to rename auto-discovered items. For example: we monitor some switches where we cannot change the ifAlias, ifDescr or ifName values...

Comment by Kevin Schroer [ 2018 Feb 09 ]

i'd like to see this feature aswell, sometimes its really annoying to have these autodiscovered Items/Trigger names.

Comment by Alex P [ 2018 Sep 11 ]

+1 for the feature, having an ability to rename auto discovered items by pattern would be great!
For example, want to rename all "GigabitEthernet1/0/X" to just "Gi1/0/X". At the moment, there is no ability to do that.





[ZBXNEXT-3668] Option to group triggers with identical names in Monitoring -> Overview Created: 2017 Jan 26  Updated: 2017 Jan 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.16, 3.0.7, 3.2.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Ingus Vilnis Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: overview
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File 25012017_153305.jpg    

 Description   

Related to ZBX-9820 and ZBX-5072.

In older versions of Zabbix the triggers with different expressions but identical names in Overview page were grouped by those names. Agreed that this can cause confusion when used without knowing this behavior, however there were several use cases where this hidden feature was used intentionally.

As mentioned in ZBX-5072 this can be used in screens where same trigger has different severities thus achieving an effect where multiple triggers are displayed in one row just with different colors. User had intentionally configured the triggers that they don't overlap to not cause unexpected behavior on a single host.

This is how it looks now.

The page in particular use case was adapted to a wall mounted TV screen which has now become unusable because all triggers no longer fit in one screen. No, there is no option to use scrolling.

Please implement a control which can enable / disable the advantage of this grouping feature. Additionally it should be remembered in the user settings since screens are displayed automatically from selected URLs without the need to adjust the filtering by a user every time the page is opened.



 Comments   
Comment by richlv [ 2017 Jan 26 ]

seems to be a duplicate of ZBX-11743

Comment by Ingus Vilnis [ 2017 Jan 26 ]

Sigh. This is what happens when you start one issue in the morning and finish creating it by the evening. Coincidence because this functionality is not something what was changed yesterday.





[ZBXNEXT-3091] submenus nested into parent menuitem Created: 2016 Jan 11  Updated: 2016 Feb 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ya Bo Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: css, html, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File ZBXNEXT-3091-nested-submenus--beta2.patch    

 Description   

Currently the menu and it item submenus are divided between two different divs. It is not usual and convenient decision.

I propose some non significant changes that give us all submenus nested into they parent menuitem.

If this changes will be applied it will be possible to replace js menu processing with help of pure css in new skins/styles.

NB. unfortunately, with this changes the small triangle under selected parent menuitem in existing styles should be moved to left side of the menuitem.



 Comments   
Comment by Ya Bo [ 2016 Feb 02 ]

changed files:
modified: app/views/layout.htmlpage.menu.php (recoding, require more optimization. I tried to make as less changes as I can for easy understanding of changes)
modified: include/defines.inc.php (- unused constants)
modified: styles/blue-theme.css
modified: styles/dark-theme.css

NB2: server-name moved inside the logo div but it is showing on the right border of sub-menu (current behavior).





[ZBXNEXT-3138] Wrong frontend search bar on smartphones Created: 2016 Feb 11  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.0beta1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Adail Horst Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: globalsearch, layout
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Centos mysql apache
Android 4.4 with chrome


Attachments: PNG File Screenshot_2016-02-11-10-46-05.png     PNG File Screenshot_2016-02-11-10-46-38.png     PNG File Screenshot_2016-02-11-13-52-51.png    

 Description   

When i try to access the frontend the interface apear wrong
See screenshots



 Comments   
Comment by Pavel Amosov (Inactive) [ 2016 Feb 11 ]

Looks like a duplicate of ZBX-10289. Fixed in 3.0.0rc1.

Comment by Adail Horst [ 2016 Feb 11 ]

Pavel, i update now to rc2 and still with problem...
Maybe the global search field need to be smaller in smartphones...

Comment by Adail Horst [ 2016 Feb 11 ]


I upload a new screenshot

Comment by Pavel Amosov (Inactive) [ 2016 Feb 11 ]

Adail, yes, the search field should be more narrow. Responsive layout is not implemented yet, we will address this issue in the future. On a broader scale.





[ZBXNEXT-4256] Host Name should be case insensitive Created: 2017 May 26  Updated: 2017 Nov 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Shriharsh Thanvi Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 3.0.9, RHEL 7, MySQL 5.7.17



 Description   

We found that Zabbix adds host even if another host with exact same name but different case is present.
E.g. ABCD.xyz.com is different than abcd.xyz.com for Zabbix. This I think is not correct.
I can understand the need to add utf8_bin while installation, especially from performance perspective. But in the process we are letting Zabbix to discover two hosts with exactly the same name.
It looks this is a bug and needs to be addressed.



 Comments   
Comment by richlv [ 2017 May 26 ]

most of the things in zabbix are case sensitive - it would be a major breaking change, and there does not seem to be a compelling reason to change.

Comment by Shriharsh Thanvi [ 2017 May 26 ]

I completely agree about most of the other things being case sensitive; except for the host name.
The reason can be compelling if you come across such situation for many hosts in real deployments.

If not entire change, then at least auto registration should check the host name without case sensativity. I do not think it will be a major breaking change.

Comment by richlv [ 2017 May 26 ]

what is the compelling reason for that then ?

Comment by Shriharsh Thanvi [ 2017 May 26 ]

The intention here is primarily to prevent duplicate host creation, and providing zabbix admin the flexibility to handle complex scenarios.

We already had several VM discovered and subsequently cloned to modify monitoring policies (like alerts on disk space etc) using macros.
We are now preparing to add active agents.
But We want to preserve the macros that have been modified by other users (business) but just wanted to add an agent.

This leads us to two scenarios:

  • Agents on fresh hosts :
    This is straigtforward through auto registration.
  • Agents on hosts already present in Zabbix
    We thought of using some discovery rule, automation etc. to just unlink / link template.

The agent config will be same and we intend to do mass deployments.
But when we install an agent (active), sometimes it auto registered another hosts with duplicate host name but different cases.
Hence, at least auto registration should have some mechanism to handle the scenario.

On our part, I also do recognize the need for some strict complaince when it comes to naming conventions at different stages.

Comment by Ingus Vilnis [ 2017 Nov 28 ]

Not a defect in code. Reasoning makes sense but that classifies as a request for changed functionality. Moved to ZABBIX FEATURE REQUESTS project.





[ZBXNEXT-3806] Add negative lookup for required string in web scenario Created: 2017 Apr 20  Updated: 2019 Jul 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.0.8, 3.2.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ingus Vilnis Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: webmonitoring, webscenario
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-4307 Add "Forbidden string" (opposite to R... Closed

 Description   

In web scenario steps add possibility to succeed the step only if the required string is NOT found.

Issue remotely related to ZBX-3924.



 Comments   
Comment by richlv [ 2017 Apr 20 ]

would be solved by ZBXNEXT-309 (although a basic negation might still be desirable)

Comment by richlv [ 2018 Jan 02 ]

looks like pcre support in daemons solved this one ?

Comment by Ingus Vilnis [ 2018 Aug 20 ]

Technically now it is possible but in reality the negative regexps are way too complex for end users to configure. 

See ZBXNEXT-4690 for similar discussion. 

Comment by Björn Dieding [ 2019 Jul 31 ]

Hi,

I thought I should supply a use case for this ticket. Here is my use case:

I would like to test the url http://rbl-check.org/rbl_api.php?ipaddress=83.246.67.106 for the non existence of the string ";notlisted" 





[ZBXNEXT-3488] Support user macros in macro function parameters. Created: 2016 Oct 06  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.4.0alpha1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Sandis Neilands (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: macrofunction, usability, usermacro
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

From (2) of ZBXNEXT-3457.

Consider this scenario which demonstrates poor usability.

Problem expression:

{dummy_host_0:dummy_item_0.regexp("[a-z]+ {$SERVICE_DOWN}",#1)}=1

Tag "reason" value:

{{ITEM.LASTVALUE}.regsub("[a-z]+ {$SERVICE_DOWN}",\2)}

Both expressions formatted for comparison:

{dummy_host_0:dummy_item_0.regexp("[a-z]+ {$SERVICE_DOWN}",#1)}=1
{{ITEM.LASTVALUE}         .regsub("[a-z]+ {$SERVICE_DOWN}",\2)}

Expected: both expressions work fine (since the regex is the same.
Actual: tag value expression fails and the tag has a value "UNKNOWN"

vso User macros are not supported in function macros.

sandis.neilands That is exactly the point. There are many arbitrary (surprising) limitation in the Zabbix macro language applications.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Oct 06 ]

Can be considered a duplicate of ZBXNEXT-1568. And depends on implementation of ZBX-2866.

Comment by Glebs Ivanovskis (Inactive) [ 2016 Oct 06 ]

And let's not forget that user macros come with contexts and potentially with LLD macros inside them...





[ZBXNEXT-3316] In trigger does not work macro {INVENTORY.LOCATION} and etc. Created: 2016 Jun 21  Updated: 2019 Oct 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.4.8, 3.0.2, 3.0.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Nikita Assignee: Unassigned
Resolution: Unresolved Votes: 12
Labels: inventory, macros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

In trigger does not work macro

{INVENTORY.LOCATION}

and etc.


Attachments: PNG File image001.png     PNG File image002.png    
Issue Links:
Duplicate

 Description   

The trigger does not run the macro

{INVENTORY.LOCATION} and all other macros. According to the documentation they need to display values. But, instead of the value of the Inventory field they give {INVENTORY.LOCATION}

etc.



 Comments   
Comment by Aleksandrs Saveljevs [ 2016 Jun 22 ]

According to https://www.zabbix.com/documentation/3.0/manual/appendix/macros/supported_by_location, {INVENTORY.LOCATION} macro is only supposed to work in notifications. Where exactly are you trying to use them?

Comment by Nikita [ 2016 Jun 23 ]

In trigger name. According to the documentation - Trigger-based notifications...

Comment by Mikhail Khirgiy [ 2016 Dec 09 ]

It's very important to use

{INVENTORY.LOCATION}

macro in triggers notifications.

Comment by Christian McHugh [ 2018 Apr 27 ]

We too would like to use INVENTORY.ALIAS, LOCATION, or TAG in the trigger name. 

Comment by Kurbanov Ruslan [ 2019 Apr 01 ]

In zabbix 4.0.3 {INVENTORY.LOCATION} doesn't go into a trigger name.





[ZBXNEXT-3186] optionally hide "Ok/Problem" text for elements on maps Created: 2016 Mar 10  Updated: 2018 Jun 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Roman Belda Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: filters, maps, status
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File hide-status.tgz     PNG File network-maps.png     PNG File with-problem.png     PNG File without-problem.png    

 Description   

Dear Zabbix,

we need to hide Ok/Problem status in maps, because with statuses, we haven't got lots of space between items.

I think it will be a good feature. I send you all edited files, with updated database. It's new item called "hidestatus".
It's same as highlight option. It's available to change this option per map.

Thank you for your reply and add it in next versions.



 Comments   
Comment by Guido [ 2016 Jul 07 ]

+1

Comment by richlv [ 2016 Jul 07 ]

please see http://zabbix.org/wiki/Docs/bug_reporting_guidelines#Reporting_an_issue . note this part :

Don't add "me too" or "when will this be fixed" comments to issues - those aren't productive and only clutter the issue. Discuss issues in Zabbix forums or IRC channel. On the other hand, if the issue is unclear and hard to reproduce, it might be worth adding relevant environment details and whether problem is reproducible there.
If you want to show that you also suffer from a particular problem and would like to see it fixed, vote on it.

Comment by richlv [ 2017 Mar 26 ]

seems to be a duplicate of ZBXNEXT-2665

Comment by Brett Grothoff [ 2018 Jun 26 ]

Thanks, this worked great!





[ZBXNEXT-3143] Display link to created entity in "green" success message. Created: 2016 Feb 15  Updated: 2016 Feb 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.0beta2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ivan Kolomiets Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File fr.png    

 Description   

Hello!
I suffering of some "incompletenes" of new fronted.
You done a greate job eleminating dropdown for mass operations - now it's tome to add a link to create entity (host, template, item) in flash message.

Usually, when you creating something - you want to adjust something or validate that you not forget anything.

Now you are forced to remember the name of created entity, then find it.

It would be super handy if there will be direct link to it in flash message.

I attached screenshot of how i see it.



 Comments   
Comment by richlv [ 2016 Feb 15 ]

just to clarify, the popup/slidedown temporary message is meant, adobe flash not suggested here

this would be very handy indeed, but what if multiple entities are affected in one go ? should the links go in the detailed entries (expandable) then ?

Comment by Ivan Kolomiets [ 2016 Feb 15 ]

@richlv fair comment. I'm particularly suffering from adding single items, not used mass editing much, but can i imagine example for this - mass enabling of hosts - it would be nice to get links to them in order to open in new tabs and continue editing.
As for the first implementation i would suggest split entities by commas. What is the maximum mass editing number? Per page maximum? 50? If name length is reasonable - it even will look nice. And if not - then the that admin is his own worst enemy =)

Comment by Pavel Amosov (Inactive) [ 2016 Feb 16 ]

One thing is for sure: there should be a name of a template/host, like "Template 'ubertemplate' added".

Comment by Ivan Kolomiets [ 2016 Feb 16 ]

I read my description again - and i'm sorry for errors. Please note, it was written at night after long long working day =)
To clarify: link to create_D_ element.





[ZBXNEXT-1577] move entity selection field to be the second in the properties form Created: 2013 Jan 17  Updated: 2013 Jan 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when another map element type than image is selected, actual entity selection field (host, host group, map, trigger) appears below several other fields. this is not very logical and users struggle with finding this field. instead this field should be moved right below the "type" dropdown






[ZBXNEXT-1765] Improved Screens navigation and management Created: 2013 May 30  Updated: 2021 May 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Cristian Assignee: Unassigned
Resolution: Unresolved Votes: 17
Labels: screens, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2437 accessing host screens Closed
is duplicated by ZBX-6639 Improved Screens navigation and manag... Closed

 Description   

Hi,

I think the current way the screens are implemented is making hard to use them.

On management side:

  • The focus should be on creating screens within templates
  • The general screens (as they are) should have the option to include templated screens if the hostname has assigned a template with screens

On consulting/review these screens I think:

  • Monitoring->Screens should have a way to select Host as well, not to only display "general" screens
  • If a host has included a template with a screen then when navigating the Monitoring->Screens and picking the proper host it should be displayed the templated screen
  • As well should be a way to switch between hosts having same screen. So less clicks to navigate to graphs
  • As well, I think the zoom bar used on zabbix is harder to understand/use. Having select boxes as on Cacti is much better

Basically on navigation/review side of graphs I found Cacti much superior and somehow we should follow the same or improved navigation/review pattern.



 Comments   
Comment by alex dekker [ 2017 Dec 22 ]

Host screens are inexplicably difficult to find. There should be a link to them from the Screens screen.

Comment by Alexei Vladishev [ 2021 May 21 ]

I think it has been improved significantly in 5.4 by merging of screens (global and template-level) into dashboards. Less confusing and much more user friendly!





[ZBXNEXT-1764] Plugin support in the webinterface Created: 2013 May 30  Updated: 2022 Jan 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Frank Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: plugins
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In order to get most out of your Zabbix installation, it would be nice to have plugin support in the webinterface allowing people to write their own plugins and use it from Zabbix.
It should be able to insert itself into the menu and authentication system.

Additionally, it would be nice if actions/links could be added to the "popup" (if you click an item) function as well with parameters (e.g. host ID, hostname).

Functionality like this would allow people to use Zabbix for more than "just" a monitoring system
For instance by integrating it with their environment (e.g. Puppet, Saltstack or virtualization platforms like Vmware/KVM/EC2)



 Comments   
Comment by richlv [ 2013 May 30 ]

this seems to be a very broad request.
as for the host popups, you are aware of administration -> scripts, right ?

Comment by Frank [ 2013 May 30 ]

I know about the popups, but instead of running a script it should allow a link to a page in Zabbix (provided by the plugin)

Comment by richlv [ 2013 May 30 ]

linking to pages in zabbix can be implemented using map urls (although they won't work in other views, of course )

Comment by Oleksii Zagorskyi [ 2013 May 31 ]

Here in Jira are several discussions about plugins for frontend.

Comment by Mickael Martin (Cyres) [ 2022 Jan 05 ]

Hello !

Solved in version 5.0 https://www.zabbix.com/documentation/5.0/en/manual/modules , so you can close ?

Thank you Zabbix team !





[ZBXNEXT-1516] Make the trigger expression editor more efficient Created: 2012 Nov 16  Updated: 2012 Nov 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Volker Fröhlich Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: expressions, triggerconfigform, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Goal:

A) Create a new item and a simple trigger for that item
B) Create a more complex trigger, involving various items from different hosts

Modus operandi A):

= Manual approach =

  • Create the item
  • Memorize or copy exact host name and item key; that can be very difficult in cases
  • Switch to triggers.php
  • "Create trigger"
  • Type or paste it and hope everything goes well
  • Save

= UI approach =

  • Create the item
  • Switch to triggers.php
  • "Create trigger"
  • Click "Edit"
  • Click "Select"
  • Navigate for the right host and item
  • Adapt the expression or leave it as it is and edit later
  • Click "Insert"
  • Save

B):

Much like before, you'd have to go through all the steps over and over.


To me it seems, the process could be improved in two ways:

1.) Make it easier to create a simple trigger expression for a single item. This could be achieved via a link in the Wizard column on items.php, or better: The Triggers column. It would take you the trigger editor, with host and item already filled in.

2.) Try to get rid of the popups and integrate the list of all available items in the trigger form, to comfortably pick items.



 Comments   
Comment by richlv [ 2012 Nov 16 ]

also something that has been discussed a lot, but i couldn't find an existing issue, so i created a new one... expression hints/suggestions/autocomplete : ZBXNEXT-1517





[ZBXNEXT-1464] Add debug option to items Created: 2012 Oct 11  Updated: 2021 Jan 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Proxy (P), Server (S)
Affects Version/s: 1.8.15
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Schoechlin Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: debug, template
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

While developing zabbix templates on productive systems it´s often difficult to debug non working triggers.
If i increase the debug level to "4" (i.e. this is often needed to find the cause of a nonworking snmp item) my log is flooded with tons of messages.

It would be a cool thing to have a "debug-level" option on item level.
Increasing the debug-level to "4" on a certain item, should cause zabbix to log debug information at the place where the check is performed.
(agent, proxy or server)



 Comments   
Comment by Marc Schoechlin [ 2014 Dec 29 ]

A direct feedback to the zabbix user interface would be a really great improvement.
(see also ZBXNEXT-1093)

Comment by Marc Schoechlin [ 2021 Jan 03 ]

Would be still useful on current releases.





[ZBXNEXT-1411] ZABBIX-Proxy per host interface Created: 2012 Sep 07  Updated: 2018 Feb 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 2.0.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: host, interface, proxy
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux, CentOS-6, PostgreSQL 9.1.4, Apache HTTPD-2.2.15, PHP-5.3.3



 Description   

I'm evaluating ZABBIX again since version 2.0 was released.

Our servers are equipped with remote management adapters. The networks of these adapters differ from the networks where the hosts reside.
Because a ZABBIX-Proxy can only be assigned globally per host, we can not put such RMAs to their corresponding hosts.

Is there any chance to get the option to choosse a ZABBIX-Proxy per host interface?



 Comments   
Comment by Justin McNutt [ 2013 May 22 ]

I would like to see a feature like this as well. My management would like me to be able to provide "perspectives" on a network device. That is, they want me to be able to show whether a switch is reachable not only locally (from a "primary" proxy) but also remotely (from a proxy farther away).

This is especially important when monitoring services like DNS, where it is extremely useful to be able to show that a service was up and running, since the local proxy could reach it, but that there was a network problem somewhere because the external proxy was unable to reach it.

Suggestion:

Make it so that a single Host can have multiple Interfaces, defined by the (IP/DNS, proxy) tuple, where "proxy" can be NULL when that Interface is monitored by the Zabbix host itself.

One problem I see is that this may confuse how Items work. Would ALL Items be re-tested per Interface/Proxy? Or just certain ones? Some more thought needs to be given to this to make it feasible.

Comment by Raymond Kuiper [ 2014 Aug 27 ]

Another reason why this should be implemented is ZBXNEXT-1285.
This would allow us to send traps from zabbix_sender to the main Zabbix server for hosts that are monitored by proxies.

Comment by Raymond Kuiper [ 2014 Aug 27 ]

ZBXNEXT-735 would be needed to effectively use this new functionality.

Comment by Raymond Kuiper [ 2015 Feb 16 ]

I also have the need to use external checks for some proxied hosts that need to run on the central zabbix server instead of on the proxies. This might allow that functionality as well.

Comment by Philipp Jakubowski [ 2015 Jul 09 ]

This feature is needed in multiple ways for us...

Comment by Timo Reimann [ 2018 Feb 16 ]

This feature would be very useful for our deployment, too. I think it would be best to select the Zabbix proxy on interface basis. Using this setup, we could use some kind of production proxy for Zabbix agent checks and a Out-of-band management proxy for SNMP checks against the servers lights-out management card.

Currently we need to create two hosts for each server: one host for checks against Zabbix agent and another one to check the server hardware using SNMP in a dedicated Out-of-band management network.





[ZBXNEXT-1415] Support HTTP-Proxy for Jabber/XMPP Created: 2012 Sep 10  Updated: 2014 Sep 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 2.0.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: httpproxy, jabber, xmpp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux, CentOS-6, PostgreSQL 9.1.4, Apache HTTPD-2.2.15, PHP-5.3.3



 Description   

Please consider to add support for sending Jabber-/XMPP-Messages via a HTTP-Proxy.
Sending messages via XMPP is a great feature but it's out of question if there needs to be a firewall activation from the ZABBIX-Server to the internet.



 Comments   
Comment by Marc [ 2014 Sep 06 ]

Because of the extra costs a once opened proxy connection can be reused when multiple XMPP messages have to be send.





[ZBXNEXT-1416] Allow granting permission to configure Maintenance Periods without granting full configuration access to host group Created: 2012 Sep 10  Updated: 2022 Oct 04

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 2.0.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Robert Parker Assignee: Unassigned
Resolution: Unresolved Votes: 53
Labels: maintenance, permissions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 2.0.2 running on Debian from unstable repository packages.


Issue Links:
Duplicate
duplicates ZBXNEXT-77 Better permission granularity Closed
is duplicated by ZBXNEXT-4245 Request for new feature that supports... Closed
is duplicated by ZBXNEXT-7051 Allow maintenance to be created by Za... Closed
is duplicated by ZBXNEXT-4970 Allow to register the maintenance of... Closed

 Description   

We would like to be able to grant some users the permission to create and modify Maintance Periods for certain host groups, without granting them full configuration access to all aspects of the hosts in those groups.

Perhaps this could be implemented as new User Type such as 'Operator', or a new column (between Read-write and Read-only) in the User Group Permissions screen.

Of course I suspect this might not be simple to implement, and may fall within the scope of the work required for something like ZBXNEXT-77 although that other feature request appears more focused on host-based granularity, whereas this is more about making granular an aspect of configuraiton.



 Comments   
Comment by Robert Cooper [ 2012 Oct 24 ]

This might be easily related to ZBXNEXT-310.

Comment by Sebastiaan Woudenberg [ 2014 May 14 ]

We also would like this additional security level.
We've sysadmins that do maintenance work and need to create maintenance windows in zabbix. These sysadmins don't have enough knowledge of zabbix so it would be best to limit there access. Currently they require read-write access to create maintenance windows in zabbix.

ZBXNEXT-310 is an older request but discribes it even better.

Comment by richlv [ 2014 Jun 19 ]

this should be handled in the context of overall permission granularity, closing in favour of ZBXNEXT-77

Comment by richlv [ 2015 Jan 27 ]

this might be considered w/o full permission redesign, reopening

Comment by Volker Fröhlich [ 2015 Apr 22 ]

This little hack gives an actual meaning to "Read/Write" in the context of a regular user. This might be a good idea, because it allows the implementation without massive changes and may reduce the confusion as of what the heck the "Read/Write" column is for.

http://zabbix.org/wiki/Docs/simplify_ad_hoc_maintenance#POC_implementation

Comment by Elvar [ 2017 Mar 14 ]

I think it's very important for users to be able to set maintenance periods for various hosts and groups without having to be in the Zabbix Administrators group. In fact, the majority of users I have accessing Zabbix I would prefer not be Zabbix Administrators but have the ability to create maintenance schedules.

Comment by Marlon Willrich [ 2017 Apr 27 ]

I would also like this function, very important for larger installations

Comment by Brad Turnbough [ 2017 Apr 28 ]

Add my vote to the list of 'why doesn't this exist yet?' 5 years and counting....

Comment by Jos Hoekstra [ 2017 May 31 ]

We're assigning dev-teams their own credentials for notifications etc, but allow them to set their own maintenance without needing us to set it for them would save us a lot of time.
Please allow for a role of 'maintenance-user' which can set maintenance for hosts assigned to his/her group.
This makes for a better to maintain rights management while still allowing users to manage their own hosts.

Comment by Cesar Murilo da Silva Junior [ 2019 Jan 22 ]


Any news?

Comment by Kornelis [ 2019 May 15 ]

How difficult can it be to add a maintenance role. Would be a nice feature. Is there anyway to work around this? With a script or so?

Comment by Volker Fröhlich [ 2019 May 15 ]

Would my approach work for you @Kornelis?

Comment by Kornelis [ 2019 May 16 ]

@Volker:

Is this script compatible with Zabbix 4.2? And how do i implement this?

Comment by Michal Bartak [ 2019 May 28 ]

I agree this feature would be greatly appreciated!

Thanks

Comment by Nick Zolot [ 2020 Mar 31 ]

@Volker, is it possible to use patch with 4.4? Also, is there any step-by-step instruction how it can be installed?

Comment by Volker Fröhlich [ 2020 Apr 01 ]

Given its age I predict it not to apply cleanly. However, I think that the concept is still sound and just try to do the few things that I did in the patch wherever they belong now.

Comment by Dale [ 2022 Oct 04 ]

This appears to work on 6.0.2 and I'm not sure about other versions.

Add read-write to the host groups you desire via User Groups and then using User Roles you can restrict configuration of Hosts.

I'm not sure if I'm missing anything, but my users can now add maintenance and appear that they cannot configure anything still.

 





[ZBXNEXT-1363] Web interface navigation improvement Created: 2012 Aug 14  Updated: 2017 Dec 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Sergey Syreskin Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: frontend, gui, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File 1.Overview.Monitoring.png     PNG File 2.Graphs.Monitoring.png     PNG File 3.Map.Monitoring.png    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-2481 left side menue Closed

 Description   

I would like to propose an improvement to the way how a user navigates Zabbix web interface by
adding some new views and controls to Zabbix frontend.

1. The main menu, situated on the top of the page should keep its current place.
2. A multi-tab view should replace the current main menu sub-items and the current main part of the page.
3. A navigation tree, containing hosts and host groups, should be added to the left side of the page.

With this improvement any type of monitoring data will be accessible with at most 3 clicks of a mouse button.
Please also see the attached pictures.

This interface improvement was inspired by Adrem NetCrunch
http://www.adremsoft.com/netcrunch/screens/ - a commercial monitoring software, which I had an occasion
to use. Navigating through its user interface seems very intuitive for me and other users, who tried both
Zabbix and NetCrunch.



 Comments   
Comment by Sergey Syreskin [ 2012 Aug 22 ]

A related feature request for displaying all graphs of a host on a single page: ZBXNEXT-75.

Comment by Alexei Vladishev [ 2012 Oct 10 ]

I think that the proposed navigation would make the front-end much easier for users to navigate.

Comment by Stefan [ 2014 Sep 29 ]

2years ago, and nothing happens?
i think thats are a good idea, because the GUI/GUI-Navigation is not state of the art

Comment by Stefan [ 2017 Dec 22 ]

any news?





[ZBXNEXT-1290] Support of proxy in GUI Scripts Created: 2012 Jun 25  Updated: 2014 Jan 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.13, 2.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Laurent SEROR Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: globalscripts, gui, proxy
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Web Frontend (GUI)


Issue Links:
Duplicate
is duplicated by ZBX-600 Can not ping from map Closed

 Description   

GUI Scripts do not use the proxy when the host is monitored by the proxy. Usually, when there is a proxy, the host is not reachable from them. Ping script by example will fail even if the host is up. We need to be able to use the script (by example ping) from the proxy.



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Jul 09 ]

ZBXNEXT-1276 is a bit related





[ZBXNEXT-1235] selectively ignore trigger dependencies Created: 2012 May 25  Updated: 2014 Aug 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.12
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Ghozlane TOUMI Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: triggerdependencies, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Imagine having a complex network scenario, with trigger dependencies defined.
You have a map of this network, and have defined link triggers

when a system is down, you only get one red link , you may get other triggers depending on triger order,
bu the rest of the dependent trigger and links will stay "green", wich may be misleading, and dont give a sens of 'importance'

I think the triggers should be shown on link triggers with no regards to dependencies, or at least give a per map choice on that.

seems to be the oposite of ZBX-2923 ...



 Comments   
Comment by richlv [ 2012 May 25 ]

but we do not know that other links are down, we know that one link is down. from the last information we got, the other links were up. should we really mark unknown things as down ?

Comment by Ghozlane TOUMI [ 2012 May 25 ]

From my pov, we know that the links are down :
I'm using triggers on icmping, and icmping keeps returning data (as can be seen on the simple graphs).

now the question is : can zabbix show the triggers even if they depend on another problem trigger...

I don't know at what level the dependencies are managed, I think i understand dependent triggers are somehow set in an "invisible" state when the depending trigger value is in "problem" state, it would be simpler for this request if triggers where allways evaluated, in which case dependencies could be a filter on those triggers
=> for actions, escalation, dashboard => use the dependency filter
=> for maps and events => no dependency filter

the rationale behind this being that you ban see what's really happening on you system in the maps and in the events , while keeping only the relevant problem on the dashboard/triggers and alerting .

and decorrelation between trigger evaluation and dependency could help with escalation problems such as ZBX-4344 and ZBX-4835

Comment by richlv [ 2012 May 25 ]

well, it sounds like you want to selectively ignore dependencies, which i can't see another way to have as a new feature to, well, ignore them. it should be figured out which elements/pages should have the option and on what level (for example, is it per map or per map element/link ?). as such, it is definitely a feature request

Comment by Jacek [ 2014 Aug 08 ]

Maybe it would be easier to accompish that if you could change a behaviour of dependant triggers - instead of not changing (ignoring) its status in case of problem on more important node, you could change its status to 'unknown'. That wouldn't generate any notifications, would keep dashboard clean and maps would be even more detailed (pointing exactly where is the main problem and what is influenced by it).

For some reason I cannot add screenshots, so below there is a link to forum thread where I posted an example to that. Unfortunately I don't know how to solve this.
https://www.zabbix.com/forum/showthread.php?t=41377





[ZBXNEXT-956] inventory referencing macros in trigger descriptions Created: 2011 Sep 10  Updated: 2013 Feb 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.9.6 (beta)
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: inventory, macros, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

trunk revision


Attachments: Text File zbxnext-956.patch    

 Description   

I think need add support macros from host profile for trigger descriptions.
Example, "Host unreachable in

{PROFILE.LOCATION1}

"
or,
in actions can using

{PROFILE.CONTACT}

for quickly contact with responsible person



 Comments   
Comment by Alexey Pustovalov [ 2013 Feb 13 ]

Small patch to implement this feature.





[ZBXNEXT-822] Separation table items, remove frequently changed fields Created: 2011 Jun 19  Updated: 2013 Dec 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Installation (I), Proxy (P), Server (S)
Affects Version/s: 1.9.4 (alpha)
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: items, patch, performance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

PostgreSQL


Attachments: File zbx_part_items.diff     File zbx_part_server.diff    
Issue Links:
Duplicate

 Description   

Due to the fact that many items in the table fields that change frequently in the versioned database accumulates a lot of garbage + often blocked the necessary lines. The patch fixes this problem by changing some fields (such as lastvalue) made in a separate table.

At the moment, the changes are tested on the table items 7GB in size and the number of items about 800k.

You may need to refactoring the patch.



 Comments   
Comment by Alexey Pustovalov [ 2011 Jun 19 ]

I would like to know the opinion of the developers on this issue

Comment by Gurnish Anand [ 2013 Feb 22 ]

can this patch be applied on 2.0.2?
we still see deadlocks on items table.

6295:20130221:234529.230 [Z3005] query failed: [1213] Deadlock found when trying to get lock; try restarting transaction [update i
tems set name='Fax failed train for "4"',key_='rcProviderFaxFailedTrain["4"]',type=4,value_type=3,data_type=0,delay=120,delay_flex='
',history=30,trends=180,trapper_hosts='',units='',multiplier=0,delta=0,formula='1',logtimefmt='',valuemapid=null,params='',ipmi_sens
or='',snmp_community='public',snmp_oid='SNMPv2-SMI::enterprises.31232.1001.30.1.7.1.52',port='1161',snmpv3_securityname='',snmpv3_se
curitylevel=0,snmpv3_authpassphrase='',snmpv3_privpassphrase='',authtype=0,username='',password='',publickey='',privatekey='',descri
ption='',interfaceid=100100000034552,flags=4 where itemid=100100000596516;

Comment by Oleksii Zagorskyi [ 2013 Mar 27 ]

ZBXNEXT-822 ZBXNEXT-1689 asks about something related.

Comment by Alexei Vladishev [ 2013 Apr 01 ]

I think you mean ZBXNEXT-1689

zalex_ua ohh, indeed, it was a typo . thanks, fixed !

Comment by richlv [ 2013 Apr 13 ]

i believe ZBXNEXT-1689 should solve this - can we close this issue ?
dotneft I think we have to wait when ZBXNEXT-1689 will be implemented and if it'll help we'll be able to close the issue.





[ZBXNEXT-711] possibility to add textual item history to favorites Created: 2011 Mar 23  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Aleksandrs Saveljevs Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 1
Labels: trivial, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Only graphs for items with numeric data can be added to favorites. For those of us monitoring log files, it would be useful to add textual item history to favorites, too.






[ZBXNEXT-668] Configuration -> Template -> Items needs a select field Created: 2011 Feb 22  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: matthias zeilinger Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File select_field_itemconfig.JPG    

 Description   

it would be nice to have a select field in Configuration -> Template -> Items to select a template.
so that you can switch between the item-configuration of template much quicker






[ZBXNEXT-541] Option to hide a lot of host groups on dashboard Created: 2010 Oct 22  Updated: 2019 Jun 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Niumar Andre Klein Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 1
Labels: dashboard, flexibility
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OpenSuse 11.1 - Zabbix Version 1.8.3
500 hosts
258.25 new values per second


Issue Links:
Duplicate
is duplicated by ZBX-7691 Dashboard filtering with exclude rule... Closed

 Description   

I need to create a lot of host groups to allow user access for specific hosts. These host groups are showed on the dashboard, resulting in a lot of repeated information.

I think that there could be an option on the host group configuration screen that allow the admin user define if the host group should appear or not on dashboard.

I know there are filter options on dashboard, but they need to be configured for a many users.

Regards.



 Comments   
Comment by richlv [ 2013 Jan 10 ]

ZBXNEXT-1399 will provide group exclusion feature, but only per user

Comment by richlv [ 2015 Feb 04 ]

ZBX-7691 might actually be about the same need





[ZBXNEXT-432] globally switchable concept "acknowledged trigger" Created: 2010 Jun 29  Updated: 2012 Oct 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: acknowledges
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

there's currently no global notion on what an acknowledged trigger means - in some locations it's all problem events, in some it's last problem event etc.

there should be a global switch to control what an acknowledged trigger is, and it should be obeyed by all locations (dashboard, macros in frontend & server etc)

maybe depends on bringing acknowledge state out on the trigger level ?






log time format improvements (ZBXNEXT-490)

[ZBXNEXT-488] multiple log time format support Created: 2010 Aug 25  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request (Sub-task) Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: logtimeformat
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

it would be nice if it was possible to specify and save multiple log time formats (name and format), similar how it can be done with value mappings.
this would allow to define common formats, like apache, squid, zabbix etc, then user could choose the one they need from a friendly and cute dropdown.






[ZBXNEXT-442] 2 and more links between two hosts on maps Created: 2010 Jul 05  Updated: 2022 Mar 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Konstantin Agafontsev Assignee: Unassigned
Resolution: Unresolved Votes: 38
Labels: connectors, maps, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File maps.inc.patch     PNG File two links between two hosts.png    
Issue Links:
Duplicate
is duplicated by ZBX-16357 after i add two trigger done but sti... Closed

 Description   

Hello.
At creation of 2 and more links between two hosts, links are superimposed against each other. It would be desirable that there was a possibility of mapping of 2 and more links between two hosts on an arc or a different way (whenever possible: a quick view items which is anchored to a link).



 Comments   
Comment by richlv [ 2011 Jan 26 ]

possibly also an offset or similar

keywords : map link connector offset

Comment by richlv [ 2011 Jan 26 ]

similar request about labels : ZBXNEXT-514

Comment by Andrey Zhozhin [ 2012 Apr 28 ]

Here is my patch for multiple links between two hosts, distance is hardcoded in function drawMapConnectors(&$im, &$map, &$map_info)

Comment by Andrey Zhozhin [ 2012 Apr 28 ]

Example of map with patch

Comment by Fahad Saleem [ 2012 Jun 20 ]

Will this patch work for Zabbix version 2 as well?

Comment by Germán Rivas [ 2018 Aug 09 ]

This request is very necessary. Currently on my map I have a Cisco router that connects to two HP switches and only lets me show the information of only one link, but if I want to add a second link to be shown on the map, it will not let me do it.

Comment by Anh Quoc Bui [ 2019 Jul 02 ]

7 years and do you have any update?

Comment by Aldin Osmanagić [ 2019 Nov 26 ]

It is possible to draw multiple links between two hosts on the map with a workaround. You need to upload a transparent image that will be used to route links via a different path. Recently I have migrated maps from Weathermap to Zabbix and wrote a tutorial on how to do that:

https://bestmonitoringtools.com/create-zabbix-maps-with-examples/

You can use that workaround until this feature is implemented.

Regards

Comment by Rodrigo P [ 2022 Mar 18 ]

Zabbix Team within next releases could focus on improvements for map features.





[ZBXNEXT-418] customisable "overview" widget Created: 2010 Jun 19  Updated: 2024 Jan 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 7
Labels: overview, screens, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task
depends on ZBXNEXT-4036 Introduce Table(Overview) view widget Open

 Description   

it would be nice to have a customisable screen/dashboard widget in the style of overview. customisability :

adding individual items to a table;
deciding what to show upon mouseover for each item (could be several latest values, could be graph);
ability to show multiple items in single table cell (for example, show loads for all cpus individually, but use only single table cell for that to conserve the space).

inspiration : http://pawlowicz.name/MyServers



 Comments   
Comment by Bet Row [ 2024 Jan 18 ]

Undfortunately the widget is very basic only. It needs to be advanced.:

  • We need filtering as-you-type.
  • Also there should be an option to change filled color based on text and an option not only to colorize one filed but the complete row.
  • Also please remove the unnecessary limits from this widget. There is no reason to limit its size and number of hosts to 100.




[ZBXNEXT-414] event timeline view Created: 2010 Jun 17  Updated: 2016 Aug 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 16
Labels: dashboard, events, usability, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-1905 event count in the graph Closed
is duplicated by ZBXNEXT-1498 Add triggers to graphs Closed

 Description   

event timeline would be a great feature.
for a great inspiration : http://users.suse.com/~coolo/opensuse_13.1/

zabbix event timeline could show event duration as lines and their endpoints as events (and maybe midpoints for unknown flapping ?). clicking on endpoints would provide a popup with major event details and access to other screens (full event details, graphs/data for related items etc).
first popup would also provide acknowledge details & way to acknowledge event from the same screen.

acknowledged events would be visually different from non-acknowledged events (check mark ?).

clicking on the line would provide a popup with a list of all involved events.

it should be possible to select scale for the timeline.
timeline would load event data on demand as user moves it. loading probably would be in blocks anticipating timeline movement. periods for which data is not loaded yet should be clearly indicated.

timeline does not invalidate event list view - it should be possible to use on the same screen timeline and time period slider, as well as see current event list. it should be possible to hide any of these three elements individually.

might also be coupled with graphs, showing graph below the timeline.

goes together with improved event filter ZBXNEXT-410



 Comments   
Comment by richlv [ 2010 Jun 17 ]

seems to be using http://www.simile-widgets.org/timeline/ - bsd licensed

...and it has dark & white themes already to match zabbix ones...

(to see events, drag that timeline back to 2013)

Comment by João Figueiredo [ 2010 Nov 17 ]

This would be quite helpful to identify problem trends.
Is this achievable in PHP?

Comment by Cristian [ 2013 Jun 02 ]

Some related feature request: https://support.zabbix.com/browse/ZBXNEXT-117





[ZBXNEXT-443] History view with lots of events and several items needs to be improved Created: 2010 Jun 28  Updated: 2016 Sep 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: eventlog, log, logmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

1.8.3


Issue Links:
Duplicate
is duplicated by ZBX-6384 "all" does not show all values for a ... Open

 Description   

this request as a continuation of the ZBX-2201

After I worked intensively with the monitoring of Windows events log, I decided to write a few serious request. This is the first of them

In most cases it is meant that the selected multiple items for display, but not only.
Also it is meant to display the history of windows events logs.

It would be useful at the bottom of the table to add statistics on how many lines from each items was displayed.
Also, if limitations defined in the "Search / Filter elements limit" is reached, then need to display a warning (at the bottom of the table) about the limits for each items, because without it is difficult to understand displayed all events or not from range of time and why displayed not all.

Also another problem: Set a limit of 1000.
Add in the history two items, which have more than 1000 events each in the selected time period.
At what first items has 1000 events in the early period, and the second - later towards the end.
You'll see that actually displays the event on only first item, because it triggered a limit of 1000 in the SQL-request and were returned only the first 1000 events (with a smaller 'id' in the table 'history_log'). This is bad - because quite understand why the events are not visible from the second and other items.

I propose to consider the proposal - to make individual requests for each item selected in the list. And set limit 1000 for each items individualy and not for all together.
It should be added the first column with a simple line number - this will facilitate the viewing of a large list and positioning.

Also very useful would be to add the ability to sort by user not only on the field "id", as well as the "clock" and "timestamp".
This needed because that under the influence of various factors (I will not dwell on them here) the events may come to the server, not in the same order as they created on Host, when viewing history will not show up in the real sequence.

And sometimes really, really need to see how events actually occur on the Host in real order with several journals simultaneously. Possibility of manualy user sorting by "clock" and "timestamp" should help in this.
Also, maybe sorting by default on the field "timestamp" more correct than on the field "id"? Please think about it.
Maybe position of column "Item" is best with ?3? Why it is between two columns of time? I do not see the logic in this.

Sorry for my english



 Comments   
Comment by richlv [ 2010 Jul 07 ]

these issues will be very hard to work on, because too many things are piled in them. numbered summaries would be helpful... in this case :

1. in log monitoring, showing stats for each added log would be useful (how many lines from each);
2. if search/filter limit is reached, a warning should be displayed;
3. if multiple items are added, limit is applied for them all together. it is suggested here to apply limit to each individual item.
4. ability to sort by clock & timestamp is requested
5. default sorting by timestamp is suggested
6. it is suggested to position column "item" as 3rd

Comment by richlv [ 2010 Jul 07 ]

...and my take on some of them

3. regarding this suggestion, it could cause problems - this limit is for performance reasons, and making it per item could result in lots and lots of data to be displayed. additionally, it might increase sql query count (just a guess)
5. might be undesirable, as this is only populated for windows eventlog

Comment by richlv [ 2010 Jul 07 ]

...and this is really a feature request, not a bug

Comment by Oleksii Zagorskyi [ 2011 Feb 13 ]

answers to Richlv:
2. very similar with a ZBX-3296
3. about performance reasons - i know about performance, but if i increase limit to the 10 000 (instead of default 1000), then i do not feel any discomfort.
Or you can to divide total limit by count of viewed items. And limit every item request to this new decreased limit.

Comment by Oleksii Zagorskyi [ 2015 Sep 16 ]

See also ZBX-9548





[ZBXNEXT-403] exposing curl options for web monitoring Created: 2010 Jun 07  Updated: 2021 Aug 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 31
Labels: webmonitoring
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Sub-Tasks:
Key
Summary
Type
Status
Assignee
ZBXNEXT-22 Setting cookies just like POST parame... Change Request (Sub-task) Open  
ZBXNEXT-76 add checkbox in web monitoring to dow... Change Request (Sub-task) Closed  
ZBXNEXT-173 Make the Curl "Follow redirects" opti... Change Request (Sub-task) Closed  
ZBXNEXT-282 Setting http headers Change Request (Sub-task) Closed  
ZBXNEXT-373 'curl -NTLM' option in "Web Monitor" ... Change Request (Sub-task) Closed  
ZBXNEXT-763 [PATCH] Web monitoring: support for H... Change Request (Sub-task) Open  
ZBXNEXT-1064 ability to set referrer in web monito... Change Request (Sub-task) Closed  
ZBXNEXT-1777 Allow Posting of empty String Change Request (Sub-task) Open  
ZBXNEXT-1778 Digest Authentication for Web Monitoring Change Request (Sub-task) Open  

 Description   

for more flexibility various curl options could be exposed to be configured in zabbix web monitoring either on scenario, or step level. this will be the umbrella issue for such features.

to reduce the need of individually adding every option as a field in the frontend, ability to specify options in general, as might appear in ZBXNEXT-1816, would be great



 Comments   
Comment by Pimmetje [ 2021 Aug 14 ]

Please add ZBXNEXT-6344 as subtask





[ZBXNEXT-958] LDAP Anonymous binds not supported Created: 2010 Jun 13  Updated: 2017 Feb 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: nelsonab Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: authentication, ldap
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We recently migrated our server to another machine and distro. The previous combo was OpenSuSE 11.1 w Zabbix 1.8.2, the new system is CentOS 5.5 w Zabbix 1.8.2. In the process LDAP binds broke. I am receiving error messages saying:
"LDAP: can not bind anonymously"
Yet previously everything was working without issue, nothing changes in the underlying configuration as the MySQL DB was imported form the old system.

I will open other bugs with regards to the other parts that are now broken.

Needless to say I cannot log in to change the LDAP configuration because I cannot bind to ldap to check credentials... This is a Chicken and Egg problem. (Which came first, the Chicken or the Egg?)

It would be nice to have the ability for anonymous binds to LDAP.



 Comments   
Comment by richlv [ 2010 Jul 08 ]

a similar problem with dokuwiki reported at http://www.freelists.org/post/dokuwiki/LDAP-can-not-bind-anonymously,1

in that case solution was reported to be "entering 'ldap://ldaphost.domain.tld:389' as LDAP-Hostname"

Comment by Artem Suharev (Inactive) [ 2010 Jul 22 ]

Actually it tries to bind anonymously but it fails. Try to connect to ldap from that server by some other tool.

Comment by David Peacock [ 2010 Nov 12 ]

My IT department think it's absurd to need a particular user as a bind DN with a password to be able to use LDAP on Zabbix. I'm inclined to agree. Is this issue getting any attention?

Comment by Alexei Vladishev [ 2012 Oct 22 ]

Is this issue about making user name/password optional for LDAP access?





[ZBXNEXT-407] Fallback login option for LDAP Created: 2010 Jun 13  Updated: 2024 Feb 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: nelsonab Assignee: Unassigned
Resolution: Unresolved Votes: 48
Labels: authentication, fallback, ldap, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3053 Multiple authentication backends Reopened
Sub-task
part of ZBXNEXT-4573 Single Sign-on using webserver Closed

 Description   

Presently there is no way to log into a Zabbix system configured to use LDAP should the LDAP connection fail. Other programs setup a "fallback" login which is used to log into the system with the same credentials as the administrator should LDAP fail for whatever reason.

Needless to say, LDAP is failing to work with my Zabbix instance and since I'm configured to use LDAP I cannot log in to change the LDAP settings. The only way around this is to directly manipulate the confg db table.



 Comments   
Comment by nelsonab [ 2010 Jun 13 ]

related to ZBXNEXT-958

Comment by richlv [ 2010 Jul 08 ]

wouldn't this be somewhat like setting login for zabbix administrators group to be internal ?

Comment by Marc Schoechlin [ 2011 Jun 20 ]

We use basic-auth managed by the webserver. We configure apache to do ldap auth and auth via "htpasswd" (Apache: Satisfy any).

Zabbix should be capable use more authentication-sources in parallel.
(i.e also or more LDAP servers)

Comment by Murat Koç [ 2013 May 01 ]

Caching credentials mechanism can be implemented in zabbix ldap authentication like pam-ccreds or winbind does.

owncloud has a nice ldap authentication mechanism (which also coded in php) with backup ldap server and caching credentials options.

http://doc.owncloud.org/server/5.0/admin_manual/configuration/auth_ldap.html

Comment by Yannick Moussette [ 2014 Jul 03 ]

Is this feature request still valid?

You can set up a user group with "frontend access" set to internal, and this will allow you to use a local, zabbix account to log in, bypassing the LDAP authentication for any users part of that group.

G.

Comment by richlv [ 2014 Jul 03 ]

this is slightly different - internal always uses zabbix db, this asks for "try ldap first, if that fails, fallback to internal"

Comment by Yannick Moussette [ 2014 Jul 03 ]

Ahh, I see... Thanks for the clarification!

Y.

Comment by Marc Schoechlin [ 2018 May 04 ]

Probably the following additional "Default authentication" named "LDAP+Fallback" might be easy but very useful:

  • alway use ldap auth it one of the ldap servers are available (provide a possibility to specify multiple servers)
  • after a successful auth with ldap always store the password hashed in the zabbix database with the time of the login
  • specify a stale_password_time in the php web configuration
  • if ldap login runs in a timeout, check the password against the backup password in the database and grant access if the password does not exceed the stale_password_time
Comment by Vitaly Zhuravlev [ 2018 Aug 01 ]

This should be resolved when ZBXNEXT-4573  is ready. A use case where LDAP is activated for  most of the user groups but some groups still use Internal auth will be supported.

Comment by Björn Michael [ 2023 May 11 ]

ZBXNEXT-4573 is ready. When can we expect this issue being implemented?

Comment by Alex Kalimulin [ 2024 Feb 29 ]

Is this request still a thing? Why not just set up a fallback internal user instead of falling back an LDAP one.





[ZBXNEXT-3804] Support wildcards in global search Created: 2017 Apr 19  Updated: 2017 Apr 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.8, 3.2.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ingus Vilnis Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: globalsearch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Add support of wildcards when searching for hosts in global search.

Use case. Customer has naming conventions for hosts names which includes the location and type of devices and some other info in between.
E.g. riga-01-router riga-02-router london-01-router etc.

Now it is impossible in the global search to list all routers in Riga.
Search: riga*router

riga-01-router
riga-02-router


 Comments   
Comment by tuor [ 2017 Apr 19 ]

We use groups for locations and server type. So for example I can filter by group "london" and name "router". But this is not the most beautiful Solution.

Comment by Marc [ 2017 Apr 19 ]

How about supporting operators instead?
Search: router & ( riga | london )

riga-01-router
riga-02-router
london-01-router




[ZBXNEXT-3473] Troubleshooting problem events Created: 2016 Oct 03  Updated: 2018 Sep 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.4.0alpha1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Sandis Neilands (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: correlation, macrofunction, tags, trigger, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It is impossible to troubleshoot problem generation and closing issues without resorting to developer methods:

  • why was the problem created:
    • why didn't global correlation rule apply and close the problem;
    • why didn't recovery expression close the problem (it is not evaluated if problem expression fires - e.g. there is an overlap between problem and recovery expressions so new problem is created - see (8) in ZBXNEXT-3274);
    • ...
  • why wasn't the problem closed:
    • error in regular expression (e.g. regex compiles but doesn't match the intended text);
    • error in macro, user macro or LLD macro (wasn't expanded or not supported in this context, quoting problems, etc.);
    • why didn't trigger level correlation close the problem;
    • why didn't the global correlation kick in;
    • error in formula;
    • ...

When encountering these errors with a trapper item that I had created for testing I had to resort to debug level logs, GDB, looking into SQL dirrectly to find out the root causes of the issues above. This is not practical in production and is unfriendly to the users.

Hence it is proposed to trace decisions for each event as it passes through Zabbix and show the trace in frontend accordingly.



 Comments   
Comment by Oleg Ivanivskyi [ 2018 Sep 04 ]
  • why didn't global correlation rule apply and close the problem;

How about to add a testing form for global correlation rules (aka triggers )? It should decrease possible misconfigurations.





[ZBXNEXT-3465] Add Trigger Description to Problems View Created: 2016 Sep 28  Updated: 2016 Sep 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.2.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marcus Griesing Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: frontend, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 16.04 - Zabbix 3.2.0



 Description   

Hello everybody,

we have an urgent requirement to display the Trigger Description as column in the "Problems" view. The background for this is that our NOC staff must use the description necessarily as a template for creating incidents. Currently the Trigger Description appears only in the Triggers view with the options "show" and "add". The Zabbix Version 3.2 introduced the view called Problems. This view should serve as the primary view for managing problems. It is mandatory in this view to access the Trigger Description.



 Comments   
Comment by Aleksandrs Saveljevs [ 2016 Sep 28 ]

Since this is urgent, you might wish to contact Zabbix LLC regarding http://www.zabbix.com/development_services.php .





[ZBXNEXT-3256] persian calendar Created: 2016 Apr 23  Updated: 2016 Apr 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: elham jahani Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

hi

our Linux team install and use zabbix for OS, hardware and business monitoring
now i want to add persian calendar in zabbix graph and screens and ...
but i can not
can you help me ?



 Comments   
Comment by richlv [ 2016 Apr 23 ]

looks like a feature request - please move it to the ZBXNEXT project

Comment by elham jahani [ 2016 Apr 23 ]

can you give me a link (URL) ?

Comment by richlv [ 2016 Apr 23 ]

you should be able to see a button at the top that allows to move this issue to the "ZBXNEXT" project - it might also be available by clicking the "More" button.

note that for community or commercial support you should still consult http://zabbix.org/wiki/Getting_help

Comment by Aleksandrs Saveljevs [ 2016 Apr 25 ]

I have moved the issue to the ZBXNEXT project.





[ZBXNEXT-892] Triggers should be filterable by Unknown status Created: 2011 Aug 17  Updated: 2016 Mar 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.6
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Robert Hau Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: filters, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zabbix-2.2.0-ZBXNEXT-892-Filter-for-unknown-state-in-Monitoring-Triggers.patch    
Issue Links:
Duplicate
duplicates ZBX-5278 Change text "All" too "All (monitored... Closed

 Description   

It currently is impossible to sort for unknown triggers

We have a few branches with network disconnects often and items go unknown. An ops guy goes to click on the map and they see 45 pages of triggers. that are ok or problem. In order to find the unknown you must go through most of the pages to find it.

We need to have a filter for Unknown/Problem/Any.

I found a short term workaround in the tr_status.php.

$table->setHeader(array(
$whow_hide_all,
$config['event_ack_enable'] ? $header_cb : null,
make_sorting_header(S_SEVERITY, 'priority'),
make_sorting_header(S_STATUS,'status'), <----------------Added this line.
make_sorting_header(S_LAST_CHANGE, 'lastchange'),
S_AGE,
$show_event_col ? S_DURATION : NULL,
$config['event_ack_enable'] ? S_ACKNOWLEDGED : NULL,
is_show_all_nodes() ? S_NODE : null,
S_HOST,
make_sorting_header(S_NAME, 'description'),
S_COMMENTS
));

Now at least i can sort on the status column and get the unknown on either the first page or last.



 Comments   
Comment by Alexey Fukalov [ 2012 Jul 25 ]

For 2.0.x Monitoring->Triggers planned changes:
Triggers with "Not supported" items should be shown. Currently not shown.
Filter "Trigger status" should be expanded and contain options to show: all triggers, with OK value or with PROBLEM value.
New filter option should be added to filter for triggers which last event status is unknown.

Comment by Volker Fröhlich [ 2013 Dec 09 ]

This patch replaces the string "Triggers status" with "Trigger status". The value of the respective form variable is stored in the profile. The API request is appended a filter element for state = 1.

Comment by Volker Fröhlich [ 2016 Mar 23 ]

What's the status here?





[ZBXNEXT-946] add a way to browse configuration changes from templates Created: 2011 Sep 05  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ghozlane TOUMI Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: templates, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Right now, with a living zabbix installation, it can be hard to know exactly what's beeing tested on a server.
the fact that some configuration information can be changed from templates is a very powerful way to customise an installation, but it makes auditing the configuration specificaly hard, as there is no way of findig default data from non default ...

I would suggest :

  • adding another flag for items/triggers giving us the possibility of filtering in order to show the changed templated items /triggers graphs (of course filtering has to be implemented for triggers...). maybe the new filtering could be a 'changed template' added to the 'templated/non templated' list ?
  • adding at the list and at the edit level for items/triggers/graphs a visual clue telling us that the value has been changed from the template (a '*' or different color...)





[ZBXNEXT-597] Regexps should have a description field Created: 2011 Jan 01  Updated: 2015 May 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: globalregexps, regexps, trivial, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Similarly to triggers that have comments and to item (planed it ZBXNEXT-511) and maintenances that have descriptions, Regexps should have descriptions too.

Why?
Name of regular expression is used elsewhere, so it is best to do a short one. It is not always possible in a short name to put a precise meaning.
And when the regular expressions is a lot, then you can get lost that is used for what purpose. In this situation, the description should greatly help.

This description can be displayed when view a list of all expression - there is enough free space.

It would also be useful when deleting the expression to check into how many items and triggers it is used. For example, as is done recently to value mapping. Is at your decision.



 Comments   
Comment by richlv [ 2011 Jan 02 ]

the idea about regexps having descriptions is a good one.
could you please file the request about checking where regexp is used as a new issue ? thanks

Comment by Oleksii Zagorskyi [ 2011 Jan 02 ]

Richlv, ok, idea about "checking where regexp is used" are registered as separate ZBXNEXT-598

Comment by Oleksii Zagorskyi [ 2014 Mar 19 ]

One more point - if add the description field, then I'd suggest in frontend rename "Name" to for example "Alias".

Because it's not just name which can be freely changed any time. It's a resource which used as reference in other places.
So the "Alias" term should indicate that this field should be changed carefully.

For example we use this term ("Alias") in user's profile.

Comment by richlv [ 2014 Mar 19 ]

nonono. the "alias" in user properties must be renamed to "user name", it is really weird naming there.

and for regexps we should not change name to alias either - long term we should have some proper validation, thus changing global regexp name would not be a breaking operation (maybe when all api is in server...)

Comment by richlv [ 2015 May 22 ]

description for :





[ZBXNEXT-741] Make graph color dependent on item value Created: 2011 Apr 12  Updated: 2021 Apr 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Raymond Kuiper Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: graphs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In graph configuration it should be possible to define an item value threshold with an alternative color on a line.
When the item value goes beyond the threshold the graph line should the change color until it is on the other side of the threshold again.

This will allow better analyses of the item values.



 Comments   
Comment by Alexei Vladishev [ 2012 Oct 21 ]

I believe graph color should depend on actual problems linked to the item.

Comment by metal [ 2019 Dec 09 ]

I also have items with triggers, but the graph doesn't change its color according to the threshold values in the trigger.

Comment by Adam French [ 2020 May 01 ]

I also would like to see this feature as I monitor CPU temperatures for some of our kit, and it would be nice to have the line go red when it exceeds a set value, and I believe something to how the overrides work, whereby you can change an aspect of the graph but based on a condition.

For example: Base Colour = xyz, when item value is greater than x etc

Adding this as an extra tab to the graph options (Probably after the override tab) would be best, rather than forcing it on for everyone, since some people may not want this feature, but having it as an option and being able to configure a colour for a given condition would probably cater for most people who want this.

Comment by Brian van Baekel [ 2021 Apr 29 ]

I just stumbled across this (oldie) and would love to see this as well within zabbix!

Would that be possible?





[ZBXNEXT-607] Import of MIBs Created: 2011 Jan 04  Updated: 2019 Sep 12

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Michael Schwartzkopff Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: mib, snmp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All


Issue Links:
Duplicate

 Description   

Hi,

it would be a great feature if the Zabbix GUI could provide the feature to upload enterprise MIBs and make the enterprise OIDs useable in Zabbix, not only by numbers but also in human readable form.

This could the done via a separate administration entry in the GUI uploading the MIBs in question. Zabbix should check the syntax, store the data in ~/.snmp/mibs/

in the snmp.conf of the Zabbix process the GUI could add:
mibdirs +.snmp/mibs
mibs +ALL

In a more sophisticated step you could add a complete MIB management to Zabbix.

Michael Schwartzkopff.



 Comments   
Comment by Marc [ 2014 May 23 ]

What exactly is meant by [...]make the enterprise OIDs useable [...]?
The Zabbix-Server/-Proxy considers MIB files already, what allows the textual form of OIDs to be used in Items.

Without considerable effort in development, I believe an upload option for MIB files in Zabbix frontend might only make sense, when frontend and server run on the same host and no proxy should make use of uploaded mibs.





[ZBXNEXT-622] support for deltas at resolutions other than "per second" Created: 2011 Jan 15  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Will Lowe Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: items
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We have a lot of items which we like to trend but don't show up very well if set to "delta (speed per second)". For example, after application launches we'll often see an error rate of several per MINUTE, which averages out to less than 1 per second and therefor doesn't graph very well.

I wish we also had:

  • delta (speed per minute)
  • delta (speed per 5minutes)

I think at those resolutions we'd be able to monitor and trigger on items for which "speed per second" isn't the right granularity.



 Comments   
Comment by Aleksandrs Saveljevs [ 2011 Jan 17 ]

While there is no option for "speed per minute" setting the item multiplier to 60 should probably solve your problem.

Comment by Will Lowe [ 2011 Jan 17 ]

Thanks. We've actually tried this, but it seems there's a rounding error somewhere. It looks like Zabbix calculates this as:

value_delta = current_value - last_value
time_delta = current_value_timestamp - last_value_timestamp
speed_per_second = int( value_delta / time_delta ) // values > 1 become 0
plotted_value = speed_per_second * multiplier

... so in many cases it comes out as 0.

Comment by Aleksandrs Saveljevs [ 2011 Jan 18 ]

You are right, Zabbix calculates the value as you described. We will see how this can be improved, but for now setting the item value type to "Numeric (float)" instead of "Numeric (unsigned)" should make it work.





[ZBXNEXT-585] Value mapped Items meaning not displayed on Network map labels Created: 2010 Dec 16  Updated: 2013 Dec 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Grigory Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: maps, patch, trivial, usability, valuemapping
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

FreeBSD 7.3., Zabbix 1.8.3


Attachments: File items-value-map.patch     File maps-value-map.patch    
Issue Links:
Duplicate
is duplicated by ZBX-5384 Value mapping didnt work on maps Closed

 Description   

Currently there is not value mapped Items meaning displayed on Network map labels.

For example: if exist value mapping for upsBasicOutputStatus such as 2 -> OnLine, then that's Item value is displayed on network map label with

{UPS01:upsBasicOutputStatus.last(0)}

function as '2', not 'OnLine'.

Code for replacing value of user function with they real meaning in Zabbix's frontend (include/maps.inc.php) is not exist.

I would like to get meaning of mapped value on the label.

Actually i made a few changes in code of maps.inc.php, testing code in work sucessfully, and offer they to developers.

In maps.inc.php::expand_map_element_label_by_data() i was change a $label = str_replace(..., DATA, ...) strings to $value = DATA and append at end of foreach($matches[0]...) cycle small piece code

if($db_item['valuemapid']) $value=replace_value_by_map($value, $db_item['valuemapid']);
$label = str_replace($expr, $value, $label);

Now in my Network Map i have explained value of Item.



 Comments   
Comment by Javier Barroso [ 2012 Feb 03 ]

This patch make if sentence work again, before it was ignored (because a ";")

Comment by Javier Barroso [ 2012 Feb 03 ]

This patch is for show value as in mapping value in maps.

Comment by Javier Barroso [ 2012 Feb 03 ]

See updated patch for 1.8.10 version

Comment by Prostrelov [ 2012 Aug 01 ]

This changes didn't affect zabbix v.2.0.0

maps.inc.php didn't contain this strings

$value = $item['lastvalue'];
}

  • if ($item["valuemapid"] > 0 )
  • { - $value = replace_value_by_map($value, $item["valuemapid"]); - }

$label = str_replace($expr, $value, $label);
}

items.inc.php didn't have patch strings too.

Can u please create patch for zabbix 2.0.0





[ZBXNEXT-576] Add to Template Option for Graph Created: 2010 Dec 07  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Robert Hau Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: graphs, templates, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice if you go to latest data and you click to view a graph that you could click "Save to template" and it would give you an option to save it to the group, so it would be available to all of the hosts.

view Processor Load on hostA

Save to Template for group "All hosts"

go to Host B and select Host B.



 Comments   
Comment by Robert Hau [ 2010 Dec 07 ]

it would be also nice to have a button add to existing template graph.

So you could go to host A and click on processor load and click add to existing template, and it would add it to the graph as another datapoint.





[ZBXNEXT-553] Datepicker for IT Services Created: 2010 Nov 08  Updated: 2021 Apr 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Jonathan Kelly Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 15
Labels: itservices, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Allow the user to use a datepicker to select an arbitrary date range to display the IT Services period.

The datepicker would replace the current (as of 1.8.3) period drop-down menu. The Zoom GUI control from the Graphs would do the job quite nicely.

This request is similar to ZBXNEXT-25, but I think it's a much more flexible and sustainable solution.

As I'm sure it's the case in many organizations, I need to provide monthly, quarterly and yearly SLA reports. Right now, unless I stay up until 23:59 of the last day of the month and select "last 30 days" in the period drop-down (and hope it's a 30-day month!) I need to do complex manipulations to get the data.



 Comments   
Comment by John Hayes [ 2013 Nov 23 ]

In addition to this (which would be great), I'd like to have some more predefined ones.

These would include, but not limited to

Last Week
Previous Week
Last Month
Previous Month
This Quarter
Last Quarter
Previous Quarter
Last Year
Previous Year.

Comment by Andris Bjornson [ 2015 Aug 17 ]

Just started using the IT services and I'm loving it! Great feature.

I really wish I had the datepicker / custom range as requested by this issue...without, the flexibility of the feature is significantly limited because I must run the report at specific times





[ZBXNEXT-551] Display a message when action is disabled automatically when we delete something it references Created: 2010 Nov 04  Updated: 2024 Feb 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.2, 1.8.3, 1.8.4, 2.0.0
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Simon Assignee: Unassigned
Resolution: Unresolved Votes: 21
Labels: actions, conditions, consistency, unsquashable, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-7079 Add a warning on a Frontend object de... Closed
is duplicated by ZBXNEXT-1697 Notifications when deleting objects u... Closed
is duplicated by ZBXNEXT-1948 Issue a warning when deleting a trigg... Closed
is duplicated by ZBXNEXT-8982 Host group deleteing causes trigger a... Closed
is duplicated by ZBX-16687 Action is deactivated if hostgroup is... Closed
is duplicated by ZBX-10863 action disable auto at zabbix 3.0.3 Closed
is duplicated by ZBX-22477 No info in Audit log from System user... Closed

 Description   

If we delete a 'hostgroup' which is in an 'action', then the 'action' is disabled automatically. It's not stupid but i wasn't expecting this.
It would be nice to display a little message "action nameofaction is disabled" on the web interface when this happens.

ZBXNEXT-105 lists many more cases



 Comments   
Comment by richlv [ 2013 Dec 17 ]

(1) also templates should be handled the same way

Comment by richlv [ 2013 Dec 17 ]

(2) also hosts should be handled the same way

Comment by richlv [ 2013 Dec 17 ]

(3) also triggers should be handled the same way

Comment by richlv [ 2013 Dec 17 ]

ZBX-7202 deals with a possibility to leave an action w/o any operations

Comment by Pavels Jelisejevs (Inactive) [ 2014 Jan 31 ]

Just displaying a message may not be the best approach, because when deleting stuff in bulk, it may easily get lost in other messages.

Comment by richlv [ 2014 Mar 18 ]

ZBX-7948 asks for this to be documented for now

Comment by richlv [ 2014 Mar 18 ]

as for the message, ideally i'd like to see a separate confirmation page or popup, showing which actions are affected by the current deletion

Comment by Oleksii Zagorskyi [ 2015 Oct 08 ]

it's even worse for actions with custom expressions, see ZBX-9943

Comment by richlv [ 2016 Apr 03 ]

this seems to be more nasty than i thought initially. it might be a good idea to check your actions and see whether any important ones haven't been silently disabled

Comment by richlv [ 2016 Apr 15 ]

there was some interest on IRC in monitoring an important action by ID, and alerting if it suddenly gets disabled. a quick example on how that could be achieved (probably from cron) at https://github.com/whosgonna/Zabbix-Tiny.pm/blob/master/examples/example_check_action_by_id.pl

Comment by Oleksii Zagorskyi [ 2019 Mar 21 ]

Sad thing that it does NOT log to audit log too. (host group deletion, used in a condition).

Interesting that an audit message "Action disabled due to deletion of user." will be actually logged.
It happens if you delete an user/usergroup which was only one used in single operation of action.

UPDATE on 2023-10-26, using version 6.4.5.
Now frontend does not allow to delete such a user or a user group and produces error like:

User "udel" is used in "Report problems to Zabbix administrators del" action.

It happens also if the user/group is not the only recipient in the action, which is weird actually is wrong behavior.

Comment by dimir [ 2019 Sep 27 ]

Showing something in frontend wouldn't help when using API. I suggest not allowing to delete something that is referenced in action condition.

Comment by Oleksii Zagorskyi [ 2023 Oct 26 ]

Just confirming that using version 6.4.5 a host deletion silently disables the action and does not leave any sign in audit log too.

Comment by Michael Wery [ 2024 Feb 01 ]

As stated in ZBXNEXT-8982 it would be nice if :

  1. The deleted condition (host group, host, trigger, etc...) is the last remaining => Message appears indicating that it is still in use and the parent item must be deleted prior.
  2. There are other remaining conditions => Action remains enabled and a message appears indicating that the condition was used in this or that action.
Comment by dimir [ 2024 Feb 01 ]

There is already a reference check in the API:

https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/ui/include/classes/api/services/CHostGroup.php#459

All that needs to be done is instead of disabling an action return an error.

Thanks to gcalenko for checking it.

Comment by dimir [ 2024 Feb 01 ]

Related issue: ZBX-23760





[ZBXNEXT-545] improved date() function Created: 2010 Oct 29  Updated: 2019 Apr 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: triggerfunctions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

trigger (and elsewhere) function date() could be expanded. currently it only returns date in YYYYMMDD format, which does not allow, for example, easily comparing something like date()<14

ideally it would accept format specifiers in the parameters, not unlike 'date' commandline utility



 Comments   
Comment by richlv [ 2012 Aug 09 ]

what would date()<14 do ?
digging in my memory, that would be duplicated by dayofmonth(). have to think a bit what else might be useful

ok, so accepting format specifiers would be the goal

Comment by Jacco Mol [ 2019 Apr 01 ]

Im monitoring monthly payments and have an alert on a minimum of those. Subscriptions can be started on any date and are extended every month. But as February only has 29 (or 28) days, the next month (March) on the 30th and 31th there are very little payments. I would therefore like to not have this alert trigger on the last days of March. Currently there is no Monthofyear trigger function, I would like to suggest either adding that or implementing this very flexible date format function which would allow me to use date('MMDD')<>'0330'.





[ZBXNEXT-529] Improve the view of configuration > screen page Created: 2010 Oct 09  Updated: 2015 May 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Niumar Andre Klein Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: screens, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OpenSuse 11.1 - Zabbix version 1.8.3


Issue Links:
Duplicate
is duplicated by ZBXNEXT-2067 Please add the possibility to create ... Open

 Description   

Enable the creation of a folder structure to allow a simple categorization of screens according to its type on the page setup screens. Example:

Screens:

--- Linux servers
|       |---- Load screens
|       |         | --- Load - Server1
|       |         | --- Load - Server2
|       +---- Network Traffic screens
|
+ - Windows servers
|
|





[ZBXNEXT-535] Add an optional caption to complex screen items Created: 2010 Oct 15  Updated: 2013 Sep 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Sergey Syreskin Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: graphs, screens, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice to have an ability to add a caption to an item on complex screens.
For example, there is an ICMP Ping template attached to a lot of hosts. Hosts belong to groups according to their site or location. There is also a complex screen with ping graphs for a router of each site, lets say 100 graphs on a complex screen in total. Graphs are automatically named by Zabbix as "10.20.1.1: Ping Time" or something like this, we don't fill in "DNS name" field on the host configuration page. This caption doesn't say anything about host location, as it's very difficult to remember network addresses of a 100 of sites. So I request a feature to optionally add a line of arbitrary text above a graph or any other item of a complex screen.



 Comments   
Comment by richlv [ 2011 Feb 28 ]

similar to ZBXNEXT-154





[ZBXNEXT-509] Add and edit host group: adding and removing hosts should be organized differently Created: 2010 Sep 15  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Konstantin Buravcov (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBX-1425 'all' selection not available in grou... Closed

 Description   

configuration -> host groups -> open group
configuration -> host groups -> edit group

In this case, if we move a host from the "hosts in" box to "other hosts" with group selected, it seems as if the host will be added to that group, which is not true. the host is still displayed in that list - until we switch to another group, then back. in such a case also it's pretty hard for the user to figure out where did the host go, unless user knew before to which additional groups host belongs to.






[ZBXNEXT-463] Gauge and Meters available in Maps Created: 2010 Jul 29  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Paul Parcell Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I would like the ability to use a gauge graph or meter in a Map. It would be configurable to display (.last(0), ,avg(300)....etc for applicable item types. Management here pushes the use of dashboards. Dashboard functionality would be fullfilled by a Map that could display gauges, graphs and meters.






[ZBXNEXT-2772] Allow Filtering for "Screens - Host Group Issues" to exclude Acknowledged Trigger Created: 2015 Apr 10  Updated: 2018 Jan 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.8
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marco Hofmann Assignee: Unassigned
Resolution: Unresolved Votes: 17
Labels: acknowledgements, filters, screens
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian Wheezy


Attachments: PNG File Dash1.png     PNG File Screen1.png     PNG File Triggers1.png    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-2852 Ability to filter events based on ack... Closed

 Description   

Hello,
we use "Monitoring -> Screens -> Slide Shows" on different TVs in our office, to make the employees aware of current problems.

In the slide shows we use the predefined type "Host Group Issues" which no option to filter Acknowledged Triggers. (See File Scree1.png)

When I am on my laptop, I use "Dashboard" or "Monitoring -> Triggers".
In both views I'm able to set Trigger filter. (See Attachment Dash1.png & Triggers1.png) I set them to: "Acknowledge status -> With unacknowledged events" and "Minimum trigger severity -> Warning". This hides a lot of unnecessary information and I only see what really needs attention.

What I am searching for, is the same for the screens, so I can reduce the amount of information shown on the TVs. Is this possible?

I already tried to use Type "URL" in screens and linked to "Monitoring - Triggers" but that looks a lot worse than "Host Group Issues"

Thank you!



 Comments   
Comment by Filipe Paternot [ 2015 Apr 14 ]

Perfect description. Voted.

This helps greatly for operations

Comment by Jack Kelly [ 2015 Aug 26 ]

This was opened against on 2.2, how can it be made to be against all 2.2+ versions?

Comment by richlv [ 2015 Aug 26 ]

if an issue is reported against some version, it is supposed to be affecting that version and all later versions, doubly so for feature requests

edit : this has been asked about a few times, so documented it in https://www.zabbix.org/wiki/Docs/bug_reporting_guidelines#Reporting_an_issue

Comment by Sanjay F [ 2015 Dec 17 ]

Is it the same as ZBXNEXT-2699

Comment by Marco Hofmann [ 2015 Dec 17 ]

Yes, its the same. Except that I ask for two things. I ask primarily for the ability to Exclude Acknowledged Triggers from the "Screen - Host group issues". Second I ask for the ability to set the severity for the screens. So yes, that last part is the same.

Comment by Daniel Coelho [ 2016 May 24 ]

This is such an easy to implement feature, yet its impact would be huge for our NOC. Not only could we use the extra space for additional metrics we wouldn't be faced with non critical events.

Comment by Tony den Haan [ 2018 Jan 23 ]

I suppose they could be merged into "Please provide a filter like on the Monitoring->Triggers tab





[ZBXNEXT-2952] "and" don't work in Actions->Discovery for the "Received value" Created: 2014 Jul 17  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Natalia Kagan Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: actions, conditions, networkdiscovery
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 6.4



 Description   

Hi,

doesn't work if I define in CONFIGURATION->Actions->Discovery conditions:

Received value like test1
and
Received value like test2

work only if I define "OR" or using different type,for example "Received value" and "Discovery check"

for example, the output : centos,jboss,qa

so I create action :

Received value like jboss,
and
Received value like qa

the operation : Add to "QA Jboss" host group

Thanks






[ZBXNEXT-2138] Vmware hypervisor low level discovery should add the virtual center server name as macro for assignment to hostgroups Created: 2014 Feb 01  Updated: 2014 Feb 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Proxy (P), Server (S)
Affects Version/s: 2.2.1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Wolfgang Alper Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: hostgroups, lld, usability, vmware
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix server / proxy monitoring multiple Vmware virtual center server



 Description   

When using auto discovery rules to get hypervisor from virtual center servers, one gets macros like datacenters. So the detected hypervisors can be attached to hostgroups based on datacenters.
It would be great though, that theses detected hypervisors can (also) be assigned to hostgroups based on the virtual center server instance that detected them.
Right now, it is only possible to put the hypervisors a.) in groups based on datacenters or b.) in static groups like "All Hypervisors".
The same applies to deteced virtual machines.






[ZBXNEXT-2170] Add support for viewing internal events in the web interface Created: 2014 Feb 20  Updated: 2019 Oct 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Strahinja Kustudic Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: events, internalmonitoring, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently it is possible to create actions which send a notification when an internal event is triggered, but there is no way to view them in the web interface. It would be great if we could view internal events in the Triggers tab as well as the Events tab.



 Comments   
Comment by richlv [ 2014 Feb 27 ]

as per https://www.zabbix.org/wiki/Docs/specs/ZBXNEXT-1575, displaying them during the initial development was "Discussed but will not be included"
as far as i recall, the rationale was that we could just show them, but to show them properly we would have to redesign that page quite a bit, so it was decided not to show them at all...

Comment by Strahinja Kustudic [ 2014 Feb 28 ]

Thanks for the answer, but that was then, things maybe different now? I don't see why the Events tab would need to be changed that much to display internal events, but I'm more interested in being able to display all unsupported items, which from my point of view should probably be displayed in the Triggers tab. It is really great that we can get an email when an item becomes unsupported, but it would be even nice if we could view all unsupported items.

Comment by richlv [ 2014 Mar 16 ]

configuration -> hosts/templates, any item link, expand filter, set state to 'not supported' and clear host field

Comment by Strahinja Kustudic [ 2014 Mar 16 ]

That view is awesome! The only thing it's missing is to be able to filter by maintenance status.

Zabbix could really use a web front-end overhaul. It has so many great features which are hard to find, or never even discovered.

Comment by Marc [ 2014 Nov 02 ]

I'd appreciate to optionally see internal events in a chronological order with proper filter functionality. This helps to see what recently happened without the need to create actions that fire lots of operations just to get this information.

Beside the fact that it sounds a little bit cumbersome to use e.g. MUA filter functions to query recent internal events, the alerter is due to lack of ZBXNEXT-2442 blocked quite quickly.

Comment by Raymond Kuiper [ 2016 Jan 20 ]

Inclusion in "Monitoring -> Events -> Source: Internal" would be awesome

Comment by James Kirsop [ 2019 Oct 10 ]

This forum thread presents a good use case why it would be helpful to have this UI feature added.

Not having an easy way of viewing internal events means that problems with monitoring hosts and triggers on hosts themselves can't easily be identified and cleaned up, leading to other related issues.





[ZBXNEXT-2116] Custom HTML map elements Created: 2014 Jan 18  Updated: 2017 Mar 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Dmitriy Shevchenko Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: html, maplabels
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

web interface


Issue Links:
Duplicate
is duplicated by ZBXNEXT-2467 Network maps add text Closed

 Description   

Please add new type element in map editor - custom (user defined) html code with macros support



 Comments   
Comment by richlv [ 2014 Jan 20 ]

how would this actually work ? sure you meant maps not screens ?

Comment by Dmitriy Shevchenko [ 2014 Jan 20 ]

Screens not provide such flexibility as maps. It is impossible to arrange the elements at random location. Custom html element will provide great functionality: any size and colour text font, tables, images, dynamic content, graphs, maybe JS support, flash.
You can see how it may be realized in PRTG Network Monitor map editor

Comment by Oleksii Zagorskyi [ 2014 Jan 30 ]

ZBXNEXT-2133 (ZBXNEXT-154) asks for HTML support on screens

Comment by richlv [ 2017 Mar 26 ]

partially solved by ZBXNEXT-2031





[ZBXNEXT-1484] allow merging/relinking of prototyped and not prototyped items Created: 2012 Oct 23  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 2.0.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ghozlane TOUMI Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: lld, templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-8357 Low Level Discovery Fails when Existi... Closed
is duplicated by ZBX-6347 Filesystem auto-discovery prevents ma... Closed
is duplicated by ZBX-10244 Upgrading from normal items to lld items Closed

 Description   

Migrating from 1.8, I have a bunch of items I manually crafted to get filesystem usage.
When trying to create a low level discovery, I get an error stating that the Item already exist, which is the whole point.

Right now, The only way to migrate from manual to prototype is to remove the manual items, and lose historical data, or hack something within the database.

The lld should work the same way as templates do wrt already existing items :
they are relinked to the template, and lld should do the same, rebinding already existing items



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Oct 24 ]

Some issue in current server behavior (related to the requested feature) described here ZBX-5781.

Comment by Marc [ 2015 Feb 07 ]

Well, templates do not merge elements of same uniqueness criteria, they add a link that could also be easily un-linked.
When this is considered for implementation, then I'd appreciate to support converting a LLD element (pot. previously merged) to a regular one.

Comment by Marc [ 2016 Jan 08 ]

ZBXNEXT-2052 might help here too.

Comment by Javier Barroso [ 2016 Jan 08 ]

Thank you, for the moment I will live with such warnings, I hope it will not affect to zabbix performance

Comment by Javier Barroso [ 2016 Jan 12 ]

Has someone any "hack something within the database" script to help migrate with this issue ?

We are migrating screens from 1.8 to 2.4, but graphs on 1.8 were defined by hand and on 2.4 we would like to use graph prototypes, but we can't without lost data.

Any tip ?

Thank you !

Comment by Javier Barroso [ 2016 Jan 12 ]

I think I can follow the next approach:

Suppose you have items xx[yy.zz] which have conflict between prototyped and normal items, then:

1) Change item protoypes to "xx[yy,zz_not_supported]"
2) Wait until items not supported are created
3) Copy history and trends on bbdd, and rename items from xx[yy.zz] to migrated.$date.[yy.zz] (bash script below)
4) Rename item prototypes to "xx[yy.zz]"
5) Wait until items have became supported
6) Remove migrated.$date items

#!/bin/bash
fecha=$(date +'%F-%H%M')

echo 'select hostid_searched, itemid_searched, itemid_old from (
        select hostid as hostid_searched, itemid as itemid_searched,
                replace(key_,"_not_supported","") as key_searched,
                ( select itemid from items
                        where key_ = key_searched and
                        hostid = hostid_searched) as itemid_old
                from items
                where key_ like "%_not_supported%") as g
        where itemid_old is not NULL ;' |
mysql -N -h host -P 3307 -u zabbix24pre --password=xxx zabbix24  > info-tickets-$fecha.orig


while read hostid itemid_din itemid_stat
do
        echo "update history set itemid = $itemid_din where itemid = $itemid_stat;"
        echo "update trends set itemid = $itemid_din where itemid = $itemid_stat;"
        echo "update items set key_ = concat('migrated.$fecha.',key_) where itemid = $itemid_stat and key_ not like '%migrated%';"
done < info-tickets-$fecha.orig > updates-$fecha.txt


cat updates-$fecha.txt |
mysql -N -h host -P 3307 -u zabbix24pre --password=xxx zabbix24 &> updates-$fecha.log

Thank you very much . Please tell me if you see any fail , I will push into production, next week ...





[ZBXNEXT-1486] IP authentication support for active agent & trapper items Created: 2012 Oct 25  Updated: 2017 Aug 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 1.8.15, 2.0.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: alix Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: activeagent, authentication, patch, security
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File ip-auth.1.8.14-2.dpatch     File ip-auth.1.8.14.dpatch    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-3123 Zabbix server and proxy strongly trus... Closed
is duplicated by ZBXNEXT-547 IP ACL on active agent items Closed
Sub-task

 Description   

Big environments sometimes can be a big pain to manage, especially when management is performed by hand. To save mental health and make life easier when investigating cases like two or more active agents with the same name simultaneously sending data to Zabbix server, I propose implementing an IP based authentication. It definitely isn't a security feature, but rather an additional handy restriction to remain in control.

This approach is applicable when host connectivity is configured using ip address, not domain name. IP authentication should be optional. When enabled, all direct connections (proxy-server connections must not be affected) from active agents are to be compared against ip address specified in host configuration/agent inteface. In case of mismatched addresses connection should be gracefully rejected.

Similar approach should also be implemented to protect trapper items. I'm aware of "Allowed hosts" field existence in trapper item configuration, but it doesn't really work when trapper items are templated due to ZBXNEXT-354. When "Allowed hosts" is empty, all trapper item incoming data should be authenticated the same way as suggested above. To override this default behaviour, user should be able to fill "Allowed hosts" field with required data manually.

Examples of connection rejects in server/agent log:

Failed attempt to request active checks list:
> 2138:20121025:110008.943 Sending list of active checks to [192.168.0.212] failed: host [TESTHOST] ip mismatch: expected 192.168.0.221, got 192.168.0.212

Failed attempt to send data:
2138:20121025:110008.943 Process data failed: host [TESTHOST] ip mismatch: expected: 192.168.0.221, got 192.168.0.212

I'm attaching a basic proof-of-concept-patch for 1.8.14. It unconditionally checks for matching ip addresses in host configuration-remote client pair, and rejects disallowed connections for active agent items and trappers.



 Comments   
Comment by Ricardo Santos [ 2012 Nov 27 ]

great patch, very useful feature.

Comment by alix [ 2012 Nov 27 ]

Thanks - it seems to work on my production servers without memleaks and crashes.
There was a typo in a message though which I'm correcting in this attach.

I've looked into extending the patch to make ip auth configurable in host configuration and actually succeeded, but decided to drop the idea, as I realized that I want ip auth enabled everywhere by default.





[ZBXNEXT-1305] Template with Linked Template (both with LLD) not export any data except the link to template Created: 2012 Jul 05  Updated: 2023 Jan 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Adail Horst Assignee: Unassigned
Resolution: Unresolved Votes: 27
Labels: discovery, export, lld, templates, xml
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CENTOS 6 With MySQL


Attachments: JPEG File ScreenHunter_03 Jul. 05 16.42.jpg     JPEG File ScreenHunter_04 Jul. 05 16.42.jpg     JPEG File ScreenHunter_05 Jul. 05 16.43.jpg     JPEG File ScreenHunter_07 Jul. 05 16.47.jpg     XML File zbx_export_templates_TemplateA.xml    
Issue Links:
Causes
causes ZBX-16526 Zabbix API does not allow import temp... Closed
Duplicate
is duplicated by ZBXNEXT-8104 ability to fix child template changes... Closed
is duplicated by ZBX-6364 Prototypes are not exported if they b... Open
is duplicated by ZBX-11999 Export templates - inherrited low-lev... Closed
is duplicated by ZBX-21931 modifications of inherited triggers m... Closed
is duplicated by ZBX-6482 Exporting Host Does Not Include Items... Closed
is duplicated by ZBX-13281 Item prototype missed in exported .xml Closed
Sub-task
depends on ZBX-15326 Dependent item is not exported if mas... Reopened

 Description   

I have:
Template A: Descoberta de Interfaces - Switch - LAN
Template B: Descoberta de Interfaces - Roteador WAN

Template B are linked to Template B.
Template A have many Items and Item Prototypes.
Template B have Template A data + new Items Prototypes

I try to export Template A: OK works
I try to export Template B: Works on interface, I open the XML and only link information and name of Template A and B is on the file. The new Items, Items prototypes, etc are missing.

I try this in Zabbix 2.0.1 and Zabbix 2.0.2rc with a build of today.



 Comments   
Comment by Adail Horst [ 2012 Jul 05 ]

This XML have the data from Template A (template A are linked to another template (template C) but this template C dont have prototypes and are exported without problems).

Comment by Alexey Fukalov [ 2012 Jul 06 ]

Yes such problem exists, but for now it works as designed, i.e we export only objects that are not inherited from template or are not dependent on inherited object.
Same can happen for example if you change dependencies for inherited trigger, or related applications for inherited item, these changes cannot be exported.

I move this to ZBXNEXT because it's improvement of current export functionality.

Comment by Kay Schroeder [ 2016 Jan 07 ]

I'm using this functionality of zabbix also to avoid generating items that will become unsupported. Unfortunately I working with two zabbix installations. One testing, where I develop Templates and the other one where I have the productional montoring installed. Unfortunately at the moment I have to create These templates twice.

Comment by Ivan Vanyushkin [ 2016 Sep 27 ]

Is there any workaround to export template with item/trigger prototypes, in case of linked discovery rules? I need to move my new item/trigger prototypes to other Zabbix server, but I see no way to export them.

Comment by Robin Roevens [ 2020 Feb 07 ]

This does not only apply to item/trigger prototypes but also on overrides of normal items/triggers.

For example:

  • Template A defines system.name
  • Template B inherits Template A, but overrides Update Interval, Storage Period and Inventory Field of system.name
  • Export Templates A and B
  • Import Templates A and B on a different zabbix server (or first delete templates A and B and then import them again)
  • Template B now just inherits Template A and all overrides on system.name are gone.

I've read that this is currently as designed but I think this is quite a flaw. When you export a configuration, you expect that it gets exported exactly as it is configured.

We also have 2 zabbix environments : dev and prod .. with an automatic export to git on dev and an automatic import from git to prod..

But now it turns out that those changes do not get exported .. so are not tracked in git and thus not imported in prod. Which currently even makes a few template imports fail due to overrides that should prevent conflicts are not exported..

If Zabbix wants their templates to be truly modular and world shareable, I think this issue should be addressed asap. As the only solution now is to start duplicating templates and/or integrating templates into each other to be able to define such overrides.

Meanwhile, I think the GUI at least should display a big fat warning that such things as changes on inherited items/triggers or discoveries won't be exported. As well as in de API documentation of configuration.export.

Comment by Grant Ashton [ 2020 Feb 07 ]

Completely agree with @robinr

We have the same issue, as templates are distributed via git. So overrides to inherited LLD or normal items/triggers do not get exported.

The workaround, we use, to this is unlinking but not clearing the template, but this means items/triggers are essentially duplicated. So this makes maintenance a nightmare, as we have to track this duplication.

This is a fundamental flaw in the export/import design. Essentially ruining the major benefit of template inheritance

Comment by Patrice Gautier [ 2020 Nov 18 ]

Another vote to fix this.

This limitation completely destroys the usefulness of the template inheritance concept, since there really is no clean way to transport the hierarchy to another system.

Distributing those templates to other people via git is also a non starter

 

Comment by Chris Brookes [ 2021 Mar 22 ]

Adding another vote. That the additional item & trigger prototypes are missing in an export of the child template is a) causing us lots of headaches, and b) going against reasonable expectations.

Comment by Bogdan Rudas [ 2021 Apr 27 ]

Configuration loss during template export and import is awful. While entire mechanics of inheritance is acceptable, any modern deployment need a staging environments for monitoring system. It is absolutely impossible neither do an automation nor manually move templates between hosts once we are using something added to Zabbix after 1.4.x series in templates.

Comment by Pierre Fagrell [ 2021 Jul 24 ]

This really hinders adoption of Zabbix with multiple servers.

If we want to export templates from one server and import on another we cannot use inheritance and overrides at all. Adding item prototypes to inherited discovery rules does not work either.

I really hope this can be fixed.

Comment by Mathew [ 2022 Apr 19 ]

Heres an unofficial fix.

https://github.com/X4BNet/zabbix/commit/c91d4d7266c50859b7da68dde854127385ac3458

I release this work commit into public domain. Do with it what you will under any licence or for any purpose. It comes with no guaruntees of completeness or finess of purpose.

 

Comment by Richard Ostrochovský [ 2022 Nov 16 ]

Update: ZBX-21931 modifications of inherited triggers missing in templates' configuration export - ZABBIX SUPPORT

Comment by Alexander Vladishev [ 2023 Jan 27 ]

As of version 6.4.0 the nested template functionality will be removed, but the reported problem will still exist in host export.





[ZBXNEXT-1265] Show a tooltip on Dashboard with possible reasons why server trapper is not available. Created: 2012 Jun 13  Updated: 2013 Mar 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: dashboard, status
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Follow-up from (1) in a ZBX-3219 and ZBXNEXT-829
Would be great to have something similar on dashboard what already implemented in the ZBX-3219, see also some discussion in the ZBXNEXT-829

Note that it should be easy to implement because the frontend already has main required code (implemented in the ZBX-3219).

It would help a lot (IMO) for cases like:
http://www.zabbix.com/forum/showthread.php?t=26603
and others.



 Comments   
Comment by Oleksii Zagorskyi [ 2012 Nov 27 ]

Additional forum thread (in Russian) http://www.zabbix.com/forum/showthread.php?t=37862





[ZBXNEXT-939] customisable font sizes in graphs Created: 2011 Aug 03  Updated: 2017 Feb 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Simon Kerckhof Assignee: Unassigned
Resolution: Unresolved Votes: 17
Labels: graphs, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian squeeze, mysql
Zabbix 1.8.5



 Description   

When you make Graphs destined for big screens in a NOC, the font that's hardcoded in Zabbix (i'm not a big fan of anything hardcoded) is just too small.
This also due to the issue described in ZBX-1121 (you put multiple graphs on one screen, the graphs are small, the legend however is massive)
(with the current version i have to fiddle with the php files)

The font for title, left, right and legend area should be fully adjustable in GUI and per graph.

The fact that 1.9.x has an optional legend is already an major improvement but this should be looked into further.



 Comments   
Comment by Grzegorz Grabowski [ 2012 Sep 29 ]

I voted.
Small work to do, big feature

Adopt, please.

Comment by Alexey Korepov [ 2017 Feb 09 ]

Here is workaround how to hack PHP code for change font size, before this feature will be implemented in new versions: https://www.zabbix.com/forum/showthread.php?t=8663





[ZBXNEXT-942] keep labels always visible in "Monitoring => Overview" Created: 2011 Sep 02  Updated: 2015 Apr 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.6
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Schoechlin Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: filters, overview, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu Linux 10.04 LTS



 Description   

The view "Monitoring => Overview" provides a good overview of the monitored values/triggers of a given host-group.

I have the following improvment ideas:

  • a possibility to use filters (by hosts/by Item item) would provide a better overview
  • the table-head and the first column should be always visible (no more hardcode scrolling)


 Comments   
Comment by richlv [ 2011 Sep 12 ]

filtering is a dupe of ZBXNEXT-484, let's leave this one only with "always visible labels"

Comment by richlv [ 2011 Sep 12 ]

this function should be 'runtime' switchable

Comment by Timo Veith [ 2012 Dec 06 ]

I second this. It would be great to see to which host or to which trigger a field belongs. It's not easy if the group of hosts that you have selected has a lot of members or/and if one host has a lot of triggers. If you click on a field you already get some info, but not the host name.

Maybe the page rendering would be faster if the top labels wouldn't be images, but just text in html which is rotated by css maybe.

Comment by richlv [ 2012 Dec 06 ]

btw, labels already are text instead of images in latest 2.0 (they were images because of msie6 support )

Comment by Volker Fröhlich [ 2015 Apr 10 ]

Connected to ZBXNEXT-1023





[ZBXNEXT-625] enhance regmatch or create a function called regcount which returns the amount of occurences Created: 2011 Jan 17  Updated: 2016 Oct 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Frater Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: item, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When seeing the function regmatch I thought it was strange it would only return 0 or 1 when it would also be able to return the amount of occurences.
I therefore created the function "regcount" using bash and an entry in zabbix_agentd.conf

http://www.zabbix.com/forum/showthread.php?t=20224

I think it would be useful to many (also other platforms than Linux) to have such a way to count the expressions in a file.

the syntax is:

regcount [-v] <file> <Eregexp>, [ <boolean whole file> ]

It will parse the whole file if the 3rd parameter is 1
If the 3rd parameter is 0 or omitted it will use 'logtail' to check only the difference between the last query

The 3rd parameter can also be higher than 1. In that case it means minutes. This is only useful for Linux logfiles and maybe not such a good idea to implement. It is however quite useful to me.

#!/bin/bash
#####################################################
# regcount
# returns the occurences of a regular expression in
# a file since its last run
#####################################################
# Uses logtail & readlink
# http://sourceforge.net/projects/logtail/
#####################################################
# echo 'zabbix ALL =(ALL) NOPASSWD: /usr/local/sbin/regcount' >>/etc/sudoers
#
# grep -iq 'UnsafeUserParameters' /etc/zabbix/zabbix_agentd.conf || sed -i -e 's/^Server.*/&\n\n# Allow regular expressions\nUnsafeUserParameters=1/' /etc/zabbix/zabbix_agentd.conf
#
# echo 'UserParameter=vfs.file.regcount[*],sudo /usr/local/sbin/regcount "$1" "$2" "$3" "$4" "$5"' >>/etc/zabbix/zabbix_agentd.conf
#####################################################
# 08-12-2010 by Frater
#
# The 3rd parameter (minutes) is optional.
# When 0 or empty, it will use 'logtail' which only checks the portion which hasn't been parsed before
# When minutes is 1, it will take the whole file
# When it's greater than 1, it will use 'lastmins' that will only output the last x minutes
#####################################################
# Use at your own risk!
#####################################################
export PATH=${PATH}:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin
offset=/tmp/regcount.

v=
while getopts v name
do
  case $name in
    v)   v='-v ';;
    ?)   printf "Usage: %s: [-v] <file> <Eregexp>, [ <boolean whole file> ]\n" $0
    exit 2;;
  esac
done
shift $(($OPTIND - 1))

[ ! -h "$1" ] && [ ! -f "$1" ] && exit 1
# [ -z "$2" ]   && exit 1

minutes=`echo "$3" | awk -F. '{print $1}' | tr -cd '0-9'`
[ -z "${minutes}" ] && minutes=0

if [ -z "$2" ] && [ ${minutes} -eq 1 ] ; then
  wc -l "$1" | awk '{print $1}'
  exit 0
fi

file2parse="$1"
if [ ${minutes} -eq 0 ] ; then
  fname="`readlink -f "$1"`"
  fname="`basename "${fname}"`"
  expression="`echo "$fname.${v}$2$3" | tr -cd '.0-9A-Za-z-'`"
  offset="${offset}${expression}.offset"
  ftmp1=`mktemp`
  logtail -f "$1" -o $offset >${ftmp1}
  file2parse=${ftmp1}
elif [ ${minutes} -gt 1 ] ; then
  ftmp1=`mktemp`
  cat "$1" | lastmins ${minutes} >${ftmp1}
  file2parse=${ftmp1}
fi

if [ -z "$2" ] ; then
  wc -l "$file2parse" | awk '{print $1}'
else
  grep $v -cE "$2" "$file2parse"
fi
rm -f ${ftmp1} 2>/dev/null
exit 0


 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2016 Oct 01 ]

ZBXNEXT-1250 added support for regexp in count().





[ZBXNEXT-683] delete individual values from db (spikes) Created: 2011 Mar 01  Updated: 2019 May 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: matthias zeilinger Assignee: Unassigned
Resolution: Unresolved Votes: 28
Labels: history, items, spike, trends
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File graph.jpg    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-1479 Easy deletion of individual latest da... Closed

 Description   

it would be nice to delete individual values from the db in the frontend.
so if you have a downtime for maybe 10 min, and then you collect data with "delta (simple check)", you will get a huge delta.
if you look than into the graph, it looks not very nice.

br matthias



 Comments   
Comment by Bart Verwilst [ 2012 Jul 15 ]

The way i envision this is by adding a delete button next to every value in the 'latest values' list of a single item ( through Monitoring -> latest data -> Value X -> Graph -> Values ). That would make it so much easier to delete inappropriate single values.

Comment by Oleksii Zagorskyi [ 2013 Feb 19 ]

Users time to time have this problem, just a confirmation:
https://www.zabbix.com/forum/showthread.php?p=126654

Comment by Strahinja Kustudic [ 2013 Nov 25 ]

This feature would be awesome to have and probably not that hard to implement.

Comment by Marcio Campos [ 2016 Aug 07 ]

Any news about this issue?

Comment by Dominique [ 2018 Nov 22 ]

I'm still waiting for this feature, too. Would be really cool instead of always manually querying the database.

Comment by Cesar Murilo da Silva Junior [ 2019 Apr 26 ]

I also need this feature, there is an undesirable traffic value of 27 Tbits which I want to erase from the history. Is there any problem in deleting this amount directly from the database?

Comment by Dominique [ 2019 May 06 ]

I once wrote a short tutorial for myself:

  1. Get itemid from graph URL (for example: /history.php?action=showgraph&itemids[]=444871)
  2. Access Zabbix database.
  3. Find out which type your item has (uint, text, str, log) to know in which history table you have to search for:
    • history_uint
    • history_text
    • history_str
    • history_log
  4. Search the appropriate table with the itemid for the spike:
    zabbix=# select * from history_uint where itemid=444871 order by value DESC limit 5;
     itemid |   clock    |     value      |    ns
    --------+------------+----------------+-----------
     444871 | 1543993500 | 29729269162576 | 606002333
     444871 | 1543964400 |    32170824376 | 384896023
     444871 | 1543965000 |    30664167112 | 514850665
     444871 | 1543964700 |    29971309024 | 862951334
     444871 | 1543965300 |    26845634240 | 455393174
    (5 rows)
    
  5. Simply remove the obviously wrong value from the table:
    zabbix=# delete from history_uint where itemid=444871 and clock=1543993500 and value=29729269162576;
    DELETE 1
    




[ZBXNEXT-1723] Add CSV export to graphs Created: 2013 Apr 24  Updated: 2024 Mar 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Robert Healey Assignee: Unassigned
Resolution: Unresolved Votes: 37
Labels: Zabbix7.2, csv, export
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-3178 CSV export button for history data Closed
is duplicated by ZBXNEXT-2531 Excel Export Support for Presentations Closed
is duplicated by ZBX-11361 How to export Graph to PDF/CSV Closed

 Description   

It would be highly desirable to be able to export the data used in creation of graphs as CSV format files, either as a button or drop down item. I imagine others might find use for XML or other formats but our needs are for CSV data files like our other monitoring/graphing software does.

It came as quite a surprise that this isn't already a part of the system.



 Comments   
Comment by Oleg Ivanivskyi [ 2013 Apr 24 ]

FYI ZBXNEXT-731

Comment by Robert Healey [ 2013 Apr 24 ]

Note: This request differs from ZBXNEXT-731 in that we'd like to extract info from arbitrary graphs, not just the last data sampled.

Example: Use a days worth of item samples to make a graph, then output the items plotted in the graph to a CSV to import into other apps/spreadsheets for planning/justification/issue reports etc. We do this all the time with our other monitoring packages and it would be great to do this with Zabbix as well.

Comment by richlv [ 2013 Apr 24 ]

would switching to "values" and clicking on "as plain text" work ?

Comment by Robert Healey [ 2013 Apr 24 ]

Re: Switching to values.
I'm new to Zabbix, could you elaborate on where "values" option is? Thanks!

It still would leave Zabbix not doing something the other packages its being compared to have done for quite a while.

Comment by Oleg Ivanivskyi [ 2013 Apr 24 ]

I'm new to Zabbix, could you elaborate on where "values" option is? Thanks!

The last screenshot, the right upper corner.

Comment by Robert Healey [ 2013 Apr 24 ]

Thanks for the pointer Oleg!

It's certainly closer to what we want/need but is still significantly different from what is produced by our other applications; i.e. manual cut/paste into a file, one item at a time rather than all graph data items at onces, etc.

It would be nice to have the values/plain text option available somewhere on the actual graph page; our other apps have a button or dropdown on the graph page to output the data used by the graph in CSV/XML/Excel/etc.

Comment by richlv [ 2013 Apr 24 ]

if you are interested in bulk data export, check out the api

Comment by Robert Healey [ 2013 Apr 24 ]

It isn't so much bulk data export as getting data items, usually multiple items per single graph, from a particular graph saved in CSV format files.

Our other platforms export it with a click from the graph area. It would be nice if Zabbix did as well, thus the feature request.

All the other monitoring programs we use, both open source and proprietary/internal, have this.

We were quite puzzled that Zabbix did not.

Comment by Ryan Armstrong [ 2014 Jul 22 ]

I'm trying to convince our security team to migrate away from Cacti but this issue is a big roadblock for them.
In Cacti they can select a region on a composite graph and export the values for that region to csv with the click of a button.

Would be very nice to have!

Comment by makemeasandwich [ 2015 Sep 08 ]

Is there anything done on this matter?

I think this option is pretty important!

Comment by James Cook [ 2015 Sep 08 ]

Im finding this an issue data centre team moving from their existing tool cacti as they to extract the data for their reporting system. This is one of the final hurdles for them and hopefully we can be rid of cacti and be a zabbix only site.

Comment by makemeasandwich [ 2015 Sep 08 ]

Ya same here

Comment by richlv [ 2015 Sep 08 ]

just a reminder that values for a simple graph can be easily accessed from the graph page, dropdown in the upper right corner.

also please note the discouragement of "me too" comments as per https://www.zabbix.org/wiki/Docs/bug_reporting_guidelines#Reporting_an_issue

and eventually, if you'd like to get some community advice or discuss some issue, everybody is highly welcome on irc - see https://www.zabbix.org/wiki/Getting_help#IRC for the detail

Comment by James Cook [ 2015 Sep 08 ]

Hi Richlv,

I have mentioned the separate simple graphs to the guys however they have composite graphs containing of all the data center air conditioners and ups devices information. This way on one graph they can see all the air conditioners in a location and whether the temperatures or humidity are consistent with each other or whether one of the units is spiking etc...

Regards
James

Comment by Kodai Terashima [ 2016 Mar 08 ]

Adding CSV export button to history data screen is nice feature as well, adding the button next to "As plain text".

Comment by richlv [ 2016 Jun 10 ]

it might be worth also considering other structured formats - maybe json, which could even match zabbix api output somewhat ?

ZBXNEXT-3301 asks for such a structured data transfer for configuration entities

Comment by Pavel [ 2020 Nov 30 ]

This is a traditional feature for quick analytics. As products and methods of analysis spread, they will become more and more in demand among users.
The data should be opened in one click without transformation or cleaning.

sorting the values by ascending time would also be nice.





[ZBXNEXT-1724] organise the screens page Created: 2013 Apr 24  Updated: 2013 Apr 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Neil Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: graphs, screens, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File munin_screen_example1.png    

 Description   

I really like the screens page, but it's ease of usability starts to deteriorate once there are many rows and columns - it's cumbersome searching for a graph

Ideally i'd like to be able to group graphs onto a section of the page and with the group heading being shown in a contents page.
Also each graph should have some text allowing a quick search for the graph via the browser find command.

  • attached is an example of how this is done in Munin.

thx
Neil



 Comments   
Comment by Oleg Ivanivskyi [ 2013 Apr 24 ]

Partially duplicate ZBXNEXT-154.





[ZBXNEXT-1562] Provide milli second time in Zabbix frontend Created: 2013 Jan 09  Updated: 2013 Mar 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Simon Tsang Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: millisecond, nanoseconds, timestamp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux



 Description   

As Zabbix 2.0 has already supported nanosecond, it would nice if the frontend can support time in the resolution of milli second instead of second.

Thank you.



 Comments   
Comment by richlv [ 2013 Jan 09 ]

this probably should be optional - maybe user profile setting, or some way to dynamically enable/disable it.
nanoseconds, of course





[ZBXNEXT-864] Improve overall usability of Zabbix GUI page layout Created: 2011 Jul 27  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.9.5 (alpha), 2.0.0
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexei Vladishev Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 2
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We have number of usability issues in the front-end, which can be fixed relatively easy. There are few problematic areas:

  • page layout is not optimized: plenty of unused space on top
  • page navigation: actions (like, Create Host) are not located properly
  • menu is difficult to navigate
  • mass actions require at least 3 click to execute and are hidden in a drop-down





[ZBXNEXT-991] Trapper Checks authorization Created: 2011 Oct 07  Updated: 2012 Oct 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: matthias zeilinger Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: trapper
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

my suggestion:
if the server receives a trapper value with a key, which is not registered, put this "item" into a authorization queue.
the admin can accept or deny this check by simple on click.
if accepted, trapper item is automatic created on the host

would reduce the time of creating trapper checks

lg matthias



 Comments   
Comment by richlv [ 2011 Oct 10 ]

this might be quite tricky to implement (especially taking into account a possibility of sending a huge amount of such requests).

currently automated item creation can be performed with xml import or api





[ZBXNEXT-514] Map Link Label Alignment on multiple linked hosts Created: 2010 Sep 19  Updated: 2022 Dec 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.4
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: hamid sfandiari Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: label, maps, trivial, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

500host,3000 item ,FREEBSD,


Attachments: JPEG File Untitled-1.jpg     JPEG File Untitled-2.jpg    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-2113 Ability to set coordinations of link ... Closed
is duplicated by ZBXNEXT-2991 add ability to manipulate the positio... Closed

 Description   

As the link label alignment is set to center on Zabbix Map, if a host has two or more link get erorr which two label got printed over themselves.

if a drop-down menu exist which we could set alignment of Link-Label through it (choices such as : beginig of line, center of line and end of line) , alignment problem could be solved.



 Comments   
Comment by richlv [ 2011 Jan 26 ]

request about multiple link offset/non-overlapping : ZBXNEXT-442

Comment by Nick Baumber [ 2015 Sep 29 ]

When\Will this be looked at as the request has been open for 5 years now.
Thanks

Comment by richlv [ 2015 Sep 29 ]

it is currently not on the roadmap.
one way to make sure features are developed is to finance them - if you are interested, see the development services

Comment by Markus Ingalsuo [ 2022 Dec 05 ]

This would be a very nice to have feature, since it really does limit map constellations where one wishes to display link details as a label on the link. The details of the link help understanding the problem and it's now not possible to make a visually less messy constellation in a spine-leaf -topology with more than a few nodes.

I use Zabbix daily and my gratitude for developing and maintaining it as open source software is unmeasurable. Also wow, getting a call from 2010 was a big surprise

Thanks and regards,

Markus





[ZBXNEXT-470] Expand (return) support of the Severity levels displayed in history for eventlog (needs for custom syslog solution). Created: 2010 Aug 07  Updated: 2015 Aug 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: severity, syslog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

last trunk


Attachments: PNG File 1_1.8.1_events_severity.png     PNG File 2_1.8.2_events_severity.png     PNG File 3_1.8.1_real_syslog_DEMO.png     PNG File 4_1.8.3_real_syslog_DEMO12G.png     File zbxlog-r1.5.tgz    

 Description   

Please return and expand support of the Severity levels displayed in the history.

In version 1.8.1 the history of items supported the following severity levels to display (i.e. there were 5 different severity levels):

After ZBX-2077 (added support of Failure / Success Audit eventlog severity) severity levels of events became exactly as in Windows. At the same time in revision 10518 interpretation of events has been lost with for severity levels 3 and 5:

I ask to return severities 3 and 5, plus add a severity for 6.
Naming them as:
3 - Warning
5 - Critical (perfectly suited for ZBXNEXT-427)
6 - Emergency
All these levels currently are free, and for the future they will be quite universal names.

Why I'm asking:
I use and want to publish a solution I made (a script that is very beautiful and interesting treats Syslog) (both from servers and from different hardware).
Using items with Type of information "Text" is ideal for this situation.

Later a "zbxlog" solution has been published, which is much more complete than mine, see comments below.

The result can be seen on next two pictures:

This request would be convenient to perform with ZBXNEXT-427

Just information:
According to RFC3164 supports the following severity levels:
0 Emergency: system is unusable
1 Alert: action must be taken immediately
2 Critical: critical conditions
3 Error: error conditions
4 Warning: warning conditions
5 Notice: normal but significant condition
6 Informational: informational messages
7 Debug: debug-level messages

I plan to combine 6 and 7 as well as 0 and 1. That will be enough.



 Comments   
Comment by Oleksii Zagorskyi [ 2010 Aug 07 ]

I am a little confused and mistaken - support for "3 - Warning" is not necessary. Now it is in the severity of "2".

If you agree, perhaps more easily and correctly, will realize the severity for example in the new range of 10-17 but 100% accurate according to the RFC3164.
http://www.ietf.org/rfc/rfc3164.txt

Comment by Oleksii Zagorskyi [ 2010 Sep 15 ]

My last suggestion (new range 10-17) coincides with this excellent solution - zbxlog.
http://www.zabbix.com/forum/showthread.php?t=19180
There are ready-made patches.

Attaching sources archive here (v 1.5), just in case.
Main site is http://www.alixen.org/projects/zbxlog/files

Comment by Oleksii Zagorskyi [ 2012 Aug 31 ]

Just a note - currently in 2.0.2 the page "history.php" shows all columns (as for windows eventlog) only for items with a key "eventlog[...]"
I checked that and I see that it has been changed from 1.8.5 release.

Just in case see ZBX-2932

Comment by Oleksii Zagorskyi [ 2013 Jun 23 ]

ZBXNEXT-1798 asks more severities for triggers

Comment by Oleksii Zagorskyi [ 2015 Aug 25 ]

Just to keep things linked - there is another (a bit similar to zbxlog, though) solution for syslog monitoring.
http://habrahabr.ru/company/zabbix/blog/252915/ (on Russian)





[ZBXNEXT-513] Script Menu Grouping Created: 2010 Sep 18  Updated: 2012 Oct 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Robert Hau Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any



 Description   

It would be nice if we could group script together

Example:

Group 1
Script A
Script B
Script C
Script D

This would be useful on a map view.






[ZBXNEXT-472] add 'invert' option for the item configuration filter Created: 2010 Aug 10  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: filters, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

in item configuration filter an option to invert the filter would be useful.
so instead of selecting all items with a specific application or part of the key, all other items could be selected instead






[ZBXNEXT-466] auditlog filter improvements Created: 2010 Aug 06  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: filters, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

it should be possible to filter auditlog by ip



 Comments   
Comment by Oleksii Zagorskyi [ 2012 May 03 ]

Additionally it would be useful to have ability select several "Action" types to filter events.
For example I use API a lot to perform daily changes, so I would like to exclude "login" records from the view.
I.e. drop-down list could be replaced to the list with check-boxes (can be expanded and collapsed). For example how it's implemented in the Pootle for search strings.





[ZBXNEXT-433] it should be possible to disable maintenance Created: 2010 Jun 30  Updated: 2017 Sep 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: flexibility, maintenance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2492 Enable disable switching function in ... Closed

 Description   

Suppose we have a maintenance that puts all servers in maintenance at 20:00 daily. But this evening, for whatever reason, we do not want that maintenance, so we wish to disable it like we can everything else (actions, discovery, etc.). Currently, we have no way of doing this except, e.g., entering an "Active till" date that is in the past, which is not a very elegant workaround.



 Comments   
Comment by Janne Korkkula [ 2017 Sep 13 ]

Still a good idea. The text status column could be a toggling link, setting or clearing the Disabled status.





[ZBXNEXT-865] permissions issue on maintenance and remote command configuration pages Created: 2011 Jul 28  Updated: 2019 Jan 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.5, 1.9.4 (alpha)
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Kodai Terashima Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: consistency, maintenance, permissions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   
  • HostA belong HostGroupA
  • HostB belong HostGroupB
  • HostA and B belong HostGroupC
  • UserX has "read/write" authority to HostGroupA and C, and "deny" authority to HostGroupB

In this situation, there is authority issue on maintenance and remote command configuration screen.

1. maintenance configuration screen

UserX can select HostGroupC in maintenance configuration screen, and the operation affect HostB though User X has "deny" authority to HostB.

2. remote command configuration screen

UserX can set "HostB:command" and "HostGroupC#command" and these commands are executed



 Comments   
Comment by richlv [ 2019 Jan 22 ]

Would the maintenance part be a duplicate of ZBX-2520?





[ZBXNEXT-925] Improve low level discovery filtering with 'manual' filtering Created: 2011 Aug 26  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.9.5 (alpha)
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ghozlane TOUMI Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Right now, the low level discovery is fully automatic.
I 'd like away of dissociating the discovery from the creation of the items/graphs etc.

the Idea is at the discovery step,

  • allow for full automatic with filteging (same as now)
  • OR manual filtering : provide a selectable list of returned information from discovery, and allow creation of the subitems/grahs/whatever.

when factoring in ZBX-3286, you can imagine having in the list all discovered items and previously discovered items with some kind of status, and the ability to remove the items.






[ZBXNEXT-698] Able to draw links with corners in the map editor. Created: 2011 Mar 11  Updated: 2015 Apr 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.4
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Attilla de Groot Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 5
Labels: flexibility, maps, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux Debian


Attachments: PDF File AMS-IX-Platform-2010-H2.pdf     PNG File maps.png    

 Description   

When creating a map for a large network it becomes unusable, because links can only be straight lines. Please consider the two attached files. One is a partly setup map for the complete environment that you can see in the pdf.

As you can imagine, it won't be possible to put in labels for each backbone link without overlapping them. If I would be able to draw the links with a corner in it (als is possible in most drawing tools), this would be possible.



 Comments   
Comment by Raymond Kuiper [ 2015 Apr 03 ]

I'm currently using a 4 pixel transparent .png file as a connector to draw hard corners.
This is OK for a workaround, but it would be better to define corners or arcs directly.





[ZBXNEXT-1277] Would be nice to add to the GUI installation wizard to the 3-rd step ("Check of pre-requisites") check of the fact is Zabbix DB converted to UTF-8 or not Created: 2010 Aug 09  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: configwizard, installation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Would be nice to add to the GUI installation wizard to the 3-rd step ("Check of pre-requisites") check of the fact is Zabbix DB converted to UTF-8 or not.

If DB is not converted to UTF-8 then do not allow to continue the installation or show the warning message.






[ZBXNEXT-6392] Introduce separate checkboxes for 'history' and trends' compression. Created: 2020 Dec 09  Updated: 2022 Nov 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 5.0.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Evren Yurtesen Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2020-12-09-20-22-30-528.png     PNG File image-2022-11-03-23-38-04-761.png    

 Description   

There is only 1 check box for `history` and `trends`

This is not very optimal because manual says:

https://www.zabbix.com/documentation/current/manual/appendix/install/timescaledb

In order to use partitioned housekeeping for history and trends, both 
these options must be on. It's possible to use TimescaleDB partitioning 
only for trends (by setting Override item trend period) or only for history (Override item history period).

However setting such setting seems to cause problems like this:
https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/411045-housekeeper-cannot-delete-data-compressed-timescaledb

zabbix_server.log

2344843:20201209:183048.122 [Z3005] query failed: [0] PGRES_FATAL_ERROR:ERROR:  cannot update/delete rows from chunk "_hyper_2_1761_chunk" as it is compressed
 [delete from history_uint where itemid=321560 and clock<1606926413]

postgresql

2020-12-09 16:31:58.036 UTC [378539] zabbix@zabbix ERROR:  transparent decompression only supports tableoid system column
2020-12-09 16:31:58.036 UTC [378539] zabbix@zabbix STATEMENT:  delete from history_uint where itemid=482471 and ctid = any(array(select ctid from history_uint where itemid=482471 limit 5000))

 

It would be desirable to have 3 different settings.

1- Compress trends (uint/float)

2- Compress history (uint/float)

3- Compress history (log/str/text)

The reason is, in many cases as uint/float values get into trends, the data amount gets less with some resolution loss. However the string history is lost completely. There is a distinct difference. One may want to keep string values stored longer (unless if there is a way to make some sort of string trends?)

Therefore the housekeeping for History items should also be divided into 2 sections. The items which can move on to trends vs the ones which can't (string).

It also should not be possible to disable housekeeping overrides before compression is disabled. Because doing so is fundementally incorrect.



 Comments   
Comment by Everaldo Santos Cabral [ 2022 Nov 04 ]

Do we have any news?





[ZBXNEXT-6550] Customize trigger severity on discovered trigger Created: 2021 Mar 05  Updated: 2022 May 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 5.0.9
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: H.L. Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: lld, triggers, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

tl;dr: Please make it possible to customize trigger severity on discovered triggers.

Most IT systems are in inhomogeneous environments and therefore have differently important things to monitor. To keep costs and efforts low we use LLD as much as possible on all systems we monitor. But often it is important to be able to change the severity of a lld discovered trigger because there are things more important than others. Let's say you have a network switch with 200 interfaces, but some interfaces are just more important than others. And these important interfaces are different on almost every device. Or lets say you are monitoring different filesystems which are all discovered by LLD. But some filesystems on some hosts are just more important than others.

It is so frustrating not to be able to change the severity on these discovered triggers per host.

And no, changing the severity on prototype level, as suggested in ZBX-18582 is no alternative at all . This means I would either change the severity of all discovered triggers, which doesn't help here. So we need any filter criteria on device items to differentiate between important and not so important things combined with two or more low level discoveries. The problem is, you don't always have any filter criteria to differentiate. Some things are just more important because of topology and you can't say which one in an lld.

So, please make it possible to customize trigger severity on discovered triggers.

Thank you,

Holger

Steps to reproduce:

  1. Open a discovered trigger (from a discovery job) and try to change the trigger severity

Result:
Cannot change trigger severity, all options are greyed out
Expected:
Should be able to change trigger severity for each discovered trigger



 Comments   
Comment by H.L. [ 2021 Mar 10 ]

Today I have a host with a lot of VPN tunnel interfaces, all discovered by lld. Now there are some very unimportant VPN tunnels, which I would like to set to severity information . But there are also some very important VPN tunnels, which I need to set to severity high.

Now I have to create several regular expressions with a list of tunnel interface ids. Then I need to create several low level discoveries filtered on these regular expressions just to be able to have different trigger severities. And I have to do all this for every severity level which I would like to use. This is so utterly complicated.

If I could change the severity, I would click on the lld trigger of this host, change severity, update, done.

Comment by Sebastian V. [ 2022 May 23 ]

+1 for us here using Zabbix too.

We are using discovery rules to detect MSSQL databases. Some of these are really unimportant and we don't want to send out alerts to the DBA team for them. But important and non-important databases can reside on one host. Changing the trigger prototype is not a solution in any way.

I think for us this is by far the single biggest problem we have right now. I wanted to solve it with tags, but I can't even use tags to filter alerts from these triggers - they must be inherited.

Zabbix team, could you provide some more information about this? It would be greatly appreciated

 





[ZBXNEXT-2695] Filter option to group by trigger name Created: 2015 Feb 01  Updated: 2021 Jul 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.7
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: enterprise, filter, patch, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zbxNext2695-2.2.9-2.patch     File zbxNext2695-2.2.9-3.patch     File zbxNext2695-2.2.9.patch     PNG File zbxNext2695-2.png     PNG File zbxNext2695-3.png     PNG File zbxNext2695.png    
Issue Links:
Duplicate

 Description   

How about having a filter option to group triggers by name to eliminate same triggers from several hosts?

This might significantly improve getting an overview, when monitoring tens of thousands hosts and making use of templated triggers.
Especially when somethings goes really bad and many triggers of many hosts fire.



 Comments   
Comment by Marc [ 2015 Feb 01 ]

Just to get the idea:

zabbix=# SELECT t.priority,
zabbix-#        t.value,
zabbix-#        max(t.lastchange) AS lastchange,
zabbix-#        count(*) AS hosts,
zabbix-#        t.description
zabbix-# FROM triggers t
zabbix-# WHERE NOT EXISTS
zabbix-#     (SELECT NULL
zabbix(#      FROM functions f,
zabbix(#           items i,
zabbix(#           hosts h
zabbix(#      WHERE t.triggerid=f.triggerid
zabbix(#        AND f.itemid=i.itemid
zabbix(#        AND i.hostid=h.hostid
zabbix(#        AND (i.status<>0
zabbix(#             OR h.status<>0))
zabbix-#   AND t.status=0
zabbix-#   AND t.value='1'
zabbix-#   AND t.flags IN ('0',
zabbix(#                   '4')
zabbix-# GROUP BY t.description,
zabbix-#          t.value,
zabbix-#          t.priority
zabbix-# ORDER BY lastchange DESC,
zabbix-#          t.priority DESC,
zabbix-#          hosts DESC,
zabbix-#          t.description
zabbix-# LIMIT 20;
 priority | value | lastchange | hosts |                                                                       description
----------+-------+------------+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------
        2 |     1 | 1422817510 |     6 | Too many processes on {HOST.NAME}
        2 |     1 | 1422815495 |    17 | Free disk space is less than {$FS_SIZE_PFREE}% on volume /
        3 |     1 | 1422813851 |    11 | High RAM utilization by OpenVZ containers
        2 |     1 | 1422808513 |    14 | Unspecified Java-Exception occured
        2 |     1 | 1422808423 |     2 | Free disk space is less than {$FS_SIZE_PFREE}% on volume /admin
        2 |     1 | 1422800896 |     6 | The TDP for Oracle application client continues processing, but problems might occur later as a result of this warning
        2 |     1 | 1422800896 |     6 | The Tivoli Data Protection application client continues processing, but problems might occur later as a result of this warning
        1 |     1 | 1422758078 |    29 | TSM file system backup transferred more than 1 GByte of data
        1 |     1 | 1422757287 |     1 | TSM file system backup transferred more than 5 GByte of data
        2 |     1 | 1422754440 |    11 | No scheduled TSM event since two days
        1 |     1 | 1422743574 |     2 | Scheduled TSM event running
        2 |     1 | 1422634562 |     7 | Free disk space is less than {$FS_SIZE_PFREE}% on volume /opt
        3 |     1 | 1422631221 |     3 | High allocated memory utilization by OpenVZ containers
        3 |     1 | 1422626070 |     6 | Zabbix agent on {HOST.NAME} is unreachable for 5 minutes
        3 |     1 | 1422538769 |    22 | The TSM Backup-Archive Client encountered an error during processing. Processing might stop. User response might be required.
        3 |     1 | 1422440710 |    11 | The Tivoli Data Protection application client encountered an error during processing. Processing might stop. User response might be required.
        2 |     1 | 1422349914 |     4 | Free disk space is less than {$FS_SIZE_FREE}Byte on volume /
        3 |     1 | 1422328733 |    16 | At least one file could not be backed up by TSM due to unrecognised characters in file or path name.
        1 |     1 | 1422308402 |     9 | Local system time between Zabbix-Server and HSM differs more than five seconds
        2 |     1 | 1422305527 |    14 | The TSM Backup-Archive Client continues processing, but problems might occur later as a result of this warning.
(20 rows)

zabbix=#
Comment by richlv [ 2015 Feb 02 ]

this would probably make most sense as a separate widget/element in screens/dashboards

Comment by Marc [ 2015 Feb 02 ]

I like the idea of having a widget of that type. Such a widget might provide a more compact trigger overview in Zabbix screens and the dashboard.

Nevertheless, I'd still appreciate to have this option in Monitoring->Triggers too. That view is the primary place to identify what's going on and has to be addressed.
ZBXNEXT-2065 was created by the same intention - to keep Monitoring->Triggers usable when too much happens in large monitoring environments.

Having this feature implemented as widget only would indeed allow to use a screen instead of Monitoring->Triggers, when the latter becomes useless.
But that's the point. Since Monitoring->Triggers might became useless one looses the other important filter functionality and pagination needed to keep/get things under control.

Comment by Marc [ 2015 Mar 18 ]

Attached patch zbxNext2695-2.2.9.patch is a quick&dirty hack that adds a new report instead of extending filter options from Monitoring->Triggers view.

The report groups all active triggers by their hosts.
It allows to filter for minimum severity and host count.
Ordering is supported for each column.
Trigger names are hyper-links to Monitoring->Triggers having a filter set for triggers with that name.

This report makes no use of the Zabbix API at all.

This is just a PoC to see whether this is as valuable as expected and how it should be finally implemented.

Comment by Marc [ 2015 Mar 19 ]

Attached patch zbxNext2695-2.2.9-2.patch has a filter option to exclude triggers without unacknowledged events.
The hyper-link behind trigger names include now the respective severity and acknowledge selection as well.

Comment by Marc [ 2015 May 08 ]

Attached patch zbxNext2695-2.2.9-3.patch has an additional table column "Age" and slightly different table headings.

Comment by Marc [ 2018 Jan 11 ]

ZBXNEXT-4329 asks for Event correlation and problem deduplication.





[ZBXNEXT-2408] Add description field for host groups Created: 2014 Aug 12  Updated: 2022 Nov 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.3.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: thierry regis Assignee: Unassigned
Resolution: Unresolved Votes: 10
Labels: description, hostgroups
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Frontend


Issue Links:
Duplicate
is duplicated by ZBXNEXT-6570 Add a 'Description' field to 'Host gr... Closed

 Description   

Hi

i am sure it as already been asked. but it would be great to had a description fiels also for Host Groups

It does not exist yet , and it could lead to many differents uses for extrenal script , external Front end , etc ....
Or simply for better identification of the role of the host group.

seems easy and really usefull for me.

Thanks again for great job.



 Comments   
Comment by Oleksii Zagorskyi [ 2014 Aug 13 ]

I believe this is a first time that such a feature is requested.

Comment by richlv [ 2015 May 22 ]

description for :

Comment by Nicola Mauri [ 2022 Nov 15 ]

Really sad that this feature has not been implemented yet.

It looks very easy to add, with minimal impact on database and other features.

In large installations we need to document the purpose of each hostgroup on external systems  (was it created for permissions? for alerting? for dashboards?) which is a real burden.

Zabbix configuration should allow some kind of auto-documenting.

 





[ZBXNEXT-2396] Pretty URL's with mod-rewrite Created: 2014 Jul 30  Updated: 2014 Nov 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: tagwolf Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: url, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Right now it's very difficult to share graphs with people due to the URL structure.

Currently, URL's look like this: https://example.com/zabbix/charts.php?ddreset=1&sid=22be9c2b1000c012

I propose something like this: https://example.com/zabbix/chart/zbxsrv.example.com/

You could expand on it more too:

https://example.com/zabbix/[function]/[host]/[duration/item/etc]



 Comments   
Comment by tagwolf [ 2014 Jul 30 ]

FYI: This feature is heavily used in wordpress (which is open source) and is called "Pretty Permalinks"

Documentation is here: http://codex.wordpress.org/Using_Permalinks

Quote below:

Permalink Types
There are three basic types of WordPress permalinks:

Default: "Ugly"
The default looks like

http://example.com/?p=N
where N is the Post ID number. It works on all server environments, but it doesn't look as nice as some of the other options.

mod_rewrite: "Pretty Permalinks"
Using mod_rewrite or lighttpd you can produce much nicer permalinks (see Pretty Permalinks). There are many different formats, but the most common, and most versatile looks like

http://example.com/2012/post-name/
or

http://example.com/2012/12/30/post-name

Comment by Marc [ 2014 Jul 30 ]

Similar to ZBX-7059, isn't it?

Comment by richlv [ 2014 Jul 30 ]

7059 was specifically about excess sid presence, this is different.

Comment by Andrejs Čirkovs (Inactive) [ 2014 Jul 30 ]

This requires separate routing and refactored route generation strategy. Very complicated.

Comment by Marc [ 2014 Jul 30 ]

Yes, the intention is different.
But wouldn't almost any thinkable solution for one of them solve the other one as well?

I mean even when the proposed scenario goes a bit further, isn't the main issue for sharing the existence of this SID?

Comment by richlv [ 2014 Jul 30 ]

no, sid is inconvenient, but i can still manually share a link like https://zabbix.org/zabbix/screens.php?screenname=Zabbix%20development
this would allow something like https://zabbix.org/zabbix/screens/Zabbix%20development





[ZBXNEXT-2340] Translation help - Add link in Zabbix Trunk to source code Created: 2014 Jun 10  Updated: 2014 Jun 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.12, 2.2.2, 2.3.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Adail Horst Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: translation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Its a new feature to POOTLE used for translation



 Description   

Many times is simple impossible to translate the words without check the source code.
Now, we need to open pootle (https://www.zabbix.org/pootle/pt_BR/) select words... and translate... but...
when I found a translation of someting like: https://www.zabbix.org/pootle/pt_BR/Zabbix-trunk/translate.html#unit=394139

I found reference to two files and lines (report3.php:114 report4.php:145)

I think is better if have a link to this files in public repository (like... click on report3.php and open the a URL with source code).

Because in some times... is impossible to translate wihtout open the source code to undestand the cenario...



 Comments   
Comment by richlv [ 2014 Jun 10 ]

for the record, i'm not aware of a way to do that - if anybody has more info, please add it here

Comment by Oleksii Zagorskyi [ 2014 Jun 11 ]

See my comment https://support.zabbix.com/browse/ZBX-3326#comment-36923

Of course is supposes that you copy a string in browser and paste in Poedit in search form.
At least it help in sources navigation.

Not sure why previously "../../" worked, but now I have to specify the Base path as "../../../"
Then Poedit is able to open sources using right-click menu.

Comment by Oleksii Zagorskyi [ 2014 Jun 11 ]

I don't want to say that you have to use Poedit for translation.
I use it only for "sources navigation".





[ZBXNEXT-4678] Elasticsearch : Authentication header Created: 2018 Aug 07  Updated: 2021 Oct 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 4.0.0alpha8, 4.0.34, 5.0.16, 5.4.5
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Philippe Gauchy Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Hi,

Zabbix server and frontend don't offer authentication header for Elasticsearch.

However, Elasticsearch X-Pack security "works with standard HTTP basic authentication headers to authenticate users. Since Elasticsearch is stateless, this header must be sent with every request:

Authorization: Basic <TOKEN>

The <TOKEN> is computed as base64(USERNAME:PASSWORD) "

 

it would be very usefull to have this in the 4.0 realse

Regards, philippe.






[ZBXNEXT-4619] Maintenance of IT services Created: 2018 Jun 29  Updated: 2018 Jun 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 3.4.11
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Tatapoum Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: maintenance, productivity, services
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be great to add the possibility to put an IT service in maintenance, thus automatically putting the hosts with the dependant triggers in maintenance.

At the moment, when we have a planned maintenance, the operators have to expand all the IT service, searching for the related hosts. For complex services, it can clearly be a source of errors, and consequently false positives. This can really be difficult due to hard and soft links between IT services.

In the future, as it will be possible to put triggers in maintenance, it would be nice to look up for all the triggers defining the availability of an IT service, instead of the hosts.

 






[ZBXNEXT-4492] Add all request type in web monitoring Created: 2018 Apr 10  Updated: 2023 Feb 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Mohsen Mohammad Amini Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 22
Labels: webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Web monitoring


Issue Links:
Duplicate
is duplicated by ZBXNEXT-5873 Web monitoring: Add posibility to use... Closed
Sub-task
part of ZBXNEXT-4358 Metrics for easy RestAPI data retriev... Closed

 Description   

Hi,
I want to monitor availability parameter for web services. But all of my web services should be monitor is using PUT method that you don't support it on web monitoring item.
I read your new features for version 4 and i know you are planning to put HTTP agent but it is useful just for getting value of web services and it is not possible to get availability parameters like response time, response code and ... .
I want to request you to add other request type like GET, PUT, DELET, UPDATE alongside of POST method to web scenario monitoring on your next alpha version.



 Comments   
Comment by Mohsen Mohammad Amini [ 2018 Jun 27 ]

Dears,

Would you please update?

Comment by dimir [ 2020 Apr 08 ]

No plans yet, as far as I heard. I assume it would be hard to push this issue forward because Zabbix was meant to be the tool that only monitors, never doing changes.

Comment by Florent Typiak [ 2020 Apr 08 ]

Hi dimir,

What do you mean by "never changing doing changes" ? Change = put/update/delete ? if that's the case, post is already doing changes.

From my point of view, the scenarios written in the supervision must be as close as possible to what our clients send on the service. So if clients send us http method which doing changes (like put, or update), we also have to set it in web scenario.

Florent

Comment by dimir [ 2020 Apr 15 ]

What do you mean by "never changing doing changes"

A typo, "never doing changes" (fixed).

Change = put/update/delete ? if that's the case, post is already doing changes.

Right, missed that part.

Comment by Денис Устинов [ 2020 Apr 15 ]

Hi!
Let me give you an example, with the help of web scenario I test the a web application, and in the end I need to log out, but I can not do this, because is an HTTP request with the DELETE method

Comment by Mohsen Mohammad Amini [ 2021 Jan 20 ]

is there any update?

There is PUT and DELETE Method of web service calling on http agent. but we can not use these methods in web sceanrios.

Would you please add these methods to zabbix?

Comment by Alessandro Sgolacchia [ 2023 Feb 01 ]

we also need the method DELETE to monitor a specific function on a document system.

Thx





[ZBXNEXT-5263] Database query latest history data very slow Created: 2019 Mar 28  Updated: 2019 Jun 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aaron Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 10
Labels: database, history, latestdata, query
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Grafana-AP-Status.PNG     Text File Triggers.functions.lastvalue.txt    

 Description   

I'm querying the database directly to gather some information on the latest history data directly from a Grafana dashboard. It works dandy but the queries take a very long time to finish.

A simple query to gather the latest history item takes about 6 seconds on a 2740MB table (history_uint).

Here is the query (very simple one, the ones I'm doing require joins, that's when it get's messy):

 

zabbix=> select * from history_uint order by history_uint.clock DESC LIMIT 1; 
 itemid | clock | value | ns 
--------+------------+-------+----------
 188644 | 1553786344 | 1 | 94740072
(1 row)
Time: 6810,381 ms (00:06,810)

 

Here is the table size:

 

zabbix=> SELECT pg_size_pretty (pg_relation_size('history_uint')); 
 pg_size_pretty 
----------------
 2740 MB
(1 row)

 

One of the queries I'm doing to get the latest data on several items:

 

zabbix=> SELECT DISTINCT COUNT(items.name)
zabbix-> FROM history_uint
zabbix-> JOIN (SELECT 
zabbix(> history_uint.itemid, 
zabbix(> max(history_uint.clock) as max_clock
zabbix(> FROM history_uint WHERE history_uint.clock > extract(epoch from now()- INTERVAL '6 MINUTES')
zabbix(> GROUP BY history_uint.itemid) subselect_history_max_clock
zabbix-> ON (history_uint.itemid = subselect_history_max_clock.itemid) AND (history_uint.clock = subselect_history_max_clock.max_clock)
zabbix-> 
zabbix-> JOIN items ON items.itemid = subselect_history_max_clock.itemid 
zabbix-> JOIN hosts ON items.hostid = hosts.hostid 
zabbix-> JOIN hosts_groups ON hosts.hostid = hosts_groups.hostid
zabbix-> JOIN hstgrp ON hosts_groups.groupid = hstgrp.groupid 
zabbix-> 
zabbix-> WHERE (hstgrp.name = 'Amadores-Clusters') 
zabbix-> AND (items.name LIKE '%AP Status%')
zabbix-> AND (hosts.host LIKE '%VC%')
zabbix-> AND history_uint.clock > extract(epoch from now()- INTERVAL '6 MINUTES');
 count 
-------
 469
(1 row)
Time: 33019,439 ms (00:33,019)

 

This is on a server idling at the moment. If multiple users start using Grafana to check the dashboards it can get very messy very fast.

 

What I found:

 - There is no entry on the database that relates the history latest data besides the highest clock which isn't very efficient as it's not even pre-sorted

 - Other users have found this same issue

 - One of those users (dimir) came up with a solution and I think the fix is clean and simple

 

The fix:

It's stated here -> https://support.zabbix.com/browse/ZBX-13193?focusedCommentId=304714&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-304714

 

and here -> https://support.zabbix.com/browse/ZBX-13193?focusedCommentId=332045&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-332045

It would create 5 tables with the latest data gathered on each item/history* table, those tables wouldn't grow over time as it's as big as items has the history tables, so it's a very tidy and fast solution.

 

Could be this implemented on Zabbix?

 

Best regards,

Aarón

 

PS: IOPs spike when I do those queries, so I'm even maxing out the IOPs of the hard drives.



 Comments   
Comment by Glebs Ivanovskis [ 2019 Mar 29 ]

It is strange to hear that you are writing SQL queries while using Grafana. Why? Have you heard about Zabbix plugin?

Comment by Aaron [ 2019 Mar 29 ]

Hey Glebs,

I need the flexibility of a database query to be able to retrieve the info I'm using.

Here is an example. I have several wireless controllers. I do a discovery on each one to see what APs are on the controllers database  and check wether the APs are up (1) or down (2).

With Zabbix plugin I haven't managed a way to get a count of APs that are UP and APs that are DOWN. I could preprocess the status values to 1 = up and 0 = down but still, I have to be very careful with the Time Range. If it's too short I will miss values and if it's too large I will get too many.

AFAIK there is no way to get the latest value on a metric on Grafana, it's always time dependant and very hard to know where to set the limit, it really depends on when the data was written into the DB (clock).

 

I have attached a screenshot to explain it better. The AP status items are being being queried every 5 minutes so I configured the time range on the Zabbix datasource to 7 minutes getting 64 APs UP but there are really 111 APs UP (see the SQL output right beside it). It doesn't matter how I fiddle with the time range I can't get it to state the correct number of APs being UP so I figured it would be easier and more accurate to directly query the DB.

 

 

I hope I have explained myself properly!

 

Best regards,

Aarón

Comment by Glebs Ivanovskis [ 2019 Mar 30 ]

If I read your SQL query correctly, it selects latest value for all items in history_uint, no wonder it takes ages to complete. It would be more efficient to get the list of itemid's you are interested in and only then find out their latest values (where itemid in (...)).

Comment by Aaron [ 2019 Apr 01 ]

Hi Glebs,

I got the list of items I want to query and managed to query the history_uint for only those items, but I'm failing to keep the most recent values and also discern when an AP is UP or when it's DOWN.

Let me explain, if I want to see if an AP is down I would filter the query to see if value == 2. If an AP goes down (value == 2) and then it comes up (value == 1) I will always get a match on value == 2 even though the AP is already up...

It's very complicated to query the last value on multiple items, that's why I was asking for that fix above. I checked the documentation (https://zabbix.org/wiki/Docs/DB_schema/2.0/items) on the database there was a field on the items table called 'lastvalue' that would help me a lot but it was removed on version 2.2.

 

I don't want to modify Zabbix code so I will try to create a trigger that on the event of an INSERT on history_uint table, I will store the itemid/value/clock into a new table.

 

Cheers,

Aarón

Comment by dimir [ 2019 Apr 01 ]

The trigger sounds like a good idea. As to why it was removed from items table, it's because it was causing deadlocks and performance issues every time new values were to be added to the database and that decision was right. But I think we forgot to think of other possibilities to have latest data always available.

Comment by Aaron [ 2019 Apr 03 ]

Hello,

I did it just for history_uint but this is replicable to all history tables. I created two functions, one for inserting/updating and another one for deleting.

The new table 'lastvalue_uint' stores itemid, clock and value:

CREATE TABLE lastvalue_uint(
itemid bigint primary key,
clock integer NOT NULL,
value numeric(20,0) NOT NULL);

 

The insert/update is triggered whenever an item is inserted/updated in history_uint.

CREATE OR REPLACE FUNCTION lastvalue_uint_func() RETURNS TRIGGER AS $BODY$
 DECLARE
 BEGIN
 IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE' ) THEN
 INSERT INTO lastvalue_uint(itemid, clock, value)
 VALUES(NEW.itemid, NEW.clock, NEW.value)
 ON CONFLICT (itemid) DO
 UPDATE SET
 clock = NEW.clock, 
 value = NEW.value;
 END IF;
 RETURN NEW;
 END;
$BODY$ LANGUAGE plpgsql;
CREATE TRIGGER trigger_insert_lastvalue_uint
BEFORE INSERT OR UPDATE ON history_uint 
FOR EACH ROW EXECUTE 
PROCEDURE lastvalue_uint_func();

 

The delete is triggered whenever an item is deleted in the items table.

CREATE OR REPLACE FUNCTION lastvalue_uint_func_delete() RETURNS TRIGGER AS $BODY$
 DECLARE
 BEGIN
 IF (TG_OP = 'DELETE') THEN
 DELETE FROM lastvalue_uint WHERE itemid = OLD.itemid;
 END IF;
 RETURN OLD;
 END;
$BODY$ LANGUAGE plpgsql;
CREATE TRIGGER trigger_delete_lastvalue_uint
BEFORE DELETE ON items 
FOR EACH ROW EXECUTE 
PROCEDURE lastvalue_uint_func_delete();

 

So far the size of the table is slowly growing but I will have to wait a day or so to see that it matches the size of history_uint unique items.

 

Hope this helps someone!

 

Cheers,

Aarón

Comment by Aaron [ 2019 Apr 10 ]

After a week the solution seems stable, no tables have outgrown the history_* unique itemids so that's good.

I finally created a function to update/insert on lastvalue_* for each history_* and a function for every delete on items. Probably there is a better way to do this but having separate functions keeps it pretty simple and easier to understand.

I have attached the functions/triggers I'm using, now the queries take almost no time and are a lot simpler.

 

Comparison on number of itemids on history_uint vs lastvalue_uint:

 

zabbix=> select count(DISTINCT itemid) from history_uint ;
 count 
-------
 36736
(1 row)
zabbix=> select count(DISTINCT itemid) from lastvalue_uint ;
 count 
-------
 29667
(1 row)

 

 

Comparison on size of history_uint and lastvalue_uint:

 

zabbix=> SELECT pg_size_pretty( pg_total_relation_size('history_uint'));
 pg_size_pretty 
----------------
 7612 MB
(1 row)
 
zabbix=> SELECT pg_size_pretty( pg_total_relation_size('lastvalue_uint'));
 pg_size_pretty 
----------------
 4240 kB
(1 row)

Triggers.functions.lastvalue.txt

 

Even though it's working, it would be great if this could be added on future Zabbix releases.

 

Cheers,

Aarón

 





[ZBXNEXT-2696] Forecasting Graphs and Triggers Created: 2015 Feb 02  Updated: 2018 Feb 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Ross Peoples Assignee: Unassigned
Resolution: Unresolved Votes: 11
Labels: graphs, prediction, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

This is related to ZBXNEXT-922, but I'd like to make this more generic and easy to use. I'd like to see the graphs that Zabbix currently has display some forecasting of what future values might be. Being able to trigger based on these forecasts is also a great feature. This all falls under the "Capacity Management" scope.

I have a separate app written in Python/Django that gets values from the trending tables in the Zabbix database, displays the last 3 months worth of trends for an item, then displays (in a separate color) the forecast for the item over the next two weeks (variable time-frames). I did this using a Holt-Winters double exponential smoothing algorithm I found code for.

The result was fairly accurate for a forecast. Again, written in Python, but should be translatable to PHP. The method itself was pretty simple: pass a list of [clock, value] and it returns a list of [clock, value], where clock contains future dates and times.

I don't know how much work, if any, has been done in this area, but it would be a great feature to have, and one that I personally need. While I have a separate app that does this forecasting, it would be even better if it were built-in to Zabbix. I would be happy to provide any additional information, the Python code for the Holt-Winters algorithm, possibly even some time to implement this (though I haven't worked with PHP in a while).

Please let me know if there is work being done in this area, or if not, would this be a desired feature for anyone else.



 Comments   
Comment by Glebs Ivanovskis (Inactive) [ 2015 Sep 07 ]

Hi! As you can see there is some progress on ZBXNEXT-922. For now forecasting will be implemented by the means of trigger functions. We want them to be as robust and easy to use as possible. Therefore we stick with such common extrapolation techniques like linear regression, polynomials, exponential, logarithmic and power functions. I hope this is just a beginning and as soon as we get feedback on this feature we will probably proceed with something more complicated.

It is very interesting that you use Holt-Winters method. As I can see, there are three-four parameters in this model. This is probably too much for an ordinary user to tune. And we would not want to provide "default" parameters because it is very hard to find parameter set which would suit everyone. Wiki says about exponential smoothing:

Such techniques have broad application that is not intended to be strictly accurate or reliable for every situation.

And this is what concerns us the most.

Anyway, I would be glad to hear more from you about your vision of forecasting in Zabbix and about your experience with Holt-Winters.

Comment by Ross Peoples [ 2015 Sep 08 ]

Hello,

The difference between ZBXNEXT-922 and what I'm proposing is that 922 uses triggers identify capacity issues as they emerge, whereas this one gives an estimation of when that might be. These two complement each other more than compete. While it is ultimately helpful to know when you are about to reach a potential capacity issue, sometimes you also need to answer a question similar to this one: "If we add another server, based on our current growth of application X, how long until we would need to add another server?" While triggers handle most of capacity management, this proposal handles capacity planning.

Being able to see forecasts in graphs allows you to plan for capacity, rather than react to it. It's great that there is some forecasting being done via triggers, now I think we just need to put that into graphs as well. If the extrapolation techniques used for triggers would be suited for graphing as well, then that's fine. I chose Holt-Winters at the time because it was recommended for forecasting things with fluctuations, like CPU usage.

Comment by Glebs Ivanovskis (Inactive) [ 2015 Sep 14 ]

Hi,

ZBXNEXT-922 will allow you to create predictive triggers which can act and prevent problem from happening in an automated manner. Of course, same trigger functions can be used in calculated items and plotted on graphs (but this does not look too pretty at the moment). There are plans to transfer prediction maths to graphs (purely on the frontend side) when trigger functions are done and polished.

Fluctuations are unpredictable by nature. Sometimes Holt-Winters is able to guess them surprisingly well, but sometimes all can go totally wrong.

Comment by David Lang [ 2016 Jan 05 ]

I'll point out that rrdtool implements Holt-Winters and is C code released under GPLv2 (or later), so the code can be directly copied into Zabbix.

for simple functions, calculating it on the fly as you access it can work, but for more complex things, it makes more sense to calculate it once and store the result the way you would any other data source.

looking at ZBXNEXT-992 it looks like it is an on-demand function to calculate the expected value now (or in the future with timeleft), but doesn't provide a way to have the history of the predictions short of running the calculation for each point on the graph as it's displayed.

Is there a way to have a predictive trigger create a data item that can then be graphed as you would any other item?

Comment by Ismael Ricardo Packer [ 2018 Feb 22 ]

Any update with this feature?





[ZBXNEXT-2343] Active agent auto-registration - Replace or remove host groups Created: 2014 Jun 11  Updated: 2015 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 2.2.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marco Hofmann Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: actions, autoregistration, hostgroups, operations
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix Server 2.2.2 on Debian 7
Zabbix Proxy 2.2.2 on Debian 7
Zabbix Agent 2.2.1 on Windows Server 2008 R2


Issue Links:
Duplicate
is duplicated by ZBX-9979 Auto registration. Host is still adde... Closed

 Description   

We startet using Active agent auto-registration instead of discovery. It works very well.
When I create the Auto Registration Action, I miss a feature in the Operations. I can add the new hosts to a host group, but I can't choose to replace or remove other Groups. So I end up having all new hosts in the Discovered Hosts Group.
In the Network Discovery this ist possible.



 Comments   
Comment by Alexander Vladishev [ 2014 Jun 11 ]

Moved to ZBXNEXT project.

Comment by richlv [ 2015 Jun 25 ]

ZBXNEXT-1387 might solve this





[ZBXNEXT-2366] Main menu is not accessible by keyboard (WCAG) Created: 2014 Jul 03  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.3, 2.2.4, 2.2.5, 2.3.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Paweł Seledec Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: frontend, menu, usability, wcag
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In WCAG 2.0 there is a Guideline 2.1 Keyboard Accessible: Make all functionality available from a keyboard.
http://www.w3.org/TR/WCAG20/#keyboard-operation

The main menu does not meet this guideline.

In my frontend I changed in the file include/menu.inc.php this line:

$mmenu_entry = new CCol($menu['label'], $menu_class);

into:

$mmenu_link = new CLink($menu['label'], $menu_url, 'highlight nowrap');
$mmenu_entry = new CCol($mmenu_link, $menu_class);

This solved the problem.



 Comments   
Comment by Ivan Good [ 2016 Feb 05 ]

I think, it would be also really great to have some hotkeys for the most common menu items. E.g. "c h" for Configuration/Hosts and "m l" for Monitoring/Latest data.
Would be highly appreciated





[ZBXNEXT-1903] Common usable class or framework for searching and filtering in frontend Created: 2013 Sep 10  Updated: 2013 Sep 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.8
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marc Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: filters, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There are a couple of ZBXs and ZBXNEXTs that suggest either adding filter functionality where it does not exist yet or extending the existing ones.
In reference to comments in ZBXNEXT-1861, I wonder if that might be an approach that is technically implementable.

I could imagine that a unified filter/search class, that's easy to integrate in existing and upcoming frontend sections, might be as valuable as timesaving.
In addition to that, it would provide a unified look for filters that might allow to be customized easily.

Feel free to toss this idea if it's too far from reality - in any way






[ZBXNEXT-2773] Manual graph disabling Created: 2015 Apr 10  Updated: 2015 Jun 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Jacek Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: graphs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Can you add graph enable/disable functionality (similar way as it is done for triggers or items), which would prevent displaying unwanted graphs in dropdown menu on a graph tab?

On most of network devices I'm working with (routers, switches, cmtses) there is always lots of different phisical/virtual interfaces, which are being discoverd by lld rules. Same rules create graphs (ex. traffic) for every added interface. Usually it is a very inconvenient to find desirable graph, since there are no graph filtering options, search engine doesn't support finding graphs and dropdown menu is flooded with uneccesary graphs.

Using LLD filters to add only wanted graphs, in my opinion, is not an option, because, propably in the end, it would come to creating huge regexp matching only particular graphs.

Not showing graphs built on disabled items is not a solution as well, as ,for example, there can be a need to have an access to historical data on the interface, which is not used anymore.



 Comments   
Comment by richlv [ 2015 Apr 10 ]

it might be better to provide graph filtering / searching.

a very generic issue about that direction is ZBXNEXT-1201





[ZBXNEXT-2375] We should use PHPDebugBar instead of our own debug handles Created: 2014 Jul 09  Updated: 2015 Jun 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Andrejs Čirkovs (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: debugging
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We should change our debug to http://phpdebugbar.com/ because:

  • it is community-maintained
  • has more features than our code
  • looks prettier
  • MIT licensed





[ZBXNEXT-2376] Navigation on maps Created: 2014 Jul 10  Updated: 2014 Jul 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Vekli Sergey Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: automation, maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In our production we have network with ~100 nodes. Each node have some equipment(switches, ups, DSLAM. etc.) and geographically located in one place.One node correspond one group in zabbix and have one map with all items of node. For viewing all nodes we have one global map with "network group" items corresponding network nodes. Now we manually adding link on global map for going from global map to network node map after adding new node of network. It will be nice if in zabbix we have instrument for automatic linking between maps and tool for navigation.



 Comments   
Comment by richlv [ 2014 Jul 10 ]

with nodes going away in 2.4, such a feature would have to be proxy based

Comment by Vekli Sergey [ 2014 Jul 10 ]

Can you explain more detailed?

Comment by Oleksii Zagorskyi [ 2014 Jul 17 ]

Reporter probably did not mean "zabbix node" as it is.

I recall similar discussions here, but I don't think they have any chance to be implemented because it's too complicated and very specific.

Comment by Vekli Sergey [ 2014 Jul 17 ]

We plan to use custom script to automatic creation link from main map to others, now we testing it but after each update version of zabbix will need to check structure of database.





[ZBXNEXT-2282] Monitoring Host Items by different proxys Created: 2014 Apr 27  Updated: 2014 Apr 30

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Proxy (P), Server (S)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Vadim Nesterov Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: proxy
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I have vmware cluster in datacenter. I use LLD to discover VMs. I get IP of Guest OS using VMWare Perl SDK. Zabbix Host is located in the datacenter too. But I need to monitor PING to every VM outside datacenter. Sure I can use proxy outside datacenter. But I don't want to monitor all VM keys by proxy.
So, it will be great if you add monitor not only host by proxy, but every item can be monitor by different proxy.






[ZBXNEXT-2238] use specific interface when linking template to a host Created: 2014 Apr 03  Updated: 2023 Nov 07

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Mickael Martin (Cyres) Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate
is duplicated by ZBXNEXT-1981 Named interfaces Closed

 Description   

I have an idea to solve this problem https://www.zabbix.com/forum/showthread.php?p=147817
If we can "tag" an interface like "WAN" in host configuration page, items on template can be assign only to interface named "WAN".
For example, I have one host, a pfsense with 3 interfaces, WAN, LAN, DMZ. I create this host and assign my ips to the interfaces (192.168.1.1 -> LAN, 95.x.x.x -> WAN, 192.168.2.1 ->DMZ).
So my template has 3 items named icmpping[LAN], icmpping[WAN],icmpping[DMZ] and all are checked on my host.

I know, I can use user macro to approach this functionality, but it's not easy for the user. IPs in "agent interfaces" are no sense if the user want use only template (and not item directly on host). Moreover, IPs are duplicate (and not linked !) between macros and IPs configuration.
Save the host can check if interface name correspond to the template items, if no one interface is named "WAN" and the host is linked with a template whose had an "item's WAN", the host can be saved.

I think it's a good feature for many users who want to check all (or more than one) interfaces on a host using host configuration (and not user macros...)



 Comments   
Comment by Marc [ 2014 Apr 03 ]

similar to ZBXNEXT-735

Comment by Oleksii Zagorskyi [ 2014 Apr 04 ]

mma, if your idea is different from ZBXNEXT-735, please add it as a comment there.

Closed as duplicate.

Comment by Mickael Martin (Cyres) [ 2014 Apr 04 ]

I think yes, a bit. My idea is applying an item of a template to a generic interface (linked by interface's name). It's not exactly the same idea with ZBXNEXT-735 where justin phelps want assign a template directly on an interface. I think the goal is the same but the way to solve our need is different.

Comment by Marc [ 2014 Apr 04 ]

mma, what about: [...] having an optional alias per host interface. This could then be set additionally in template items [...]?

Comment by Mickael Martin (Cyres) [ 2014 Apr 04 ]

My idea is more flexible but more difficult to implement I think, and more difficult to understand for the end-user.
You can have a template with many items witch have different interfaces assigned. Many templates has standard interfaces (WAN, LAN, DMZ) on Cisco Router or Gateway.

Comment by Mickael Martin (Cyres) [ 2014 Apr 04 ]

okkuv9xh, yes I haven't see with comment. Our points of view are similar. So you can close as duplicate this request.

Comment by Oleksii Zagorskyi [ 2021 Mar 09 ]

ZBXNEXT-735 was implemented in a limited way that current request is not a duplicate anymore.
So reopening and updating summary.





[ZBXNEXT-2146] Allow to add automatically generated web screnarios graphs to screens Created: 2014 Feb 07  Updated: 2014 Feb 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Maxim Krušina Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: screens, usability, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Now, there are really great graphs generated automatically when adding web scenarion.
But unfortunatelly, there is no way how to include those graphs into Screens.
I would like to add web scenario graphs to my server screens, so I can compare things like CPU load, MySQL load etc with website response times...
Thanx!






[ZBXNEXT-2186] Permission problem with user type "Zabbix Admin" in auto-registration action page Created: 2013 Dec 06  Updated: 2014 Mar 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Dimitri Bellini Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: actions, autoregistration, permissions, template, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux Centos 6.5


Attachments: PNG File zabbix_acl_issue_maps.png     PNG File zabbix_acl_problem_user_permission.png     PNG File zabbix_acl_problem_usergroup.png    
Issue Links:
Duplicate

 Description   

I have notice a problem related to a user configured as "Zabbix Admin" grant and Read ONLY permission to Template group.
If I try to create an action type "Auto registration" and i try to link a template i can't able to select any template, using Zabbix 2.0.9 i don't see this kind of problem.
If i set the user with Read/Write permission i can link the correct template.
If you need other info please ask me.

PS: The strange thing is i was able to create a new host with linked template with the same "user" with Template privilege set to readonly...



 Comments   
Comment by Dimitri Bellini [ 2013 Dec 09 ]

Update: I have notice the same issue on "Trigger Action" when i try to select a condition "template".

Comment by Dimitri Bellini [ 2014 Mar 04 ]

I still report ACL problem also on Zabbix v.2.2.2, i have attached some picture to show also a problem on MAPS page.
Please check this problem.

Comment by Dimitri Bellini [ 2014 Mar 04 ]

MAPS with ACL problem

Comment by Dimitri Bellini [ 2014 Mar 04 ]

User permission configuration

Comment by Dimitri Bellini [ 2014 Mar 04 ]

UserGroup permission configuration

Comment by Oleg Ivanivskyi [ 2014 Mar 04 ]

It seems that relates to ZBX-3534.





[ZBXNEXT-3228] Graph tree Created: 2016 Apr 02  Updated: 2016 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: itnihao Assignee: Unassigned
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File graphtree-2.png     PNG File graphtree-3.png     PNG File graphtree-4.png     PNG File graphtree-5.png     PNG File graphtree.png    

 Description   

Zabbix graph tree can show all graphs and log in one page



 Comments   
Comment by itnihao [ 2016 Apr 02 ]

https://github.com/OneOaaS/graphtrees
cd

{3.0.1-web}

wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3-0-1.patch
yum install -y patch
patch -Np0 <graphtree3-0-1.patch

Comment by Ryan Armstrong [ 2016 Apr 05 ]

This is one of the strengths of Cacti, especially in dealing with thousands of servers across multiple resolver groups.

Some thoughts:

  • root level tree nodes could replace hostgroups
  • hosts should continue to be able to be members of multiple groups or tree nodes
Comment by itnihao [ 2016 Apr 05 ]

Ryan Armstrong
root level tree nodes is the hostgroup: graphtree-3.png
groups all grpahs support page: graphtree-4.png
hosts all grpahs support page: graphtree-5.png

Comment by Taufik Hidayat [ 2016 May 25 ]

hi,

i have an error on zabbix 3.0.2 like this :
Argument 3 passed to getPagingLine() must be an instance of CUrl, none given, called in /usr/share/zabbix/graphtree.right.php on line 251 and defined [graphtree.right.php:251 → getPagingLine() in include/func.inc.php:1471]

anyone know the problem?

Comment by itnihao [ 2016 May 26 ]

It's a bug,you can fix the problem like this:
cd ${You PHP PATH}
mv graphtree.right.php graphtree.right.php-old
wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/web/graphtree.right.php

graphtree also support 3.0.1/3.0.2/3.0.3

Comment by Gian [ 2016 Oct 21 ]

hi

does graphtree also support zabbix 3.2.1?
just tried it but i get http error 500 if i navigate to Monitoring > Graphtree and can find no errors in the log files

thank you and greez
Gian





[ZBXNEXT-2644] Zabbix server should inform user, if proxy major version differs from server's version Created: 2014 Dec 17  Updated: 2017 Feb 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Filipp Sudanov (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: proxy, troubleshooting, upgrade, version
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Currently Zabbix server allows older/newer proxies to connect and work without any warnings. Also some advanced users might want to do this intentionally, normally this would mean that the user does not realize that proxy's major version should match server's.

Zabbix should inform user about this sitiation, at least in server's (and proxy?) log files, better also in proxy list in the front-end.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Sep 16 ]

I'm thinking about new item keys for internal monitoring like zabbix[version] similarly a we have currently agent.version for agent.
For proxies we could extend existing key with additional value for 3rd param - zabbix[proxy,<name>,version].
But the same key for zabbix and proxy - looks better desition for me.

Then compare received values with regexp() trigger function for the same/several global regexp.

Note that we support already such a key for java proxies - zabbix[java,,version]

https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/internal

Comment by Oleksii Zagorskyi [ 2015 Oct 28 ]

cross reference - ZBXNEXT-2805

Comment by Marc [ 2017 Feb 26 ]

Could be (also) nice to have a "Version" column in Administration -> Proxies.





[ZBXNEXT-2517] Please add the possibility of online viewing log files in the web interface Created: 2014 Oct 15  Updated: 2014 Oct 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.4.1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Nikolay Korelov Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: frontend, logmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hello.

Please add the possibility of online viewing log files in the web interface
I think it will be convenient if the log files can be watched in the web interface in real time.

Example.
On the server running zabbix syslog . Syslog sever collects log with network device.
In the web interface zabbix look in real time what is written in this file.
Excellent if will Pause function (suspend the conclusion of new posts) and Play (Reactivate output messages)

It is useful to be able to filter the output messages by IP or
several configurable arbitrary parameters. for example according to Alerts; Critical; Errors; Warning etc.....



 Comments   
Comment by richlv [ 2014 Oct 15 ]

not quite sure what this request is about - should the data be stored in an item or not ?





[ZBXNEXT-1967] resolving {HOST.*} macros in graph name Created: 2013 Oct 14  Updated: 2018 Mar 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.1.6
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: hamid sfandiari Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: graphs, macros, name
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Centos 64 bit


Issue Links:
Duplicate
is duplicated by ZBXNEXT-2955 Macros is template graphs names Closed

 Description   

Although we can use some macros in graph description but ZABBIX GUI is still unable to use some of other macros like

{HOST.DNS}

{HOST.HOST}

at description of graphs



 Comments   
Comment by Oleksii Zagorskyi [ 2015 Sep 15 ]

I've changed "graph description" term to "graph name" one, as actually we don't have descriptions for graphs.

Also, extended suggestion to all HOST.* macro.

Comment by Oleksii Zagorskyi [ 2015 Sep 15 ]

Take into account ZBX-6675.
How to expand the macros if I'll use items from several hosts? - I don't have a good answer.

Maybe it could be supported as it was previously working before 2.4 - expand macros from a host of first added (or first manually sorted?) item on the graph.

Comment by Oleksii Zagorskyi [ 2015 Sep 16 ]

ZBXNEXT-2767 asks to expand user macros in graph names

Comment by Branislav Brna [ 2015 Sep 23 ]

If anyone interested I found little workaround to achieve this:
You can create external script like zbxhostname.sh with line echo $1
Then create in template new item eg. Zabbix hostname set type to external check and as key set zbxhostname.sh["{HOST.NAME}"]
Then you can call this item in template graphs with

{{HOSTNAME}:zbxhostname.sh["{HOST.NAME}"].last(0)}

I am guessing same can be applied to other right now not supported system macros in templates. And yeah I know its not exactly elegant, but it gets job done at least for now.

Comment by Tomasz Kasperczyk [ 2017 Apr 10 ]

I'd like to remind everyone that this issue is still unsolved. Let's say that I have 100 network switches added to Zabbix. I want to create traffic graphs for every single one of them. In order to do that, I create a template in which I define all items, triggers and graphs. Then I add all the switches to this template. As a result, each switch has its own set of graphs. The only problem is that I can't customize the names of these graphs! This is really frustrating because every time I look at a graph called "Network traffic on port 25" (a name specified in the template), I need to log into that switch and look up the 25th port description. If I could use user-defined macros in graph names, I could change the graph names to something like "{$NETWORK_TRAFFIC_25}" and then define these macros for every host which needs a custom name for certain graphs. So here's how it would look like:

  • Template DLINK-3420
    User macros:
    {$NETWORK_TRAFFIC_25} ---> "Network traffic on port 25",
    {$NETWORK_TRAFFIC_26} ---> "Network traffic on port 26",
    ...
    Graphs:
    Name: {$NETWORK_TRAFFIC_25}
    Name: {$NETWORK_TRAFFIC_26}
    ...
  • Host 1 assigned to Template DLINK-3420
    User macros:
    {$NETWORK_TRAFFIC_25} ---> "P25 1Gbps WDM: CEO's office"
    {$NETWORK_TRAFFIC_26} ---> "P26 10Gbps WDM: Uplink to NY"
    etc.
Comment by Alexander [ 2018 Mar 28 ]

I support this!

Comment by Alexander [ 2018 Mar 28 ]

I support idea to add macros support in graph name.





[ZBXNEXT-2737] Inventory fields populated by discovery items Created: 2015 Mar 10  Updated: 2024 Mar 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: 2.2.7, 2.2.8
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Higher Information Group Assignee: Unassigned
Resolution: Unresolved Votes: 23
Labels: Zabbix7.2, inventory, lld
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-336 ability to customise inventory fields Open

 Description   

I see several other suggestions hinting around the same general purpose, and if I missed this suggestion elsewhere, I apologize.

I would love to be able to have discovery items (more specifically item prototypes) in templates populate inventory fields, or even create 'on-demand' fields, so to speak. The most obvious situation I've run into that this would be an ideal solution for would be stacked switches monitored by SNMP. I currently use discovery items to pull serial numbers, ROM versions, etc. from every switch unit in the stack. If we could populate an inventory field named with, say the {#SNMPINDEX} macro, it could create serial number and software version inventory items for every unit of the stack without having to create items/templates specific to the number of units in each deployed stack. It could also accommodate stacks with more than 2 units (Since there is only Serial Number A and B currently, and our current switches can stack up to 12 units) without having to dump info into the larger text fields (like notes).

I am sure there would be other uses using the agents or user parameters, but that was the single most impacted situation I've been trying to work around currently.

This would be very closely linked to customize-able inventory fields (which I know I've seen other posts for).



 Comments   
Comment by James Kirsop [ 2018 Nov 12 ]

I've got a different use case but requiring the same underlying principle.

I'm using LLD to discover the hosts on a Failover HyperV Cluster. I can pull the node (i.e. the physical host), but I'd like to put this into the inventory on discovery, so we can (using the API) search for hosts on a particular node and pull their statistics. Given that the host could move between nodes, we would update this upon each LLD run.

Comment by Guilherme de Sousa Caria [ 2020 Jan 23 ]

I'm facing the same obstacle. I have created a rule with Network Interface Discovery and an item prototype to search for the MAC Adresses for each network interface and I needed that information into the Inventory. So sad to see that it is impossible even to intervain manually in each item created by this rule pointing it out where the information need to go into the Inventory.

Comment by thomas [ 2021 Sep 16 ]

Same need here : it would be nice to automatically populate the inventory for a host with multiple cards or modules to get all serial numbers and part numbers.

Comment by Nathan Liefting [ 2022 Jan 19 ]

Very usefull and as mentioned especially if we have an implementation of ZBXNEXT-336 available. If we do discovery on Serial numbers for example and then populating just two fields would be kind of a limitation.

Just want to put it out there that it should be considered (and I think preferred) to implement customisation to inventory fields together with this one  

Comment by Alexei Vladishev [ 2022 Feb 04 ]

An option to select inventory field in item prototypes will cover only a few limited use cases. I think it should be addressed under ZBXNEXT-336 to have a proper complete solution.





[ZBXNEXT-2367] There are no alternative texts for graphs and maps (WCAG) Created: 2014 Jul 03  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Paweł Seledec Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: graphs, images, maps, wcag
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File alt.diff    

 Description   

All maps and graphs have titles that can not be read in another way, for example, speech processor.
There are no alternative texts for these elements.

I attach my solution (diff from my CVS server).



 Comments   
Comment by richlv [ 2017 Mar 26 ]

this might be solved by ZBXNEXT-2031 - do you have a chance to test this ?





[ZBXNEXT-7600] SLA report according to Services tree structure Created: 2022 Apr 01  Updated: 2022 Apr 01

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Constantin Oshmyan Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: SLA, regression, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

Previous versions of Zabbix (before v6.0) had a screen "Monitoring" -> "Services".
This screen could provide a report (current Status, SLA / Acceptable SLA) for all services grouped according to the Services tree structure.
It was possible to select a needed time period using a drop-down list: "Today", "Last 7 days", "This month", etc.

Unfortunately, this functionality has been completely lost in v6.0.
The only existing kind of reports now is by a single SLA object (possibly, additionally filtered by a single service).
However, it's impossible to take a report grouped by services structure (as before).
Moreover, if some services used to have a different SLO levels, then such report could be a non-trivial task now (as in v6.0 they use a different SLA objects).

Nevertheless, this kind of reporting is very actual; as it is a functionality lost in the new version. There should be both: a reports and a dashboard widget; ideally – with an additional possibility to filter services by a tag (to display a report by a some subset of services only – for example, for a higher 2 levels of services tree).

ZBXNEXT-7392 describes a similar problem; however, that ZBXNEXT relates to the current state screen, but this one – to the reports.






[ZBXNEXT-7664] Widget with horizontal Gauges/Indicators for host/hosts Created: 2022 Apr 29  Updated: 2022 Apr 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.4rc1, 6.2.0alpha2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Edgar Akhmetshin Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In addition to 'Top hosts\ it would be convenient to have widget with ability to show items from single/multiple hosts.

For example: Zabbix Server and all Utilisation* (internal processes) items.

Why this needed: NOC/Dashboards, observability - much easier/faster to check indicators with some thresholds, instead of manually reading raw values or graphs with 10+ items, especially on large screens.



 Comments   
Comment by Brian van Baekel [ 2022 Apr 29 ]

Are we looking at something like ZBXNEXT-743 and/or ZBXNEXT-463 ? in that case: Yes this is very very much wanted!





[ZBXNEXT-7688] Add grouped items widget Created: 2022 May 09  Updated: 2023 Mar 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Waleed Mortaja Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: frontend, usability, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Add a widget to show grouped items data.

For example, the Proxmox Template discovers "Nodes" using LLD. Now we have the following items (among others) for each discovered node:

proxmox.node.cpu{#NODE.NAME}

proxmox.node.memused{#NODE.NAME}

 

If you can provide a widget that shows a row for each {#NODE.NAME} and a column of proxmox.node.cpu{#NODE.NAME} and proxmox.node.memused{#NODE.NAME} that would be very great! (i.e., group the user-selected columns using key id or maybe LLD macro)

If the items value could be displayed using "Bar" and/or "Indicators" (as in "Top hosts" widget) that would be much greater!

 

Note: Proxmox Template is given as an example. The widget request can be generalized to any LLD items in any Template.

 

Very thanks!



 Comments   
Comment by Adriano Trindade [ 2022 Jun 23 ]

I also would like this functionality, I use it a lot on Grafana.

Comment by ES [ 2023 Mar 16 ]

I third this one with a slight addition. The ability to manually input items from different hosts.

Eg, make a Top Hosts widget for selected data stores throughout my environment.

Or

Eg, add the ability to make have better indicators on Plain Text as it can already do the above

Currently I need a separate widget for each which takes up a lot of real-estate. 

 





[ZBXNEXT-7810] Open Widget in a new/current tab/window. Created: 2022 Jun 21  Updated: 2022 Jun 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.5
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Miroslav Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In the old screens, I could click on a graph and open it then perform zoom on the specific graph.

In the new Dashboards I can't do it. I can't open a specific graph or zoom on a specific graph. When I zoom, all graphs are zoomed on the same Dashboard.

There's no way of opening a specific widget in a new tab/window to perform zooming on it.

This is a very important aspect of using Dashboards. Please add this function that worked great in the old Screens.

 

Thanks.






[ZBXNEXT-4774] Add support to maximize (drop down to) for dashboard widgets Created: 2018 Sep 28  Updated: 2022 Nov 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Vitaly Zhuravlev Assignee: Valdis Murzins
Resolution: Unresolved Votes: 3
Labels: dashboard, widgets
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File 1.png     PNG File 2.png     PNG File 3.png     PNG File 4.png     PNG File 5.png     PNG File maximeGraphWidget-PoC.png    
Issue Links:
Sub-task
depends on ZBXNEXT-4770 New graph widget is not resized with ... Open

 Description   

There are no dropdown links to elements inside the widget. How do I open a map inside map widget in one click(I saw a mistake on the map and I want to correct it)?  Same with graph If I would want to open it full screen(note: classic graph dropdown is supported in 4.0.0beta2 if the legend is clicked?)

Suggestions:

  • Add maximize button(but only in gray! ) for all widgets except:
    • Clock widget
    • System information
    • Favorite X
    • Map navigation
  • When clicked widget must be resized to fit all dashboard visible space.
    • All other widgets must become hidden/inactive with any refresh/processing in them paused.
    • Focused widget maximize icon must be changed to 'minimize'  or 'back to dashboard' icon
    • Map widget when resized to full screen must show control panel:

       (or Edit map button must be available to the widget all the time, discuss)
    • Classic Graph/Simple graph widget, when resized to full screen, must show control panel:

       (here, view as is interesting to have available)
      • If 'view as' is changed to Values then it is reset back to Graph when user returns to the dashboard
    • (In the future) After we will introduce ability to save problem filters( ) - problem filter configuration in widget must be dropped. Only link to saved filter must be provided in widget configuration. When problem widget is maximized, configuration of the applied filter must be shown. With ability to change and save it. This will help to unify problem view and problem widget.


 Comments   
Comment by richlv [ 2018 Sep 28 ]

Images in the issue description are broken.

Comment by Verde [ 2022 Nov 04 ]

Hi guys,

Is there any news about this feature?, the new graph widgets on dashboards are great but it's hard for some users to use them since widgets can't be expanded to a full screen, and creating as many new dashboards (for only one graph)  as graph widgets you have, doesn't sound efficient.

it would be good to have a button to expand the widget popping over the dashboard to full screen, and be able to minimize the widget to its normal size and position on the dashboard.

 

 

Regards,

 





[ZBXNEXT-4668] Change history per object in corresponding configuration views. Created: 2018 Aug 02  Updated: 2018 Aug 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.4.12
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marc Assignee: Valdis Murzins
Resolution: Unresolved Votes: 4
Labels: actions, audit, changelog, customgraphs, discoveryrule, hostgroups, hosts, items, maintenance, services, templates, trigger, webscenario
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File ChangeHistory.png    

 Description   

The Audit log report may reveal when an object like Host groups, Hosts, Items, Triggers... you name it, was changed by whom.

The Audit log is only available to users of type Zabbix Super Admin - for good reasons of course. Further, it is rather useful to find out who did what, resp. to walk over the traced actions as a whole.

In a multi-user environment, it is valuable to users to see who has changed what, when, on a particular object.

So, how about extending all the configuration views available to users of type Zabbix Admin, with another tab showing the audit log for the currently edited object?

This list should of course only list actions of users sharing the same user group. The list should also not reveal a user's IP address.

Extending the scope to configuration objects only available to Zabbix Super Admin users might be worth to think of too.






[ZBXNEXT-3969] Import / Export support for a leaf in IT Services Created: 2017 Jul 12  Updated: 2017 Aug 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.0.9
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Heðin Ejdesgaard Møller Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: ITServices, Import/Export
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

3.0 LTS


Issue Links:
Sub-task
part of ZBXNEXT-85 Add a CLONE functionality in IT Services Open

 Description   

IT Services would be even more awesome if we got the ability to export/import a leaf and it's children, such that on import, I would point each of the non-trigger defined leafs to a host, where it's expected that the same trigger condition is located as child-leafs.
A use-case for this could be exporting a leaf that contains all relevant components for the LAMP stack.
Each deployment of the LAMP stack would only require a leaf import, pointing at the newly deployed hosts.

In this scenario i'm assuming that everyone configures the it services tree like this:

Service

  • Server(s)
    • Trigger(s) on server(s) to deliver said parent service.


 Comments   
Comment by Vitaly Zhuravlev [ 2017 Aug 03 ]

Maybe better implement this as as Clone feature like that:
ZBXNEXT-85





[ZBXNEXT-4694] Preprocessing rule for UTF8 encoding Created: 2018 Aug 20  Updated: 2023 May 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexei Vladishev Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PDF File Preprocessing for UTF8 encoding 1.0rc1.pdf    

 Description   

Since Zabbix assumes all incoming data in UTF8 it makes accepting of non-UTF8 values cumbersome.  It would be great if Zabbix supported a preprocessing rule for encoding data into UTF8.



 Comments   
Comment by Alexei Vladishev [ 2018 Aug 20 ]

Hey all! Please have a look at the attached acceptance criteria document that describes proposed enhancements for UTF8 encoding. It has all chances to be implemented in Zabbix 4.2.

Let me know what you think. Is there anything to improve? I appreciate any feedback.

Comment by Glebs Ivanovskis [ 2018 Aug 29 ]

Use case is unclear to me.

Preprocessing is done by server. Server gets data from proxies, Java gateway, active agents and sender using JSON-based protocol. JSON format implies that string values are encoded in Unicode. Therefore this feature will only help in case non-UTF-8 data is produced by passive agents, SNMP and IPMI devices, external checks, HTTP agent checks, etc. executed by server itself. Or in a hypothetical scenario when non-UTF-8 data is produced in the middle of preprocessing pipeline.

Am I missing something?

Comment by Vladislavs Sokurenko [ 2018 Aug 29 ]

Good point cyclone for checks executed on Zabbix proxy, preprocessing must only be done on Zabbix proxy.

Comment by Vitaly Zhuravlev [ 2018 Aug 29 ]

cyclone, didn't you describe enough use cases?
The main use case is to change encoding of CSV files

Comment by Glebs Ivanovskis [ 2018 Aug 29 ]

Dear vzhuravlev, where do you get CSV file from?

Comment by Vitaly Zhuravlev [ 2018 Aug 29 ]

external script for example or from agent userparam

Comment by Glebs Ivanovskis [ 2018 Aug 29 ]

My point is that if this external script is executed by proxy, then:

  1. proxy won't be able to save its result in its database because the database uses UTF-8 encoding;
  2. proxy won't be able to send its result to server because communication protocol uses plain JSON strings for item values.

And in case if agent userparameter there will be a similar protocol issue if agent is active. Even in the case of passive check there could be issues because of a special meaning of 0 byte in passive check response (it separates value and error message).

This is basically the reason why agent items dealing with files (log*, vfs.file.contents, etc.) all have encoding as a parameter.

Comment by Vladislavs Sokurenko [ 2018 Aug 29 ]

Currently it looks like this task needs preprocessing on Zabbix proxy and agent specific preprocessing on agent to be implemented ?

Comment by Vitaly Zhuravlev [ 2018 Aug 29 ]

Thanks Gleb for valuable feedback.

Comment by Glebs Ivanovskis [ 2018 Aug 29 ]

You are welcome!

I hope this can be a motivation to make specifications publicly available once again.

Comment by Alexei Vladishev [ 2018 Sep 21 ]

Gleb, we are working on it!





[ZBXNEXT-4097] Add trigger colors to Latest data Created: 2017 Sep 12  Updated: 2019 Feb 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.2.7, 3.4.1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Nicola Mauri Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: frontend, items, triggers, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File proposal2.png     PNG File triggers on latest data - filter.png     PNG File triggers on latest data 2.png    
Issue Links:
Duplicate
Sub-task
part of ZBXNEXT-957 Latest Data - Highlight items when a ... Open

 Description   

It would be useful to show wether items listed in Latest data have related triggers in problem state, in a way similar to Monitoring > Overview.
This could quickly let the user detect issues.



 Comments   
Comment by Nicola Mauri [ 2017 Sep 13 ]

Clicking or mouse-hovering on a data cell could popup details about triggers related to item.

Cell background color would be set according to maximum severity trigger.

Of course, extra queries could impact page performance, so a "Show problems" option should be provided in Filter section to disable trigger visualization.

Comment by alix [ 2019 Jan 23 ]

Related: https://support.zabbix.com/browse/ZBXNEXT-957





[ZBXNEXT-4116] Zabbix displays "OK" status for unknown triggers in "Overview" Created: 2017 Sep 22  Updated: 2018 Jan 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 3.4.1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleg Ivanivskyi Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: notsupported, overview, trigger
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 3.4


Attachments: PNG File overview.png     PNG File unknown.png    
Issue Links:
Duplicate

 Description   

From the documentation (https://www.zabbix.com/documentation/3.4/manual/web_interface/frontend_sections/monitoring/overview):

The Monitoring ? Overview section offers an overview of trigger states or a comparison of data for various hosts at once.

In "Overview", Zabbix displays "OK/Green" state for triggers with "Unknown" status which is misleading. Zabbix should probably use a different color to highlight them (e.g. white/grey). Also, it would be great to be able to hide them by using a filter.






[ZBXNEXT-3992] Allow {HOST.NAME} or {HOST.HOST} to be used in group prototype Created: 2017 Jul 25  Updated: 2017 Jul 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S), Templates (T)
Affects Version/s: 3.0.9, 3.0.10, 3.2.6, 3.2.7
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Aviram Alter Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There needs to be a way to use the

{HOST.NAME} or {HOST.HOST} macros in the Group Prototype fields.

Use case:

Discover all docker containers on a host, create each container as a host in Zabbix Server, have each container in a group with the name of the host it was discovered in ({HOST.NAME}

or

{HOST.HOST}

)






[ZBXNEXT-6169] Make "Execute Now" available in other masks Created: 2020 Aug 28  Updated: 2022 Jul 01

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 5.0.3
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marco Hofmann Assignee: Valdis Murzins
Resolution: Unresolved Votes: 16
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian 10 Buster amd64
Zabbix 5.0.3


Attachments: PNG File image-2020-09-18-16-58-15-539.png     PNG File image-2020-09-19-12-56-44-904.png    
Issue Links:
Duplicate
duplicates ZBXNEXT-4768 Check now button available in 'Latest... Closed
is duplicated by ZBXNEXT-6188 "Check Now" function in Problem Dashb... Closed

 Description   

I've always wondered, since Execute Now (Check Now) was introduced in 4.0.0, why this button isn't available in Monitoring -> Problems View?

Often I fix event problem of an item that only checks every 1h or more. Then I want to check the item value after my fix, so the problem Event will resolve.

Sadly it is only available in the Items Administration.

I would like to see this button also in the Views:

  • Monitoring -> Latest Data
  • Monitoring -> Problems


 Comments   
Comment by sancho [ 2020 Sep 18 ]

It would be great something like this:

If possible... ?

 

Comment by Marco Hofmann [ 2020 Sep 19 ]

Hi sancho, thank you for supporting my Feature Request. Sadly I disagree with you MOC. If you would add Execute Now to the Host Context Menu, you would be unable to control which item exactly receives the command. As it's implemented currently, you explicitly select the item(s) you want to check.

I would like to see it implemented like this: You view the list of problems, solve some of them administrative, and you know that the item will only get checked again sometimes in the next 1-6h for example, so you want to get the values NOW:

Comment by sancho [ 2020 Sep 22 ]

Hi Marco,

You are absolutely right, your option is more logical.

Hopefully they can implement it, it would save a lot of steps and time.

A greeting.

Comment by richlv [ 2021 Feb 11 ]

Partially duplicate of ZBXNEXT-4768.
Note that in Monitoring -> Problems a problem/trigger could easily reference multiple items, this functionality in that case is a bit more tricky - should all included items be forced?
What if some can be forced, some not (like trapper items)?

Comment by Marco Hofmann [ 2021 Feb 15 ]

All items possible should be checekd, most important Zabbix Agent passive items.
Green: If there are multiple items in a problem, all of them should be checked.
Yellow: If there are supported and unsupported types mixed, Zabbix agent active and/or Trapper, check only the supported ones (but should this be displayed with a yellow message instead of a green, where it states: Partly executed?)
Red: If there are only unsupported item types, present a red message: Execute now not possible with this item type.

Comment by Joachim Vertommen [ 2021 Feb 16 ]

Ideally we should also be able to set the permission to do an "Execute now" in the User roles.

Comment by Marco Hofmann [ 2021 Feb 16 ]

joachim.vertommen Yes, this becomes necessary due to the changes in the permissions in Zabbix 5.2.

Comment by Mickael Martin (Cyres) [ 2022 Jul 01 ]

Hello,
Linked with https://support.zabbix.com/browse/ZBXNEXT-4768, so maybe Zabbix Team can close it ?

Comment by Marco Hofmann [ 2022 Jul 01 ]

Excuse me? This might sound similar, but it's a different request. It might have been added to "Latest data" in the meantime, but I would like to see it in Monitoring -> Problems View. This hasn't changed afaik, so this request is still unresolved.

Comment by Joachim Vertommen [ 2022 Jul 01 ]

I agree with Marco. An operator should be able to request an update of all underlying items of a problem without having to know which items.

It's a totally different use case.

Comment by Mickael Martin (Cyres) [ 2022 Jul 01 ]

Yep, I understand, sorry. For your information, there is a new role for admin and user to get the last value via "Check now".





[ZBXNEXT-5364] Sort/Filter columns from tables Created: 2019 Aug 11  Updated: 2019 Aug 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.2.4, 4.2.5, 4.4.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Francine SAUVAGE Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Improve table capabilities with sort / filter abilities (like kendo-ui) for each column






[ZBXNEXT-5304] Large UX issue Created: 2019 Jul 03  Updated: 2020 Feb 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.0.10
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Boris Johnson Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2019-07-03-15-15-20-413.png    

 Description   

When adding permissions (Or any other page that features layered add functionality)

If you will press Update without pressing Add you will loose your progress.

As a Zabbix user I would like to be either informed about my unsaved progress or to have it saved when Update is pressed.



 Comments   
Comment by richlv [ 2019 Jul 03 ]

That' s a very old problem.
ZBX-7341 describes how it is also inconsistent across the UI, and there likely are some other issues, explicitly talking about unsaved changes (think action operation editing).





[ZBXNEXT-5290] new dashboard widget - dashboards navigation tree (needed especially for kiosk mode) Created: 2019 Jun 25  Updated: 2019 Jun 25

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Valdis Murzins
Resolution: Unresolved Votes: 3
Labels: dashboard, widgets
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File grafana-example.png    
Issue Links:
Duplicate

 Description   

Take a look to attached picture. That's Grafana.

We need something similar to be able easily and quickly navigate across many (expect ~1000) dashboards.

Possibility to switch between dashboards should be possible in Kios mode too.

Maybe it could be some CSS+HMTL insert form or so.






[ZBXNEXT-5363] Export table to CSV Created: 2019 Aug 11  Updated: 2019 Aug 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.2.4, 4.2.5, 4.4.0alpha1
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Francine SAUVAGE Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Improve table capabilities in a generic way (like kendo-ui)

<table> grids are too basic => add an export to csv button to each table as a generic button

 

see https://stackoverflow.com/questions/16078544/export-to-csv-using-jquery-and-html

 

for me, it is definitely a major improvement






[ZBXNEXT-5259] Ability to customise colour and transparency of problem overlay in new graph widget Created: 2019 Jun 05  Updated: 2019 Jun 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.2.1
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Mark Hatton Assignee: Valdis Murzins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Steps to reproduce:

  1. Create a new graph widget on a dashboard
  2. Set up an item to graph using a red colour
  3. Set up problems for the host to be displayed on the graph

Result:

Since problems are overlayed on the graph in red with no option to choose another colour, it can be very hard to see red-coloured graph items as the reds all merge together visually. It becomes increasingly difficult to see these items as more problems get overlayed at the same time.

Expected:
Facility to adjust the colour and transparency settings of the problem overlay, just like we have for graph items. Ideally, this should allow continuing to show the problem bar underneath the graph's x-axis as now, but without any colouration being applied to the main graph body.






[ZBXNEXT-6310] Zabbix Script Item should support other Script Languages like PowerShell (Core) Created: 2020 Oct 30  Updated: 2020 Oct 30

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Proxy (P), Server (S)
Affects Version/s: 5.2.0
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Marco Hofmann Assignee: Valdis Murzins
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian 10 amd64



 Description   

Zabbix 5.2.0 introduced the new item type "Script", and like the pre-processing feature it only supports JavaScript.

IMHO JavaScript is nothing a typical IT system administrator like me, working at a Microsoft centric manage services provider (MSP) is capable of. I cannot write a single word of JavaScript as a Citrix and Microsoft Server Administrator, nor can my co-workers. I have co-workers which are web-developers and they can write JavaScript, but they aren't system administrators. My point is: Typical administrators can write PowerShell, Python, Perl, Bash. but not JavaScript.

I personally can write very good PowerShell 7 scripts on Linux.
PowerShell 7 is available on many Linux Platforms:
https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7

So my request is as following:

Please add support to insert any script into the code field other than JavaScript and let me just choose the interpreter as an additional drop-down field in Zabbix Frontend. So the Zabbix server administrator is responsible to install the language needed on Zabbix Proxy/Server like perl, python, PowerShell, or whatever for the script interpretation.



 Comments   
Comment by Marco Hofmann [ 2020 Oct 30 ]

Maybe I should've created this ZBXNEXT with a slightly different focus, not especially about adding PowerShell, but advancing the "External Scripts" feature, which is unchanged since quite some time.

Especially with the background that Zabbix focuses more and more on making templates exchangeable between Zabbix installation. External Scripts make this quite complicated.

Maybe the external scripts, should be manageable from Zabbix Frontend.





[ZBXNEXT-5987] Mass Update for item property "Populates host inventory field" Created: 2020 May 27  Updated: 2020 May 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.4.8, 5.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marco Hofmann Assignee: Valdis Murzins
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian 10 Buster amd64
MariaDB 10.4
Zabbix server 4.4.8
&&
official appliance 5.0.0



 Description   

Today I played around with the Zabbix inventory feature. For that purpose I wanted set some item properties from different templates to Populates host inventory field via Mass update. But I had to discover, that Mass update doesn't offer the possibility to change the Populates host inventory field property of any item.

This is a limitation I would like to see addressed.

This is limitation is also visible here:
https://www.zabbix.com/documentation/current/manual/config/items/itemupdate






[ZBXNEXT-5770] Multi-server dashboard support Created: 2020 Feb 21  Updated: 2023 Jan 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Aleksandrs Petrovs-Gavrilovs Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Hello,

Due to possible environment restrictions, strict setups or other exceptions, there sometimes is a need of having separate Zabbix servers for each of the environments, while retaining the possibility of centralized overview of monitoring as a whole.

An effective solution would be a dashboard that would i.e. show data from Zabbix server A in combination with Zabbix server B, but not just performance data, as it is possible already, but a broader one, that would show problems from both or more servers and perhaps even make possible to access data and graphs from mentioned servers.

Please consider implementing this feature.

Best Regards,
Aleksandrs






[ZBXNEXT-5383] Use trigger naming variable in MAP Created: 2019 Aug 27  Updated: 2019 Aug 27

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.2.4, 4.2.5
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: GASCA Sylvain Assignee: Valdis Murzins
Resolution: Unresolved Votes: 3
Labels: macros, maps, templates, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

MAP WEB INTERFACE


Attachments: PNG File image-2019-08-27-09-57-07-697.png     PNG File image-2019-08-27-09-57-43-205.png     PNG File image-2019-08-27-10-05-15-358.png     PNG File image-2019-08-27-10-06-41-308.png     PNG File image-2019-08-27-10-08-44-492.png     PNG File image-2019-08-27-10-18-58-350.png    

 Description   

Could be interesting to use the naming variable used to create trigger and items from the template.

in my context :

i have done a picture of a switch and i created each status icons for it :

So if we could use Variables from the template to dynamicly name label or Urls we could do something like this :

in template {#IFNAME} and {#IFALIAS} for example int the interface 12 of my switch result as  as Ten-GigabitEthernet1/0/12  and P4530G3NEW-NODE03 vmnic1

So if we could  put thos variable/macros in the URLs name part of the map object :

The result in the map would be :

The feature would be useful when you have switchs with detailed description

Like RJ45 wall outlet wit int the office :

in my case i have in the port description (ifAlias) :

interface GigabitEthernet2/0/21
 description Office A202 - 15
interface GigabitEthernet2/0/22
 description Office A202 - 16

So you will see quiclky with the map where is plugged each port of the switch.

and of course you can use this for any other context depending the description.






[ZBXNEXT-5284] Триггер для формы (shapes) на карте Created: 2019 Jun 25  Updated: 2019 Jul 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 4.2.3
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Rustam Assignee: Valdis Murzins
Resolution: Unresolved Votes: 2
Labels: font, maps, shapes, trigger
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Temp_01.png     PNG File Temp_02.png    
Issue Links:
Duplicate
duplicates ZBXNEXT-5317 Change shape appearance on trigger st... Open

 Description   

Возможно ли в следующих версиях zabbix в картах, для форм (shape) добавить триггер?Хочется допустим что бы при срабатывании триггера, текст шрифта менялся в размере и в цвете.

Пример на скриншоте немного подредактирован.






[ZBXNEXT-336] ability to customise inventory fields Created: 2010 Apr 29  Updated: 2024 Mar 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 204
Labels: Zabbix7.2, inventory
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2023-03-28-16-33-50-288.png    
Issue Links:
Causes
Duplicate
is duplicated by ZBXNEXT-2154 Location for devices and mapping for ... Closed
is duplicated by ZBXNEXT-2737 Inventory fields populated by discove... Open

 Description   

it would be great to customise available profile fields - current hardcoded list is very inflexible.

if implemented, it should be considered how to tie that into permission system (maybe some users shouldn't see all data) and possible custom lists per some grouping (hostgroup ? templates ?)



 Comments   
Comment by richlv [ 2010 Apr 29 ]

depends on this : ZBXNEXT-337

Comment by Admin [ 2012 May 25 ]

This is something I'd be very interested in. It's good to see the improvements in 2.0 - with the automatic inventory. But half the things we've collected from the agents. e.g CPU spec, RAM spec, HD spec, graphics card, BIOS version, motherboard spec etc have no use! The only one I've currently got in use is OS.

It would also be good to be able to customise the inventory overview screen (rather than the specific host), to only view certain types of information.

Comment by Doug Irvine [ 2012 Sep 12 ]

This is something we would use.

We are using VB scripts to get inventory information back from windows systems, but I'm having problems inserting the received data into the correct title. For example we can pull back information about memory DIMMs but don't have a relevant name to assign it to (at present I use Type)

Being able to configure the overview screen would be great too as differing teams have different requirements for looking at data.

Another good idea would be to be able to use the .csv output feature in this screen so you can provide reports.

Zabbix V2 is great, I really appreciate the new features.

Regards,

Doug

Comment by Marc [ 2013 Mar 05 ]

I think that would also greatly simplify connections to CMDBs like i-doit or iTop .

Comment by Karsten Tröß [ 2014 Feb 14 ]

This is the feature what we need too.
For us, the names of the fields for inventory are not useful.

Our server are (nearly all) virtual. We don't need an location, contact, single software fields or so.
What we need are fields for CPU, RAM, IPs,...

A good topic is if is possible to delete unnecessary fields.

An important thing: we use ubuntu server mit zabbix from repo -> the changes must be available after an update!
Thanks.

Regards
Karsten

Comment by Alain Ganuchaud [ 2014 Sep 04 ]

As a workaround, we use translation for Host Inventory fields customization ... off course, limitation is obvious, you don't see same fields names depending on the choosen langage.

Comment by daniel.lin [ 2014 Nov 25 ]

+1 for this, you know, ability to customize is the key to make automation for the service management more fancy!

Comment by Micha Slezak [ 2016 May 30 ]

Very usefull feature and as I said in othe feature request. Good idea is to od as crowdfunding page for each feature request and contribute on this feature as we need.

I found nice page http://www.zabbix.com/development_services.php where on the bottom of this page is possibility to Contribute on specific feature. I think that it can be way how to promote some feature requests and to do something like crowdfunding on specific feature. Zabbix dev setup price and we can contribute on this feature I think it can be good way how to pay for each feature and to to pay whole development by one customer.

Comment by Shriharsh Thanvi [ 2017 Jul 14 ]

+1. This is a very old request and can turn out to be most useful feature like LLD.
Hope to see it soon !

Comment by Micha Slezak [ 2017 Aug 01 ]

I agree. Very useful feature still missing in Zabbix.

Comment by Marc [ 2017 Aug 01 ]

It is good practice to express wanting a feature by voting instead of commenting
However, if this does still not feel expressive enough, there's still the option of (co-)sponsoring development.

Comment by Henrique Goncalves [ 2018 Mar 02 ]

Outstanding suggestion.
Today we achieve this by manually editing php files, but it creates problems when we need to update zabbix's version.
We just started to use Zabbix Server and Zabbix Web inside containers, and without the ability to customize Inventory fields by GUI and store that configuration in MySQL, in every version change we need to customize it again.

Comment by Vinicius Henrique Silva Bastos [ 2018 Dec 13 ]

Any news about this?

Comment by Gutsycat [ 2020 Feb 26 ]

Yes, hardcoded fields does not fit our need at all.

Comment by dimir [ 2020 Feb 26 ]

Meanwhile, for those who haven't seen it, here's another request for this feature

https://www.youtube.com/watch?v=BcLyy6xoZjM

Comment by Nathan Liefting [ 2021 Oct 29 ]

Just wanted to add my 2 cents here. Love the inventory in Zabbix, literally always set it up. But if you've ever worked with a switching stack of 7 switches and you want to add all of their Serial Numbers then what?

Well, you can use the Software application fields maybe? Because there is only two Serial Number fields. Shouldn't be too much of an overhaul to add a feature for anyone that wants more than 2 serial numbers or any other possible input field.

 

Time to allow us the ability to choose our own fields and field names!

Comment by Frederick Loucks [ 2022 May 27 ]

A feature 12 years in the making here...
We love you Zabbix...please don't leave us out in the cold! We use Zabbix for AV Device monitoring...AV devices have odd static data (inventory fields) that we need to capture and that doesn't make sense to be in items/time series, yet we're stuck keeping it there and there alone. Pleeeease give us custom inventory defined at the Template level? While you're at it, maybe let us dynamically set some fields and manually set others...not all or nothing. A checkbox next to the field would do!! I'm speaking at the premiere AV industry conference on monitoring in AV and will be demo'ing Zabbix for this use case, and I'm excited to continue having great reasons to choose Zabbix

Comment by Nathan Liefting [ 2023 Mar 28 ]

👀 Looks like it's on the roadmap again 

Comment by gofree [ 2023 Oct 11 ]

guess it's been moved to 7.x release - see page 40

Comment by Midas Wollinger [ 2023 Dec 12 ]

On the  Roadmap the feature is planned for 7.0 and "in design" and on the Keynote for 7.x.
What is the planned release for this feature?





[ZBXNEXT-337] comments for more entities Created: 2010 Apr 29  Updated: 2022 Apr 20

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 27
Labels: hostgroups, items, templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently it is only possible to add comments to triggers.
it would be also useful to add comments to other entities :

items (for example, cautioning against too short intervals, explaining needed permissions on agent side etc);
templates (explaining it's usage and impact);
hostgroups (adding general group contact info etc).

ideally, this would be coupled with host inventory, so that these entities might gain multiple fields instead of a single 'comment' field.

in that case, ability to customise profile fields would be mandatory - ZBXNEXT-336



 Comments   
Comment by Anthony [ 2010 Sep 20 ]

Really, REALLY need a comment (note) field.

Comment by Matthias Baur [ 2013 Oct 17 ]

We also would really appreciate if this could be build-in. Especially for items!

Comment by tagwolf [ 2014 Jul 30 ]

Is this still planned? It's a prerequisite for adding custom inventory items and kinda a big feature!

How can I help? I'm good with relational DB's and php.

We already edited our custom fields to store different information. But we need an ability to add comments / relational data so that inventory fields, etc, can be administered via the dashboard.

Comment by richlv [ 2014 Jul 30 ]

item description is already available; template, host and proxy descriptions are coming in 2.4

from that list, hostgroups seems to be the only one missing

Comment by Marc [ 2014 Jul 30 ]

Wouldn't that perfectly fit into 2.4 too

Comment by richlv [ 2014 Jul 30 ]

...to make it come out in 2018

Comment by Marc [ 2014 Jul 30 ]

Common, we're talking about a comment box without macro support/resolving in first place. Macro support might then be a candidate for sponsoring

Comment by Alexey Korepov [ 2016 Jul 18 ]

Also will be good to see comments (description) for Map Icons!

Comment by richlv [ 2016 Oct 22 ]

ZBXNEXT-3511 asks for action comment/description

Comment by Jan Ostrochovsky [ 2018 Jul 03 ]

voting for this, especially for hostgroups - to describe what hostgroup is for what purpose, to differentiate it from other hostgroups...

Comment by James Cook [ 2022 Apr 20 ]

ZBXNEXT-2770 asks for descriptions on individual periods within a maintenance period.





[ZBXNEXT-345] Need to improve the possibility to use custom CSS also for the login page (index.php) when Guest use is disabled Created: 2010 May 06  Updated: 2016 Oct 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: css, login
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Need to improve the possibility to use custom CSS also for the login page (index.php) when Guest use is disabled.
This doesn't work when Guest user is disabled in the Zabbix frontend.
Need to impove it.



 Comments   
Comment by richlv [ 2016 Oct 17 ]

ZBXNEXT-3502 asks for an easier way to modify css





[ZBXNEXT-283] Add ability to mass update "Event Generation" on multiple triggers Created: 2010 Mar 30  Updated: 2016 Dec 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Paul S Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 2
Labels: massupdate, triggers, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2477 Trigger massupdate multiple PROBLEM e... Closed

 Comments   
Comment by richlv [ 2016 Dec 02 ]

ZBXNEXT-3584 asks for trigger comment/description massupdate





[ZBXNEXT-314] Will be nice to have "Last 20 Issues" as a component that can be added to a screen. Created: 2010 Apr 21  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: dashboard, screens, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Will be nice to have "Last 20 Issues" as a component that can be added to a screen.






[ZBXNEXT-352] Generic screens associated to Template:graph Created: 2010 May 11  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Maxence Dunnewind Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: screens, templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Zabbix is able to have generic graph by associating a graph to a template.
It would be really interesting to be able to generate a "generic" screen by defining the template:test, ans say, for exemple (2 cols per row, n -rows), so that the screen generated will contains all the graphs generated for all hosts using this template.

Ex :
I define a template "Template_custom", I define an item "cpu load" and a graph "cpu load graph" associated to the template "Template_custom".
When I link an host "foo" with the Template_custom, a graph "cpu load graph" is generated for host "foo".
When I link an host "bar" with the Template_custom, a graph "cpu load graph" is generated for host "bar".

I would create a screen, say "displays all 'cpu load graph' of hosts linked to 'Template_custom'", and that's all.

My idea behind this is to be able to have a fully automated process (discovery -> action -> link to template(s) -> generate graphs -> display graphs in a screen, so that I always have a screen "cluster server CPU load" with 1 graph per server.



 Comments   
Comment by richlv [ 2011 Mar 04 ]

trunk has ability to define screens in a template, and then all hosts linked to that template get that screen.
does that fulfill this feature request ?

Comment by Jens Berthold [ 2012 Feb 20 ]

As far as I understood he wants a template screen that shows a specific graph (e.g. "cpu load") for each host of a template.
So the only definition/element in the screen is something like:
"displays all 'cpu load' graphs of hosts linked to 'Template_custom'".

The effect would be that if more and more hosts are linked to the template, the screen would fill with the 'cpu load' graph of each of the hosts.

Comment by Maxence Dunnewind [ 2012 Feb 20 ]

You're right Jens, the idea is not to create screen in a template, but to create a "templated" screen which automatically fills with all the graphs with name "xxx" (with some filtering on hostgroup for exemple)

Comment by Jens Berthold [ 2012 Feb 20 ]

I see, it doesn't make sense to connect this kind of screen to a template, as there is only one "instance".
So it has to be a special screen type instead.





[ZBXNEXT-359] updating appliance Created: 2010 May 14  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Tom Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: appliance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be great to be able to update the vmware appliance when new fixes and patches are released.



 Comments   
Comment by richlv [ 2011 Nov 10 ]

this might be somewhat possible no in 1.8 series with zypper up, and i've performed it a few times successfully (although zabbix repo is unsigned and upgrading is officially untested and totally unsupported )





[ZBXNEXT-271] In graphs, make 'stacked' type for individual parameters, and not for the whole graph Created: 2010 Mar 11  Updated: 2018 Aug 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: sn Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 24
Labels: graphs, stackedgraphs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 1.8.1


Attachments: PNG File wish_stacked_graph_enh.png    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-1303 Stacked and normal items mixed in one... Closed
is duplicated by ZBXNEXT-1524 Combine stacked and normal items in g... Closed
is duplicated by ZBXNEXT-962 "overlaying" of several graphs on sin... Closed
is duplicated by ZBXNEXT-964 combining stacked graph with simple one Closed
Sub-task
depends on ZBXNEXT-4588 New Graph Widget Closed

 Description   

Make 'stacked' type for individual parameters, and not for the whole graph.
i.e. possibility to make a graph like one in an attached image.
Desperately need this feature
It should be relatively easy to implement without serious DB/GUI redesign.



 Comments   
Comment by Volker Fröhlich [ 2012 Oct 02 ]

Related to ZBXNEXT-964

Comment by Fabian van der Hoeven [ 2013 Jun 03 ]

Is there any progress on this "new feature"? It would be very usefull. I'm also looking for something like this.

Comment by Sander Cornelissen [ 2013 Aug 21 ]

The status is RTD (Ready to discuss?). Is this about priority?

Comment by richlv [ 2013 Aug 21 ]

this is not on the roadmap at this time. if it would be considered, there would be a need to discuss how it could be implemented

Comment by Denis Volkov [ 2014 Aug 26 ]

Too bad it is not in the roadmap. There could be many use cases for this. For example, router statistics on one graph - uplink traffic (normal item) and stacked downlink traffic for multiple downlink interfaces

Comment by Igor Ivanov [ 2015 Mar 31 ]

Any news?
I'd be very useful to have this new type of graph.

I had to make external script, that get resourceids of graph, then get last() of them, sum them anf return total value.





[ZBXNEXT-259] Optional feature: IGNORE NODATA PERIOD in GRAPH Created: 2010 Feb 27  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Adail Horst Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 4
Labels: graphs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any system



 Description   

I already talk with many Zabbix Users in Brazil and all guys like to have a optionaly new feature:

  • Add checkbox in "item for the graph" to select "ignore nodata period".

This option will prevent "hole" in graph when have problems in monitoring. Note: is a OPTIONAL and NOT DEFAULT feature, so not will affect any user like holes in your Graphs to detect monitoring problems.

In case of HOLE the graph need to use the last data value to create the graph.

Example:
Moment | Value
1/1/2010 10:00 - 200
1/1/2010 11:00 - 250
1/1/2010 12:00 - 230
1/1/2010 13:00 - [nodata]
1/1/2010 14:00 - [nodata]
1/1/2010 15:00 - 260
1/1/2010 16:00 - 230
1/1/2010 17:00 - 220

Normally we have a HOLE between 1/1/2010 13:00 and 1/1/2010 14:00. With this new feature enabled zabbix will make:
Moment | Value
1/1/2010 10:00 - 200
1/1/2010 11:00 - 250
1/1/2010 12:00 - 230
1/1/2010 13:00 - iif([nodata],[lastvalidvalue],[value])
1/1/2010 14:00 - iif([nodata],[lastvalidvalue],[value])
1/1/2010 15:00 - 260
1/1/2010 16:00 - 230
1/1/2010 17:00 - 220

With this soluction we will no have a hole.

Motivation:

Currently in my enviroment we have one dashboard for each application deployed to users and this dashboard is available for END USERS.

We have some graphs with informations from 3... 4 machines IN CLUSTER... so, currently, if one of this machines is down the Graph apear with HOLE and we need to explain to a LOT OF USERS "this not impact the enviroment... we have 4 machines to answer... bla bla bla" ... This is only ONE of examples...

My Director use some graphs to show to MINISTER OF EDUCATION of Brasil to show disponibility of important systems and a graph with HOLES is not acceptable for him.

Please, another monitoring tools already make this (like cacti) its important for me and for another users.






[ZBXNEXT-289] improved trigger function/expression chooser Created: 2010 Apr 01  Updated: 2018 Jun 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 2
Labels: expressions, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-14413 "create trigger" GUI and Zabbix trigg... Closed

 Description   

current expression chooser is very limited - dropdown descriptions are cryptic, each function has many entries (<, >, =, #) - it should be improved.

as a minimum, action condition-like chooser for comparison should be introduced, thus reducing choice count 3-4 times.

preferably, functions get separated in categories, each also has function name itself listed and has an expandable description with examples.



 Comments   
Comment by Aigars Kadikis [ 2018 May 31 ]

+1 vote. "functions get separated in categories" is a must. For example: by pressing [Add] button in the expression field and after selecting an item, there should be a list of radio buttons placed horizontally: avg, change, count, diff, fuzzytime, iregexp, nodata, ..

After choosing the radio button, the dropdown list appears as it is in current 3.4 release.

It would be nice to have radio button list which will always calculate what type of functions is supported by the item chosen.

Regards,

Comment by Harri [ 2018 Jun 02 ]

I really like the reference manual listing all the trigger functions, but if you have to use the GUI to create a new trigger, then it is pretty difficult to find the right entry in the "Function" drop down menu, matching the documentation in the reference manual.

Example: Which entry in the Function list to I have to select to get the "count" trigger function? And what does "T" mean?

It would help a lot if the GUI and the reference manual could use the same terminology. A common line is missing.





[ZBXNEXT-242] Support user macros in graph names Created: 2010 Feb 18  Updated: 2023 Nov 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 47
Labels: graphs, macros, patch, usermacros
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

tested on Oracle, maybe for other DBs need correct SQL query.


Attachments: File CMacrosResolver_zabbix3.diff     File CMacrosResolver_zabbix4.diff     File graph-name-macros.diff     File graph-name-macros_fixed.diff     File graph_macros.diff     File macros_graphs.diff    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-893 User macros in graph titles Closed
is duplicated by ZBXNEXT-2767 expand user macros in graph names Open
is duplicated by ZBX-4486 Expanding user macros on graphs Closed
is duplicated by ZBX-8973 Macros do not work Closed
is duplicated by ZBX-17597 You can support me "User macros" for... Closed

 Comments   
Comment by Alexey Pustovalov [ 2010 Feb 24 ]

added support for templated macros

Comment by richlv [ 2010 Feb 24 ]

similar to ZBXNEXT-1

Comment by Alexey Pustovalov [ 2010 Feb 24 ]

now thise patch now executes queries. using API

Comment by richlv [ 2010 Apr 29 ]

similar issues :
ZBX-1538
ZBX-2168
ZBX-2397

ZBXNEXT-205
ZBXNEXT-278

Comment by hamid sfandiari [ 2010 Jul 08 ]

in zabbix 1.8.3 the following differ line is not exist which differ file pointed to them:

– charts.php >> $db_data = reset($db_data);
– charts.php>> $db_graphs = CGraph::get($options);
order_result($db_graphs, 'name');
foreach($db_graphs as $num => $db_graph){

Comment by Jeroen Simonetti [ 2011 Feb 11 ]

New patch for 1.8.4. based on previously attached patch.

Only applying host-level macro's (seems to loop forever if template macros are also checked). Using CGraph API.

Comment by richlv [ 2011 Dec 26 ]

another patch provided in ZBX-4486

Comment by Ian babrou [ 2011 Dec 27 ]

Is there any chance to get it fixed somehow? 3 patches and no progress.

I tried to use common conveniences from zabbix php frontend in my patch, so maybe it looks more organic?

Comment by richlv [ 2011 Dec 27 ]

given how overdue 2.0 is, this one most likely won't be tucked onto it. it will be re-evaluated later

Comment by Vance Turner [ 2012 Jan 05 ]

This is hurting the perception of the product in many areas, and should not be put off.

Comment by Hasitha Lalinda [ 2012 Jul 09 ]

I've created a new patch for version 2. (Attached graph-name-macros_fixed.diff)
This resolves macros in graph names on;

  • Monitoring graphs page.
  • Configuration of graphs page.
  • Favorite graphs section in dashboard.

This patch has been tested with version 2.0.1.

PS: A bug was found in previous diff file graph-name-macros.diff. Fixed version attached: "graph-name-macros_fixed.diff".

Comment by Benjamin Goodrich [ 2013 Feb 15 ]

Is this still currently being planned for inclusion in a future release?

Comment by Eugene [ 2014 Jan 09 ]

User macros are very important for the universalization of the templates. For example, I used the basic template for a variety of devices (routers and switches) through user macros, but the names of the graphs have the same value - port 1, port 2, ... instead Fastethernet or Gigabitethernet depending on the device - this is inconvenient.

Comment by Tomasz Kłoczko [ 2015 Jan 28 ]

I'm looking for updated patch which enables use macros in graphs.
Anyone can share such patch for zabbix 2.2.8?

Comment by Alexander [ 2016 Oct 05 ]

Have a nice day!
What about this features?
This is good idea, very needed for effective use of monitoring nodes with user items names.

Comment by Alexander [ 2016 Oct 06 ]

Hi all!
For example, in zabbix v3 macros support contexts, and this very usable for many sub-items in snmp tree (with Discovery).

In my case Discovery rule configured with:
SNMP OID -> discovery[

{#OID}

,x.x.x]
Items name: {$SLA_NAME.{#SNMPINDEX}}

On the host macros redefined:
{$SLA_NAME:1} -> Tunnel name 1
{$SLA_NAME:2} -> Tunnel name 2

Macros on the host {$SLA_NAME:1} work for Items, Triggers, but not for Graphs names.

Comment by Victor Vislobokov [ 2019 Jan 22 ]

I added support user's macros for Graph names. See patches for zabbix3 and zabbix4.

Unfortunately, I'm not PHP programmer, only sysadmin with a little skill with PHP programming. May be, I mistaken somethere, but it works for my Zabbix installation.





[ZBXNEXT-394] Working Hours Bar report Created: 2010 Jun 02  Updated: 2018 May 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: hamid sfandiari Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: barreports, dashboard, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

BSD, 1000+ host



 Description   

dear all
we are carrier level class user o zabbix,. we use customized working hours Bar report by executing database query .
this process is to hard to develop and must grant access for executer of query,

parameters for that query are> itemid(i.e. average number of a link bandwidth),start day(YYMMDD),end day(YYMMDD) ,working hours( 8-16)
returned values> average bandwidth of working hours from start day to endday

this graph is very usefull for capacity planning of our company



 Comments   
Comment by richlv [ 2010 Jun 07 ]

could you please clarify the functional requirement ?
is it for limiting bar graph report to show/consider only data between specific hours ?

Comment by hamid sfandiari [ 2010 Jun 07 ]

we use this mysql query :

SELECT itemid, value_avg, from_unixtime(clock, "%Y-%m-%d")as Date, from_unixtime(clock, "%T")as Time
FROM zabbix.trends_uint
where itemid=22178 and
from_unixtime(clock, "%Y-%m-%d")>'2010-06-05' and
from_unixtime(clock, "%Y-%m-%d")<'2010-06-11' and
from_unixtime(clock, "%T")> '07:00:00' and
from_unixtime(clock, "%T")< '19:00:00';

this is different from bar report of zabbix, because this report gets the average trend value between working hours(i.e . 7:00 am till 7:00pm) from start date to end date so caused to every 7:00 to 19:00 values between 2010-06-05/00:00 till 2010-06-11/23:59
. but the zabbix bar report get the values from trends between start date-start hour till end date-end hour => every value between 2010-06-05/7:00 till 2010-06-11/19:00

exactly for limiting the bar graph report maybe called "working hours bar report"

Comment by Matt [ 2018 May 18 ]

I voted for this but also wanted to thank white_wire for his query.  I modified it to also exclude weekends.  Works great.  This should definitely be a feature built into zabbix.

 

SELECT FORMAT(avg(value_avg), 0) as bps FROM (
    SELECT itemid, value_avg, from_unixtime(clock, "%Y-%m-%d")as Date, from_unixtime(clock, "%T")as Time
    FROM zabbix.trends_uint
    where itemid=33338 and
    from_unixtime(clock, "%Y-%m-%d")>'2018-05-01' and
    from_unixtime(clock, "%Y-%m-%d")<'2018-05-17' and
    from_unixtime(clock, "%T")> '08:00:00' and
    from_unixtime(clock, "%T")< '17:00:00'
) as tmp WHERE DAYOFWEEK(Date) <> 1 AND DAYOFWEEK(Date) <> 7




[ZBXNEXT-245] Provide Left and Right Axis Fixed Values for Graphs Created: 2010 Feb 20  Updated: 2022 Jan 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Patrick Hooper Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 46
Labels: flexibility, graphs, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix Graphs


Attachments: PNG File screenshot-1.png     Text File zabbix-frontend-axis-mysql-update.txt     File zabbix-frontend-axis.patch    
Issue Links:
Duplicate
is duplicated by ZBXNEXT-569 Y axis MIN and MAX unique value for l... Closed
is duplicated by ZBXNEXT-1494 Dual scale graphs Closed
is duplicated by ZBXNEXT-1996 Allow Setting Y axis MIN / MAX on eac... Closed
Sub-task
part of ZBXNEXT-4588 New Graph Widget Closed

 Description   

Currently when you create a graph you have the ability to fix the Y min and Y max on a standard graph.

There are circumstances where I would like to display multiple item values from related data where the range of these data are very different, for example, receive level on a wireless link (range -30 to -90) and the transmit power on the same link (range +10 to +30).

If I use a the scale on a single axis the data would be very compressed and not very readable.

Using the above ranges of the two datasets, I would like to be able to set a fixed data range for the left axis and a fixed data range for the right access.

For example.
Left Axis - (min = -90, max = -30) - showing receive level
Right Axis - (min = +10, max = +30) - showing transmit power.

Having these two different scales for the left and right axis on the graph would make the data much more readable.



 Comments   
Comment by Nenad Opsenica [ 2011 Sep 19 ]

This would be very useful for one more purpose - grouping packet loss and RTT on the same graph.

Comment by Chris Kistner [ 2012 May 24 ]

I started to code this based on the 1.8.11 code base.

I have attached my php frondend code (zabbix-frontend-axis.patch), as well as an MySQL update (zabbix-frontend-axis-mysql-update.txt) to alter the graphs table so that my code can work.

Please just take note that I haven't touched any of the C code, which would mean that the Zabbix API calls won't be able to alter the right axis values yet.

I do hope that I've correctly modified the frontend code. I have applied it to our production Zabbix system and everything (creating graphs, modifying graphs, viewing graphs and exporting hosts) seemed OK.
Please let me know if I made mistakes or if I should provide C code fixes too.

Comment by richlv [ 2012 May 25 ]

what about importing ?
does import and export both correctly handle new values ?

as for c code, api is fully in php, but on the server side this might be needed in the network discovery/active agent auto-registration code - otherwise these features would not work properly.

of course, you don't have to do the c part, unless you are interested in those features

Comment by Chris Kistner [ 2012 May 27 ]

richlv:
I just exported and imported a host and the graph limits was successfully imported, so it seems like the importing is using the export class too.

I haven't tried importing/exporting between patched & unpatched versions though, but since it is XML, I suppose they'll just ignore the new values and use default values.

Comment by Marcus Oliveira [ 2012 Oct 31 ]

Hi guys.

Is it going to be deployed to any version of Zabbix ? 2.0.4 maybe ?

Marcus

Comment by Volker Fröhlich [ 2012 Oct 31 ]

That needs a database schema change and can therefore only go in 2.2 or a later major release. Also notice the tag "NMR" above, refering to that.

Comment by Marcus Oliveira [ 2012 Oct 31 ]

Thanks,

Hoping for 2.2, at least.

If I implement the proposed scripts, would it break anything (as far as you know, of cource) ?

I don't know what NMR means...

Thanks a lot.

Marcus

Comment by richlv [ 2012 Oct 31 ]

"need major release" or something like that

as for this feature, it's not planned currently (there's enough of other, financed features coming, though - some of them listed at https://www.zabbix.org/wiki/Docs/roadmap#Functional_roadmap )

Comment by Marcus Oliveira [ 2012 Oct 31 ]

Thanks a lot for the info.

Marcus

Comment by Chris Kistner [ 2012 Oct 31 ]

Marcus:
My change for adding the 2nd axis' configuration in Zabbix 1.8 was rather simple, but it took a couple of hours to implement it. I only appended columns to the existing database scheme. I only modified the web frontend code & schema with my patch.

You can probably look at my code when you want to do something similar to 2.0.4

Unfortunately I won't be making a patch for 2.0.4 soon, because the change over for my company from 1.8 to 2.0 would be too much effort since I've modified our 1.8 web frontend quite a bit!

Comment by Marcus Oliveira [ 2012 Nov 01 ]

Thanks a lot Chris.

Marcus

Comment by Marcus Oliveira [ 2012 Nov 01 ]

If I may, still in this subject... Maybe someone already told you that. Maybe a I have to create a new ticket.

If you guys are really going to make this option available. In the graph itself, I think it would be essential to the scales inherit the data/line's colors. (Or, at least, it should have a label showing whose data is that).

Marcus

Comment by richlv [ 2012 Nov 01 ]

that's an unrelated issue - ZBXNEXT-932

Comment by Raymond Kuiper [ 2013 Dec 06 ]

Just ran into the need for this as well.
I need to plot a state (integer ranging from 0 to 6) and a time measurement ranging from 0 ms to 5 seconds) on the same graph.
I'd really like to have a fixed scale for the state info, while the time measurement scale should be calculated.

Comment by Janne Korkkula [ 2014 Oct 20 ]

-''- ... Graphing item values on the left and utilization in percentage on the right - need to auto-scale the other and fix the percentage scale to 0-100.

Comment by Constantin Oshmyan [ 2015 Oct 16 ]

Just the same problem.

Example:

We monitor a disk space for some system, threshold in trigger is set as a percentage.
I'd like to have a graph for a disk space usage: in gigabytes and in percents, as well as a trigger threshold.
In theory, it is possible to use a single graph with two Y-axis (for gigabytes and for percents). However, really it is impossible due to different scales for these axis, so that datas are not matching.
It is possible to have 2 different graphs (see picture). However, the first graph has no percentage and threshold line, but the second one has no real numbers in gigabytes.
Just now it is impossible to set the scale for each Y-axe separately, this setting affects both axis simultaneously. But they have too different scale (otherwise there is no sense to use two Y-axis).

Comment by Daniel Bossert [ 2017 May 05 ]

Hello
Is there any timeline when this improvement will be done; it is a great feature!

Kind regards
Daniel

Comment by Wouter Schoot [ 2018 Mar 27 ]

I need the same, fixed on right Y axis, calculated on the left Y axis

Comment by Thomas Lobker [ 2019 May 05 ]

Another +1 here

This is absolutely necessary to combine anything dynamic (like bytes of free disk space) with a percentage. If you have bytes on the left and percentage on the right, then you would want a calcaluted scale on the bytes and a fixed 0-100 range on the percentage.

Comment by Alexei Vladishev [ 2019 May 08 ]

New dashboard graphs already provide this functionality. It will be extended to all graphs as soon as we move fully to vector graphics, most likely in 4.4.

Comment by Yannick Hein [ 2020 Oct 08 ]

Zabbix 5.0 user here - am I missing something or has this still not been implemented?

I would also highly benefit from this feature! I'm monitoring a temperature sensor in our server room and I have temperature on the right, humidity on the left and if I set fixed values to 0-100 then you can barely tell the temperature.

I'd need 18-28 for temp and 20-60 for humidity...

Comment by Alexei Vladishev [ 2020 Oct 08 ]

not_working_here, it has been implemented for dashboard graphs. We are still working on merging functionality of older graphs with new graph engine.

Comment by Yannick Hein [ 2020 Oct 08 ]

Yes, I saw that, the dashboard graphs are great but I'd like to build a screen with those graphs. And since you wrote "It will be extended to all graphs as soon as we move fully to vector graphics, most likely in 4.4." I wanted to ask whether I had simply missed an option since I'm already using 5.





[ZBXNEXT-222] Firefox plug-in for viewing zabbix events Created: 2010 Feb 03  Updated: 2012 Oct 16

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.2, 2.0.0
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Murilo Moreira de Oliveira Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 24
Labels: chrome, firefox
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 5.4 - Zabbix 1.8.1



 Description   

It would be very welcome to have a firefox plug-in for monitoring zabbix events. As an example, there is such a plug-in for nagios named Nagios Checker that has a great look and very good functionalities. The idea is keep in mind the most recent events from zabbix while using the browser for navigation, even if not logged in zabbix frontend.



 Comments   
Comment by Murilo Moreira de Oliveira [ 2010 Feb 03 ]

Just to complement, there is a promising plug-in created by Alberto González Rodríguez (https://forxa.mancomun.org/projects/zabbixbar/) that has some good features implemented, but very much work still have to be done in order to improve its stability and functionality. I thing that would be a good alternative if SIA Zabbix could formally support this plug-in.

Comment by Pedro G [ 2011 Nov 19 ]

Another complement, it would be nice to have such extension for Chrome also.

Comment by Markus kramer [ 2012 Oct 16 ]

we just submitted a chrome extension doing exactly this
check: https://chrome.google.com/webstore/detail/zabbix-notifier/ikeijbmpddnkaeejokgifioccbcijjfo?hl=de

at the moment we are working on a port for firefox, so just hold on a few days





[ZBXNEXT-256] mass create triggers Created: 2010 Feb 25  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: svenw Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 1
Labels: masscreate, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

i quiet often have dozends or even hundreds of items which i want to monitor for a change. doing this manually is practically impossible, so right now i am exporting, using perl etc, importing.

would be nice to go to the items page, check the items to work with and then click "mass create trigger"






[ZBXNEXT-247] Built in feature to export reports and statistics Created: 2010 Feb 22  Updated: 2024 Mar 07

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Emil Odepark Assignee: Unassigned
Resolution: Unresolved Votes: 119
Labels: Zabbix7.2, csv, export, reports
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Preferably the export feature will be available to save reports in pdf/excel/cvs/open office -file formats directly from the GUI to the local drive. But I could settle with an automated (customizable) report that saves the data in any of the above file formats on the Zabbix server.


Issue Links:
Causes
Duplicate
is duplicated by ZBXNEXT-2330 Support of templates and macro expand... Open
is duplicated by ZBXNEXT-730 Export screens as PDF or ODF reports Closed
is duplicated by ZBXNEXT-2316 SLA Reporting and export Closed
is duplicated by ZBXNEXT-3203 Export screen, graph, group\host sta... Closed
is duplicated by ZBXNEXT-3903 monthly automation graph based on zab... Closed
is duplicated by ZBXNEXT-1748 Need Summarized report Closed
is duplicated by ZBXNEXT-3208 Schedule report function for zabbix Closed
is duplicated by ZBXNEXT-6478 Scheduled PDF report generation servi... Closed
is duplicated by ZBX-11361 How to export Graph to PDF/CSV Closed
Sprint: Sprint 14, Sprint 15, Sprint 16, Sprint 17, Sprint 18, Sprint 19, Sprint 20

 Description   

I need some way of exporting the reports that zabbix generates to an external document, preferable *.xls or *.pdf or *.csv or open office file formats. Either make this possible from the GUI or via some simple command from inside Zabbix (I'm a Windows tech ). A beginning is to make the already available reports exportable, but please se my other feature request for extended reports also.



 Comments   
Comment by Nagaraju Bandaru [ 2010 Jul 21 ]

I also need same sort of feature. It would be great if SLA reports can be exported into *.pdf, *.xls or other formats. Providng a feature to send email of SLA reports automatically in regular inverval would be very useful. Please consider these features in coming versions of zabbix.

Comment by Luciano Alves [ 2010 Oct 24 ]

Hi,

And about this patch:

http://www.zabbix.com/forum/showthread.php?t=18901&

Some news about it ?

[]s,
Luciano

Comment by Oleksii Zagorskyi [ 2012 Mar 02 ]

ZBXNEXT-248 is related,
ZBXNEXT-730 is very similar.

Comment by Emil Odepark [ 2014 Apr 02 ]

Four years on and still nothing...

Comment by Adriano Carvalho [ 2014 Jun 13 ]

Voted to, watching for news. Zabbix has the best opensource monitoring solution I've worked with, but reporting is not its best, we need better reports native on Zabbix or a third party tool for that.

Comment by Ben Copeland [ 2015 Feb 03 ]

4 years and nothing is a worrying sight.

Would like to say +1 for this feature. Zabbix really needs to invest some time in SLA reporting.

Comment by Marc [ 2015 Aug 12 ]

I'm tempted to say my comment on ZBXNEXT-248 is valid here too.

Comment by Jean-Baptiste VEDEL [ 2016 May 02 ]

Five years on and still nothing...

Comment by Mario Fridrichovsky [ 2018 Apr 10 ]

Should I say 8 years and still nothing???
The reporting is the only feature which holds my company back to switch from Nagios to Zabbix.

Comment by Emily Riley [ 2018 Oct 11 ]

Any update on this export functionality? 

Comment by Cesar Murilo da Silva Junior [ 2019 Oct 28 ]

Zabbix's development team could be aware of Mario's comment. See, his company just doesn't migrate to Zabbix because of the reports. This detail is important. We need to export reports and we have to look for third party software for that. Until when?

Comment by Hudson [ 2020 Jun 17 ]

If we could get an export option to extract availability reports that would be perfect.

Comment by Cory White [ 2020 Aug 06 ]

This is a must add - 10 years and waiting. It amazes me that competing products have this feature available?

Comment by Oleksii Zagorskyi [ 2021 Mar 09 ]

Watch on ZBXNEXT-6478

Comment by Alexei Vladishev [ 2021 Apr 26 ]

Scheduled PDF report generation has been implemented under ZBXNEXT-6478 and will be available in Zabbix 5.4.0 soon. We will work on increasing number of widgets to make this functionality more feature rich and flexible in future releases.

Comment by atpk [ 2023 Nov 30 ]

Hi Alexei, indeed adding support for other widgets is really needed, created ZBXNEXT-8855 for adding support for problems widget. Thanks.

Comment by Jef Schoors [ 2024 Jan 17 ]

With Zabbix having the capability's it has, it amazes me how limited the reporting options are. This is a major feature request from allot of our customers + managment. The dashboard reports are not sufficient. 

 

Being able to export the availability report and triggers top 100 would be a good beginning, or make this data available in the API.





[ZBXNEXT-218] more customizability for simple graphs Created: 2010 Feb 01  Updated: 2013 Sep 26

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: dashboard, graphs, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently simple graphs have many things hardcoded. it would be nice to configure some aspects of them :

1. showing of triggers;
2. showing of working time;
3. y axis side;
4. ...maybe more

these would be configurable globally, and also when adding a simple graph to a screen



 Comments   
Comment by richlv [ 2013 Sep 26 ]

y axis side can be configured with a param in defines.inc.php, although setting this per graph when viewing it would be better





[ZBXNEXT-165] discovery section should provide links for hosts Created: 2009 Dec 09  Updated: 2014 Dec 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: networkdiscovery, trivial, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

monitoring -> discovery section should provide same popup menu for hosts in "Monitored host" column as other locations in frontend (for example, monitoring -> triggers)



 Comments   
Comment by Marc [ 2014 Dec 08 ]

An indication (e.g. by separate coloring) whether a host is not in monitoring status, like it is done in other places too (combo-boxes, search results, ...), might be valuable as well.





[ZBXNEXT-1280] identical values in map element mass update should be preselected Created: 2009 Dec 10  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: maps, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when selecting several elements with identical values for some fields, these values should be preselected instead of the first value in the list.

for example, when several elements are selected, existing icon should be selected for fields where it matches for all selected elements.






[ZBXNEXT-400] Triggers dependencies visual declutter Created: 2009 Dec 07  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: João Figueiredo Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: trivial, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 1.6.7-


Attachments: PNG File zabbix depen.PNG    

 Description   

Currently, Zabbix dependencies are shown as follows, (taking 3 lines for each, 3*n lines overall)

Metric A : 93.050000%
Depends on:
Metric B : 99.340000%
______________________
Metric C : 99.980000%
Depends on:
Metric B : 99.340000 %

I sugest the following modification to save on visual clutter and make it easier to manage hosts with a big number of Trigger dependencies: (overall 1+n lines)

+ Metric B : 99.340000 % dependencies:
Metric A : 93.050000%
Metric C : 99.980000%
........................



 Comments   
Comment by richlv [ 2009 Dec 07 ]

could you please list exact places in frontend where this applies (maybe providing a screenshot as well), thanks

Comment by João Figueiredo [ 2010 Jun 07 ]

I apologize for the delay.

In attachment, one of the described situations,
It would become far more tidy if this would be displayed in a tree-like structure.

I can generate a screenshot with the suggested modification if my explanation was unclear.





[ZBXNEXT-137] User Read Only Feature Created: 2009 Nov 20  Updated: 2020 Jul 09

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Jermaine Howard Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: permissions
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All



 Description   

Would like for the ability to assign a user just read only access to Triggers. We have developers, contractors,
and some employees who we may not want to edit any trigger but be able to read and see what triggers
are in place for a server without impacting the ones currently in place.



 Comments   
Comment by richlv [ 2009 Nov 20 ]

if you assign read only access to user of 'zabbix user' class, doesn't that do what you want ?

Comment by Jermaine Howard [ 2009 Nov 20 ]

I should of been a lil more specific. Sorry bout that. I was referring to the configuration-> triggers
screen. Granted the read only user while under monitoring could click on time for an event, and then time
again I believe to pull up the trigger information. It would cut down on time if I was able to give a user read
only access to the configuration->triggers menu so they could see all triggers we have set for any server or
template. I hope that helps a lil more, sorry for any confusion from my lack of specifics.

Thanks for the fast response.
Jay

Comment by Mateusz Kwiatkowski [ 2011 Oct 03 ]

I am looking for a very similar functionality. Is it possible to create a new User Type 'Zabbix Super User'. Users of this type could have read-only access to all hosts, without the need to assign to particular groups.

Comment by Cliff DeCarlo [ 2020 Jul 09 ]

This is quite the old feature request, but I too would like to see this feature.  We also have developers/project leads that would like to be able to see the definition of items/triggers but not modify them.  We currently have these users defined as Zabbix Admin with read-only access to hosts and they cannot see any of the item/trigger definitions.  They have access to the configuration screens but nothing shows for any hosts to which they have read-only permissions.





[ZBXNEXT-94] Adding the possibility to add availibilty reports to screens Created: 2009 Oct 01  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Christophe Prevotaux Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: dashboard, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Not relevant here



 Description   

It would be nice to have the possibility to add an availability report to a screen so it can be presented to a user or a group of users only as soon as they login.

right now this choice is not given in the GUI on 1.6.6






[ZBXNEXT-5] ids in audit log should be linked Created: 2009 Feb 25  Updated: 2015 Oct 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: audit
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

trunk, revision 6817



 Description   

currently, ids in audit log are just plaintext strings that help user little. instead, they should be linked, clickable.

log should check whether such an id exists and make it plaintext only if missing (ideally a tooltip would be presented to user when hovering over such an id saying something like "Target has been removed".






[ZBXNEXT-978] New configuration option: Update existing trigger instead of creating duplicates Created: 2008 Nov 19  Updated: 2014 Oct 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Marek Lange Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates ZBXNEXT-219 Will be nice to implement additional ... Closed
duplicates ZBXNEXT-220 Will be nice to have possibility to a... Closed

 Description   

I find this very annoying and time-consuming: http://www.zabbix.com/forum/showthread.php?t=10701&highlight=duplicate+triggers

Importing a huge template with a lot of hosts creates duplicate triggers. This happens when only the expression of the trigger was changed and the template is reimported. As I understand from the thread the default behaviour in 1.4 was to update the trigger expression in the existing trigger. In 1.6 this was changed and the old trigger is not affected, instead a new trigger with the same name is created. Either I have to delete all old triggers then or completely delete all template linkages and link all hosts to the new templates afterwards. This takes a lot of time...

Is it possible to create a switch/an option where this behaviour can be configured to the 1.4 behaviour?

Thanks.



 Comments   
Comment by richlv [ 2009 Oct 01 ]

might be dupe of ZBX-304

Comment by richlv [ 2011 Sep 23 ]

most likely there could be some option to control trigger uniqueness criteria. currently it is name+expression.
this probably would have to work in many locations - importing xml, linking template in the frontend, linking a template by server (from discovery actions etc)...

Comment by richlv [ 2014 Oct 11 ]

by now this is a standard zabbix behaviour, and unlikely to change. unless there's a really good reason, i'd suggest to close this issue





[ZBXNEXT-21] Add URL to Item Graph in Action Notification Created: 2008 Jan 14  Updated: 2021 Oct 13

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Johan Fischer Assignee: Unassigned
Resolution: Unresolved Votes: 14
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi,

I was sondering if we could add macro in the notification body (email body in my case) to get the URL of the graph (of last values) when a trigger is actioned. This would reduce the time to go inspect the values and evolution (open browser, load web page, login, go to monitoring, latest data, host, item...).

If there was the URL To the graph, I would just click on it and the browser would load nicely the useful stuff

(Note: I don't know what would happen if the login expired or I haven't logged yet, if after the login, I would be redirected to the welcome page or to the graph)....

Regards.
J.



 Comments   
Comment by João Figueiredo [ 2010 Nov 03 ]

This would greatly speedup the event analysis either receiving it by email in a PC or out of the office on a smartphone.

Comment by Alexey Korepov [ 2017 Feb 17 ]

Is there any improvements in fresh versions of Zabbix? Maybe I can get at least - url for item?

Comment by Alexey Korepov [ 2017 Feb 17 ]

Seems that

{EVENT.ID}

already works normally on Zabbix 3.2, so we can generate direct links to item history in action text, here is example:
Item graph: http://zabbix.example.com/history.php?action=showgraph&itemids[]=

{ITEM.ID1}
Item history: http://zabbix.example.com/history.php?action=showvalues&itemids[]={ITEM.ID1}

Graph direct image: <img src="http://zabbix.example.com/chart.php?itemids[]=

{ITEM.ID1}

" />

Comment by Nikolay Polyagoshko [ 2021 Oct 06 ]

Hey, there

Any updates on this?

It will be super useful if {ITEM.ID} could be used in Trigger URLs, for including hyperlink to item’s graph in notifications.

Probably adding support for {ITEM.ID} should not be very complex.

Right now Zabbix already have support for {ITEM.VALUE} and {ITEM.LASTVALUE} in Trigger URLs. 

And if zabbix have access to some item's value in the TriggerURL context, it should also know that value's ID, right?

Comment by Albert Akchurin [ 2021 Oct 13 ]

That would be really useful





[ZBXNEXT-1619] provide access to created entities Created: 2013 Feb 14  Updated: 2013 Feb 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

after we have created an entity (for example, host or template), most often we want to edit it. currently we see that it was created, but then it disappears. either the status message, or something else could provide a quick way to edit this entity. maybe a floating bar with same content as the navbar...






[ZBXNEXT-1490] Unable to use same SNMP trap item key with multiple interfaces Created: 2012 Oct 23  Updated: 2020 Jul 23

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Unresolved Votes: 44
Labels: interface, items, snmptraps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate
is duplicated by ZBXNEXT-1630 CLONE - Wishlist: add a third optiona... Closed
is duplicated by ZBXNEXT-4664 Allow duplicate discovery keys Closed
is duplicated by ZBXNEXT-1757 Require key uniqueness per interface ... Closed
is duplicated by ZBXNEXT-4382 Multiple icmp* items for one host Closed
is duplicated by ZBX-5380 Can't add Item with jmx agent with th... Closed
is duplicated by ZBX-5952 Support for multiple JMX keys on the ... Closed
is duplicated by ZBX-9514 Templates with the same discovery rule. Closed
is duplicated by ZBX-16298 JMX, Solution for problem with same K... Closed

 Description   

Zabbix does not allow use an SNMP trap item on hosts with multiple interfaces.
Zabbix does not support multiple identical keys on a one host.

I suggest allow create SNMP trap item without link to a interface by default.



 Comments   
Comment by richlv [ 2013 May 23 ]

ZBXNEXT-1757 might be about the same original issue

Comment by Oleksii Zagorskyi [ 2014 Jan 17 ]

check also ZBX-7569

Comment by Sorin Sbarnea [ 2014 Apr 04 ]

Considering that I have 7 JMX instances that are running on a single host, this limitation is huge.

Comment by Sorin Sbarnea [ 2014 Apr 04 ]

The problem applies for an huge number of cases: monitoring multiple HTTP ports on the same machine, multiple JMX instances, ....

Comment by Phil Smith [ 2014 Jun 26 ]

This limitation kills the JMX use case for hadoop clusters, which typically have many jvms per node.

Comment by Phil Smith [ 2014 Jun 26 ]

While we're thinking about JMX on multiple interfaces, it is typical for one set of keys to be common to all JVMs (heap size, etc), while others are application-specific counters that exist only in some interfaces.

Hopefully a solution will include an answer for how to either select which interfaces to query, or a way to gracefully ignore when the keys are absent.

Finally, the killer feature for the hadoop use case would be the ability to define such an item within a template. I have dozens of mapreduce nodes that all run jvms..

Comment by Marc [ 2014 Jun 26 ]

phs, the assigning could be easily done with ZBXNEXT-735#comment-83047.
In case item key uniqueness criteria is additionally made up of host interface (resp. alias on template level), then one might possibly do something like this:

Templates
A common JVM template is linked into application specific templates:
Template 'Common JVM' is linked into template 'Java App Foo'
Template 'Common JVM' is linked into template 'Java App Bar'

Items in template 'Common JVM' have no host interface alias/hint/label set.
All items (incl. linked/templated) in template 'Java App Foo' have a host interface alias 'FooApp' set.
All items (incl. linked/templated) in template 'Java App Bar' have a host interface alias 'BarApp' set.

Host
A host jboss.example.com has two JVM host interfaces:
JMX host interface 1 has an interface alias/hint/label 'FooApp' set.
JMX host interface 2 has an interface alias/hint/label 'BarApp' set.

Since uniqueness criteria takes host interface or host interface alias into account, one may link both application specific templates into the same host.
Proper host interfaces for items are selected based on interface aliases/labels/hints.

Comment by richlv [ 2016 Apr 25 ]

ZBXNEXT-1049 is remotely similar

Comment by richlv [ 2017 Sep 30 ]

general item-interface linkage covered in ZBXNEXT-735 , this issue seems to be specifically about snmp traps - suggested to update the summary

Comment by Glebs Ivanovskis (Inactive) [ 2018 Feb 14 ]

ZBXNEXT-3872 may help a bit here.

Comment by Sistemes [ 2019 Jun 26 ]

Hi, I guess the problem is because the "KEY of the element" is a "primary key" in the zabbix database.
My question is ... Why is the "primary key" in the database a "KEY in an element", and not a simple and unique identifier? For example, an autoincremental.

I'm sorry if my question is stupid or something else.

Comment by Sergio [ 2020 Apr 20 ]

Hi everyone.

I think that's an excellent question...

I also need to monitor more than one IP per host...





[ZBXNEXT-1346] Resolving macros on configuration pages Created: 2012 Aug 01  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.1.0
Fix Version/s: 2.2.0

Type: Change Request Priority: Major
Reporter: Pavels Jelisejevs (Inactive) Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 3
Labels: configuration, macros, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently macros resolving on configuration pages is very inconsistent. User and positional macros are resolved in item names on the configuration pages, but not in trigger names. Trigger name macros are resolved in IT service configuration and pop ups. The trigger.get method supports the "expandMacros" parameter, while "triggerprototype.get" does not. Macro behavior should be unified in all of the configuration section and API.

Additionally, it would be great to implement a "Resolve macros" switch to be able to enable/disable macro resolving on all configuration pages, to suit different use cases.

Naturally, all of this should be documented. Plus, the usage of positional parameters should be added to the macro documentation page.

Specs needed.



 Comments   
Comment by Pavels Jelisejevs (Inactive) [ 2014 Jul 22 ]

Another issue to consider when fixing implementing this - ZBX-7274.

Comment by Marc [ 2015 Feb 04 ]

Might be worth to think about whether such a "Resolve macros switch" might also affect the way of filtering.





[ZBXNEXT-1240] check presence of some data (from data.sql) or some table(s) during setup.php on step 3 Created: 2012 May 29  Updated: 2018 Sep 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Installation (I)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 4
Labels: configwizard, database, installation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-5083 New install frontend error: mysql_fre... Closed
is duplicated by ZBX-5093 Warning about pg_free_result() right ... Closed
is duplicated by ZBX-6713 Ugly login screen after problems in DB Closed

 Description   

If an user will create zabbix DB without filling it by schema and will successfully perform the GUI setup, he will see a non friendly error text at the login page:
mysql_free_result() expects parameter 1 to be resource, boolean given [include/db.inc.php:561]

This error visible ONLY if a table "users" doesn't exist.
If the table "users" exists, we will see nice warning text: "Unable to select configuration." above the username input field.
And it still not very informative.

Would be great to check on step 3 is the DB created correctly and filled by data.
The check could be simple - presence of "users" table or more complex: at least one row in the "config" table.



 Comments   
Comment by Oleksii Zagorskyi [ 2012 May 29 ]

Two issues linked as duplicates as a proof.

Comment by Oleksii Zagorskyi [ 2013 Jan 02 ]

Why this is happening with users.

A lot of PHP-based "frontends" suppose only one action performed manually by a user - DB creation and granting all required permission to the created DB.

Then on first attempt to open the frontend its php scripts create DB's tables and fill some data (if required).

This is not the case regarding to zabbix frontend, so we could be more friendly to such user mistakes and provide more precise errors during PHP frontend setup.

Yes, we have required steps to install zabbix described in documentation, but time to time we see that users do not read documentation

Comment by Oleksii Zagorskyi [ 2013 Mar 12 ]

ZBX-6376 is very related (they should be fixed together)

Comment by Oleksii Zagorskyi [ 2013 Nov 14 ]

Interesting note for 2.2.0 release:

If we have created database but schema is not filled then the "setup.php" on the 3rd step returns message:

The frontend does not match Zabbix database.

If we point config file "zabbix.conf.php" to that empty database and open "setup.php" then frontend returns message:

Configuration file error: The frontend does not match Zabbix database.

And finally index.php returns:

Database error: The frontend does not match Zabbix database.

Such cases could be more user friendly.
Otherwise we will have cases like this (in Russian) - https://www.zabbix.com/forum/showthread.php?t=43123

Comment by Oleg Ivanivskyi [ 2018 Sep 17 ]

It would be nice to check and automatically populate it if DB has no schema at all.





[ZBXNEXT-1221] Ability to copy/import/export prototype item/trigger/graphs Created: 2012 May 12  Updated: 2022 Dec 19

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 6.0.12, 6.2.6
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Attilla de Groot Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: discovery, frontend
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Hi,

I'd like to create multiple discovery rules to monitor my router, because my iftable holds multiple types of interfaces and not for all interfaces values are available. E.g physical interface counters are not available on logical interfaces. To accomplish this I've create two separate discovery rules both with a specific regex to match only the applicable interfaces.

To do this I've created necessary items, triggers and graphs for one discovery rule and I need to have a subset of these for another discovery rule and currently the only way to do this is by hand.



 Comments   
Comment by richlv [ 2012 Aug 10 ]

by now xml import/export should handle this, so import/export should be covered. copying is still missing

Comment by Aigars Kadikis [ 2022 Dec 07 ]

Complexity of problem:

There is an API method 'discoveryrule.copy' which supports this task:
https://www.zabbix.com/documentation/6.0/en/manual/api/reference/discoveryrule

If the world asks, it should be not too hard to implement a GUI layer around that

Comment by Ivan Prokudin [ 2022 Dec 19 ]

I've made trivial script doing this https://github.com/iprok/zabbix-lld-copy . But of course I am still waiting for this in the Zabbix GUI.





[ZBXNEXT-582] specify in trigger configuration if a recovery message is needed Created: 2010 Feb 15  Updated: 2019 May 29

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexander Bergolth Assignee: Unassigned
Resolution: Unresolved Votes: 17
Labels: alerts, recovery, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For some types of triggers, a recovery message isn't really useful. (E.g. a notification that /etc/passwd had changed doesn't need a subsequent OK message telling me that the file has not changed in the next interval.)

Unfortunately I didn't find a way to specify that the recovery messages should be omitted for this kind of triggers.

An option that allows to specify at trigger config level, if a recovery message is needed would be useful.

Thanks,
--leo



 Comments   
Comment by Igor Danoshaites (Inactive) [ 2010 Feb 16 ]

Hi Alexander!
Can you please attach to this issue screenshot of the configuration screen of this action (I mean in the "Configuration->Actions" report click on your action's name and prepare screenshot of this screen) ?

Comment by Alexander Bergolth [ 2010 Feb 16 ]

I am talking about setting a property in the trigger configuration, not in the actions config.

I know that there is an option to disable the recovery message in the actions configuration but I don't want to do that generally for all events.
I'd like to do it depending on the trigger.

Example: We have more than 1000 triggers. Most of them need a recovery message.
For about 100 of them (like file-checksum triggers or equivalent), recovery messages don't make sense.

Unfortunately I didn't find a way to exclude those messages in an action-filter and define a separate action for them.

So I am thinking of two options:

  • I could either mark all triggers that don't need a recovery message e.g. in the trigger description with something like norecovery.
    (Unfortunately you currently cannot filter by "trigger description not like ..." in the action.)
    or
  • you could add a new flag "recovery message" to the trigger

But if you really want to see one of our action screens, take this one:
https://support.zabbix.com/browse/VUE-5

Comment by Igor Danoshaites (Inactive) [ 2010 Feb 22 ]

Hi Alexander!
We discussed your improvement idea, seems that it is good idea.
We will think about it.

Comment by Alexander Bergolth [ 2010 Nov 16 ]

Do you already have a roadmap when this feature will be included?

Comment by Igor Danoshaites (Inactive) [ 2010 Nov 16 ]

Hi Alexander,

We will discuss this tomorrow internally and after that I will let you know.

Comment by Alexei Vladishev [ 2010 Nov 16 ]

Alexander,

Currently the feature is not in our roadmap for Zabbix 2.0. I would like to understand your idea better before making any decisions.

My understanding is that only triggers having "multiple true event generation" option set (like log file monitoring, check sums, etc) should not generate recovery messages. Is it correct? Could you provide us with other examples where "normal" triggers may also benefit?

Thank you.

Alexei

Comment by Alexander Bergolth [ 2010 Nov 17 ]

Looking at the "Template_Linux" checks shipped with Zabbix, I can only find use cases where the "multiple problem event generation" would also make sense:

<filename> has been changed on SERVER

{HOSTNAME}

has just been restarted
Hostname was changed on

{HOSTNAME}
Host information was changed on {HOSTNAME}

Version of zabbix_agent(d) was changed on

{HOSTNAME}

Besides, log file items also don't have a recovery event, so sending a recovery notification isn't useful too. (But even for triggers based on this type of items, "multiple problem event generation" should be set.

So currently I can't give you an example of triggers that shouldn't have "multiple true event generation" set but should send recovery notifications and vice versa.

But both topics are quite different:

  • "multiple problem event generation" somehow switches between edge-triggered and level-triggered relationship between items and triggers
  • "skip notification on OK event" affects the relation between a trigger state-change and an action

So I think it could be quite confusing if you'd combine both in on option, even though it whould currently solve my problem.

Cheers,
--leo

Comment by Alexei Vladishev [ 2010 Nov 17 ]

Leo,

I understand that the topics are quite different, however I believe that the new feature will only (or at least in most of the cases) affect triggers that should be defined to generate multiple true event. To some extent, one flag for actions would make another (on trigger level) irrelevant.

I well understand you idea, but I feel that it may add more confusion than benefits. It would be great to keep number of available options to a bare minimum at trigger level for easier maintenance and clarity.

I would leave it as it is for now.

What do you think?

Alexei

Comment by Alexander Bergolth [ 2010 Nov 17 ]

Does "leave it as it is for now" mean that your plan is to implement the suggested feature and enable it if the "multiple problem event generation" is set, because you don't like the idea of adding a new trigger option?
If yes, then I could live with that solution.

But we would really appreciate having any kind of option to suppress the unnecessary and annoying "OK" (recovery) notifications on those trigger events described above.

Thanks,
--leo

Comment by Alexei Vladishev [ 2010 Nov 17 ]

Leo,

I wouldn't include it as it is into our roadmap. Yes, I do not like the idea of the new trigger option because everything it does can be already achieved by setting "multiple problem events". I do not see real-life cases when it cannot. So it looks like duplicating existing functionality to me.

Actually the "multiple problem events" won't solve this issue 100%, because it would still generate recovery messages on PROBLEM->OK state transition. Hmm, not good...

Another reason is that I am not quite happy about controlling how to react to problems (send or ignore recovery messages) on trigger level. This may introduce high degree of confusion: one would spend hours looking at action configuration and figuring out why recovery message is not sent.

To put all this differently, I do not see a nice and clean solution for this problem unfortunately.

Alexei

Comment by Alexander Bergolth [ 2010 Nov 18 ]

> Yes, I do not like the idea of the new trigger option because
> everything it does can be already achieved by setting "multiple problem
> events".
> I do not see real-life cases when it cannot. So it looks like
> duplicating existing functionality to me.
> Actually the "multiple problem events" won't solve this issue 100%,
> because it would still generate recovery messages on PROBLEM->OK state
> transition.

Maybe there is some kind of misunderstanding?
Actually the current functionality solves exactly 0% of this issue because the recovery message itself is the problem. This issue is all about finding a way to hide the annoying "PROBLEM->OK" notifications.

> Another reason is that I am not quite happy about controlling how to
> react to problems (send or ignore recovery messages) on trigger level.
> This may introduce high degree of confusion: one would spend hours
> looking at action configuration and figuring out why recovery message is
> not sent.

If that's a problem, then you could add a way to specify conditional filters for recovery messages in the action configuration.
Then one could set a "marker" in the trigger-definition (e.g. some tag like NO_OK_MESSAGE in the trigger description) and allow filtering out such kind of trigger events in the recovery section of the action definition.

But let's go back to the base of the problem...

Do you think that receiving an SMS like
"OK: /etc/passwd has been changed on server xxx has recovered"
is useful? Those kind of things are one-time events that indicate a unique problem incident, not states that may flap between OK and PROBLEM.

So I think there should be a way to handle events that are caused by that kind of triggers differently. (I.e. without recovery messages.)

Comment by Igor Danoshaites (Inactive) [ 2010 Dec 13 ]

Mail Alexander Bergolth:

Could you please move this issue out of the client SUPPORT project into the public ZBXNEXT project, as other people would also like to comment on it?

Comment by Igor Danoshaites (Inactive) [ 2010 Dec 14 ]

I did also have an issue about alarming, especially with recovery messages: ZBXNEXT-582: specify in trigger configuration if a recovery message is needed

I’m also voting for this, this is also an issue for us.

An idea for a solution would be to have an additional freetext-field in the trigger, which can be used in the action to filter for it (as its already possible for trigger value, trigger description, …).

This would allow actions to be fired only on specific cases (like all triggers which have “MAIL” in this field shall only be handled by an mail action ,…).

Comment by richlv [ 2011 Nov 28 ]

ZBXNEXT-842 seems to be similar

Comment by Elvar [ 2013 Jan 30 ]


This is exactly what I need and would really like to see it implemented. I don't need recovery messages for a server restarting but at the same time I don't want to have lots of actions specific to every trigger etc. PLEASE implement this.

Comment by Alexander Bergolth [ 2014 Apr 07 ]

Any chance for getting this implemented?

Comment by Corey Shaw [ 2014 Apr 07 ]

Maybe another option would be to allow actions to have configured "exclude" options. Heck, or you could add the ability to give "tags" to triggers and then do an action based on that tag. That way it would be super easy to have tags called "with-recovery" or "without-recovery" on arbitrary actions. This could even allow for far easier management of multiple actions as well.

Comment by Alexander Bergolth [ 2014 Apr 07 ]

Yes, tags could be an option.
That's what I suggested some years ago in comment-35514.
Unfortunately triggers only offer a description form-field to store the tags and action conditions currently don't allow filtering by "trigger description like/not like".

Comment by Volker Fröhlich [ 2015 Jun 03 ]

While I'm perfectly aware that this is not a forum, I think the longevity deserves this issues a comment:

I used a unified pre-processing script for all outgoing messages, that cancelled sending messages that follow a specific pattern. My convention was to simply prefix such triggers with "[Info]". While it doesn't touch the root problem and probably only works with alert scripts, it served me well over the years.

The fact that action conditions became a lot more flexible in 2.4, and the improvements regarding "Applications" and templating probably make it viable to have two separate actions (one with and one without recovery message) and just an action condition that cares about a certain "Application" string. That would be item-based though, since "Application" is not an actual trigger property.

Comment by dimir [ 2015 Jun 09 ]

As a nice and clean solution I currently only see adding support for trigger types, e. g.

  • one-way trigger
  • both-ways trigger

Although it definitely adds certain complexity to the internal implementation.

On the other hand, as alexei mentioned, the fact that you don't always mention triggers in an action, the visibility problem would still exist.

Comment by Alexander Bergolth [ 2015 Jun 10 ]

I agree that the cleanest solution would be adding "one shot triggers".

The use cases of this trigger (e.g. host had just rebooted, file checksum changed, sector had been reallocated, etc.) type simply don't match the concept of two states (PROBLEM and OK). Instead it is only a one time event, there is no PROBLEM phase and no transition from PROBLEM to OK following that phase. That's why suppressing the recovery event and the following recovery action is really only a workaround and thus a hacky solution.

But unfortunately I don't see any tendency towards such a solution. So I guess we'll have to live with a workaround. Since the trigger condition defines whether the trigger is one shot or not, there should be a way to mark that property at trigger level. (And not e.g. at item level like via setting an application as suggested above.) This could be done by adding trigger tags or an option to filter actions by {TRIGGER.DESCRIPTION} as suggested several times. (e.g. in comment-106296).

Comment by Roeland Jansen [ 2016 Jun 16 ]

Is there any news on this?

Alexander Bergolth reaction is exactly how I see it as well.

Comment by Alexander Bergolth [ 2016 Aug 10 ]

Will Zabbix 3.2 provide a solution for this?
According to the release notes, Zabbix 3.2 allows you to set OK event generation to None:
https://www.zabbix.com/documentation/3.2/manual/config/triggers/trigger

However, the manual also states: None - in this case the trigger will never return to an OK state.
... which is quite unusable. (It should only supress the OK event/action, not the state.)
Is the documentation correct? If yes, how do you reset those triggers?

Maybe there is a way to suppress OK notifications using the new event tags and an action condition like Tag <> NORECOVERYNOTIFICATION?

Comment by dimir [ 2016 Aug 10 ]

AFAIK in case of None the trigger is to be reset using acknowledgement: ZBXNEXT-104.

Comment by Roeland Jansen [ 2016 Aug 10 ]

and I believe that is not what you would want.

You get the mail/message/whatever – password file has changed.

It's just information, not a state. Therefore there is no OK message (needed) and also no interaction required (clicking OK).

Comment by Sergey Urushkin [ 2016 Oct 04 ]

With 3.2 it's possible to create 2 actions with tag condition (with/without special tag). But I think it would be more convenient if we could simply add a tag condition to action's "Recovery operations", and add such default tag to suitable template's triggers out of the box. That would completely solve the problem without introducing the new event type. While the new event type will be clearer for users, I guess it requires more code changes than "Recovery operations" condition. And it's the question - what will be better if we talk about performance.

Comment by Alexander Bergolth [ 2017 Nov 15 ]

Now zabbix 3.2 already provides the requirements for implementing this feature (trigger tags or "Trigger OK event generation: None").

It is really frustrating that this 7 year old issue, which is still very valid for me and apparently many others, is obviously not considered for implementation.

Maybe it is time to open a new, more specific issue in order to revive that topic again?

Maybe an issue like: "add a tag condition filter to Actions / Operations and Actions / Recovery operations" ?

Comment by Alexander Bergolth [ 2017 Nov 21 ]

Maybe it is time to open a new, more specific issue in order to revive that topic again?

I've created a new feature request about implementing conditional filtering by tags for recovery operations: ZBXNEXT-4246
Please vote for it!

Comment by João Andrade [ 2019 May 29 ]

May i ask how have you been working around this limitation, if there is a way? I tried looking at trigger functions, tags and event correlation, but cant figure out a way to do it.

This is something that bugged me since i started using zabbix many years ago, but now in my current infra, these information "problems" are a problem.





[ZBXNEXT-261] Add "copy selected to" for applications Created: 2010 Mar 02  Updated: 2013 Jun 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Alexander Piavlo Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For items/triggers there is a "copy selected to" options which allows to copy chosen items/triggers to another template/host.
It would be nice to have the same feature for applications too, which would recursively copy the chosen application and it's items to another host/template.



 Comments   
Comment by richlv [ 2013 Jun 17 ]

ZBX-6711 is somewhat related





[ZBXNEXT-254] Improve element labels in maps Created: 2010 Feb 24  Updated: 2022 Oct 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 2.0.0
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Artem Suharev (Inactive) Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 11
Labels: maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

Improve element labels in maps.
Possible improvements could be:
1. Remove "OK"
2. Optional label background on/off
3. Text coloring
4. e.t.c.



 Comments   
Comment by richlv [ 2010 Feb 24 ]

5. label background opacity level

Comment by Cal Sawyer [ 2010 Mar 07 ]

Provide "pop-over" table of triggers like in Global Status and Top 20, instead of navigating away from Map to Triggers for the host group.

Comment by Murilo Moreira de Oliveira [ 2010 Apr 01 ]

7. Insertion of plain texts elements and text elements "host items-aware".

Comment by richlv [ 2010 Apr 01 ]

could you please explain number 7 ? i didn't quite get it

Comment by Murilo Moreira de Oliveira [ 2010 Apr 01 ]

Plain texts elements -> Simple elements to show some custom information, like a note.
Text elements "host items-aware" -> A text element that show the value of a previously selected item from a host.

Comment by richlv [ 2010 Apr 06 ]

ahh, so basically text labels w/o icon ? maybe could be semi-emulated by adding a 1x1 px image ?

second one would be a subset of the first simply by supporting macros just like all labels

Comment by Murilo Moreira de Oliveira [ 2010 Apr 06 ]

Yes, the first one could be implemented by this "method".
On second one I didn't mean to show macro values (although this is desired too, by the way, on all the interface!). I meant that it would be interesting to show data collected from hosts (items like CPU usage, bandwidth, network in etc.) in simple labels on maps. Today is possible to do this only with connectors labels on maps.

Comment by richlv [ 2010 Apr 06 ]

"I meant that it would be interesting to show data collected from hosts (items like CPU usage, bandwidth, network in etc.) in simple labels on maps. Today is possible to do this only with connectors labels on maps."

data collected is referenced by a macro - and no, it's not true that you can display it on connectors only - you can use macros in map element labels as well

Comment by Murilo Moreira de Oliveira [ 2010 Apr 06 ]

First of all, to guarantee we are using the same abstraction, for me "data collected" is equal to "values from host items".
"Today is possible to do this only with connectors labels on maps." --> Not macros, I meant host items. It's possible to show host information using macros and items only on maps connectors. The element label does not support the usage of hosts items directly (as I wanted).
How is data collected referenced by a macro?

I'm sorry my English.

Comment by richlv [ 2010 Apr 06 ]

map element labels support macros referencing item data.

http://www.zabbix.com/documentation/1.8/manual/config/macros

{host:key.func(param)}
Comment by Alexei Vladishev [ 2012 Oct 14 ]

It should be split into several feature requests.

Comment by richlv [ 2017 Mar 26 ]

some of this solved by ZBXNEXT-2031, but indeed too many things in the same issue - for example, hiding status is ZBXNEXT-2665 and others likely covered somewhere else, too.





[ZBXNEXT-133] better management of many maps in monitoring section Created: 2009 Nov 13  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Nikolay L Selikhov Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: maps, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It is necessary to create two types of maps:

1. The cores
2. Auxiliary

For this purpose, that it was possible to create submaps, concerning one knot (more detailed, but not littering menus of maps).

It should help at display of maps of the big and difficult networks.



 Comments   
Comment by richlv [ 2009 Nov 13 ]

you can create map objects that are maps themselves, thus they are clickable for drilldown.
does that satisfy your needs ?

Comment by Nikolay L Selikhov [ 2009 Nov 13 ]

No, you don't understand.

When objects over 100!

And when need detailed map of the current object.
And when need summary map with all host-groups.

Map-menu - turns to a hell! With many-many items.

Comment by richlv [ 2009 Nov 13 ]

it would help if you would note specific location in frontend like "configuration -> maps" or "monitoring -> maps"
i'll make another guess here - are you referring to the dropdown in monitoring -> maps ?

Comment by Nikolay L Selikhov [ 2009 Nov 13 ]

Monitoring Maps

I've:

1) Global map (hostgroups) - over 100
2) Link from hostgroups -> Node Maps (devices and links) - 100* average 2-3
3) Link from device -> Devace Map - Device and clients triggers (aproximately 24)

And number of the maps o_O ......
It's - hell for users

Configuration - to hard, but it's my job





[ZBXNEXT-135] show problem triggers differently for hosts in maintenance Created: 2009 Nov 13  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: maintenance, triggers, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

hosts in maintenance are distinguished in the trigger view, but trigger "PROBLEM" entries are not. to make it easier to see which problems are for maintenance hosts, they should be different - probably in slightly different colour, orange or so



 Comments   
Comment by Pavel Timofeev [ 2013 Jan 28 ]

I think ZBXNEXT-1150 and ZBXNEXT-1084 are relative tickets





[ZBXNEXT-937] "ZABBIX server is running" not reliable Created: 2009 Nov 16  Updated: 2012 Oct 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Tim Gouma Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: dashboard, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

not applicable to this issue



 Description   

the fix for bug ZBX-448 (https://support.zabbix.com/browse/ZBX-448) introduced a new problem while using external checks. When the zabbix server stops for whatever reason while the external checks are still running the external checks aren't stopped. (maybe this is also an bug?). But the external checks are assigned to the listening socket of the zabbix server.

The problem is that the check introduced in ZBX-448 only checks if there is something listening to the right port, not if it responds. This can be easily checked by not only connecting but also sending en request to the server en waiting for the response.



 Comments   
Comment by richlv [ 2011 Aug 30 ]

sockets leaking should be fixed as ZBX-1908
this could be about extending server availability check by asking for some additional data from it. not sure what exactly at this point, but that sounds a bit more like a feature request





[ZBXNEXT-199] easily accessible frontend check page Created: 2010 Jan 08  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: dashboard
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

followup issue of zbx-1478

in administration section, page with all checks (probably just calling the functionality from wizard for now) should be added - something like Administration -> General -> Compatibility.



 Comments   
Comment by Alexei Vladishev [ 2012 Oct 21 ]

I believe it can be closed, we already have this information in the dashboard.

Comment by richlv [ 2012 Oct 21 ]

dashboard is different, it only shows what it doesn't like, not all the conditions/requirements.
basically like the config wizard requirement step, maybe a bit better formatted for larger screen area





[ZBXNEXT-124] can't delete multiple images Created: 2009 Nov 04  Updated: 2012 Oct 11

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: images, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

administration -> general -> images

removing multiple images is not possible, each image that has to be deleted has to be opened individually






[ZBXNEXT-125] allow adding arrows to map links Created: 2009 Nov 06  Updated: 2013 May 17

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

it would be nice to have an option for each link end (checkbox) to draw an arrow



 Comments   
Comment by Raymond Kuiper [ 2013 May 17 ]

Very good idea! This will allow to create weathermap like maps.





[ZBXNEXT-130] It would be nice to have hints for all buttons in Zabbix Created: 2009 Nov 07  Updated: 2022 Mar 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Alexei Vladishev Assignee: Unassigned
Resolution: Unresolved Votes: 13
Labels: usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Sometimes a small help message would really help to understand what really happens if we press the button.

<richlv> these would most likely be implemented as a question mark icon next to each field in configuration, possibly elsewhere. technically, all fields could have them, but only the ones actually having any hint text would have the icon displayed.



 Comments   
Comment by richlv [ 2012 Apr 03 ]

there are two potential issues that could be split up later

a) 'help' icons next to each field/section;
b) actual button tooltips (for example, for clone/full clone buttons in host properties)

Comment by Raymond Kuiper [ 2015 Oct 26 ]

Actions could benefit from a tooltip that reminds user of needed permissions.

Comment by richlv [ 2017 Feb 27 ]

initial stub page with ideas at http://zabbix.org/wiki/Field_help_text

Comment by dimir [ 2022 Mar 03 ]

Related issue ZBXNEXT-7420

Comment by richlv [ 2022 Mar 04 ]

I seem to recall the wiki page showing some mockups - the idea was to have a tooltip for every field.
For example, in the item config form, type of information would have info on limits, units would list the special-treatment ones, custom intervals would have a description on how they operate etc.
The tooltips would have some formatting, could have links in them.
For easier maintenance, the idea was to have one authoritative source (the documentation, perhaps), which is automatically synced to the tooltips.
There was even a PoC script, extracting short sections from the manual as tooltip text.





[ZBXNEXT-57] "status of zabbix" should show zabbix version and supported features Created: 2009 Aug 25  Updated: 2023 Mar 03

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: dashboard, status, troubleshooting, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-315 Will be nice to add menu page, for ex... Reopened
Sub-task
depends on ZBXNEXT-5009 This widget should display more info ... Open
depends on ZBXNEXT-8326 Show Zabbix Server and Frontend versi... Closed

 Description   

"status of zabbix" report should additionally show zabbix server version and supported features (like snmp, ipmi, jabber, ipv6 etc) either by directly querying the found zabbix server, or by reading values, inserted by zabbix server in the db.



 Comments   
Comment by Oleksii Zagorskyi [ 2015 May 07 ]

ZBXNEXT-2805 asks something related





[ZBXNEXT-110] page help in zabbix frontend should link to online help Created: 2009 Nov 02  Updated: 2014 Mar 05

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: documentation, help, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-2150 Add component-specific links to features Closed

 Description   

current help icons in zabbix frontend mostly link to documentation page on zabbix website which offers single pdf documentation version.
this is inflexible, and people have gotten used to these icons being useless.
instead, frontend should return to the old approach and on each screen help icon should link to the corresponding section of the online manual.






[ZBXNEXT-105] deletion of an element that is used elsewhere happens without a warning Created: 2009 Oct 26  Updated: 2022 Oct 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 10
Labels: consistency, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

deletion of an element like item, trigger, host, map, media type, user media etc that is used elsewhere happens without a warning.

specific example with triggers in maps :

when a trigger that is used in a map is deleted, that happens without a warning.
instead, when a trigger is deleted, a warning should be shown, if the trigger is :
a) an element in a map;
b) a link status indicator in a map.

warning should provide links to all maps that refer to this trigger.

same should happen when deleting an item that is used in a graph, map that is included in another map, media type that is used for some user media, user media and user that is used in action as a target...



 Comments   
Comment by richlv [ 2013 Dec 17 ]

ZBXNEXT-551 deals with action related cases

Comment by richlv [ 2014 Mar 10 ]

(1) another potential problem is changing properties of some entity so it becomes incompatible with other entities.
for example, including a numeric item in a graph, then changing it to log or text.
there should be a warning in such a case, explaining to the user that they can do it, but the item will be removed from all the relevant graphs (and if it would have been the last item in such a graph, graph itself would be deleted)

reported as ZBX-7870





[ZBXNEXT-187] sorting proxies by member count and last seen Created: 2009 Dec 22  Updated: 2013 Mar 04

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: proxy, usability, widget
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

when having many proxies, it would be useful to sort their list by member count and by last seen time

also sorting by mode (active/passive) and nvps would be useful - especially when having lots of proxies and trying to find out which ones have most nvps






[ZBXNEXT-100] Dynamic size of Link on maps Created: 2009 Oct 08  Updated: 2022 Jan 06

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: fazae Assignee: Unassigned
Resolution: Unresolved Votes: 12
Labels: connectors, maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Popup_zabbix1.png     PNG File fleche.png    

 Description   

On maps we can set links between to hosts.

My dream:

  • attribute an item to a link
  • the size or the color of the link is defined by the value of the item.

Have a look at weathermap.
http://www.network-weathermap.com/node/119



 Comments   
Comment by richlv [ 2009 Oct 09 ]

note that you already can link multiple triggers to a link, which will affect it's colour and draw style.
thus this request could be about adding labels to links where items could be used.

edit : it should actually be about changing link style & colour based on an item value

Comment by fazae [ 2011 Sep 13 ]

We are about to develop this functionnality.

What is the best way to coordinate with dev team and to submit our patch ?

Today, we have a new type of ligne for links : "link"
We draw an arrow from both host to the label box.

Now we are looking for the way to change the color of the ligne.

Anibody interested in ?

Comment by fazae [ 2011 Sep 14 ]

a screenshot of the double arrow line type. See attachment fleche.png

Next step: how to connect the arrow with items ....

Comment by fazae [ 2011 Sep 15 ]

A screenshot explaining how to setup a formula for double arrows lines.

See attachment: Popup_zabbix1.png
Today: we will test integration with zabbix 1.9

Is there a zabbix developpers who can help us for integrating our patch ?

Comment by Alexei Vladishev [ 2012 Oct 11 ]

I like it in general, not sure how it could be implemented though.

Comment by fazae [ 2012 Oct 11 ]

We implemented it in our system.

How can i submit a patch ?

Comment by Volker Fröhlich [ 2013 Dec 08 ]

By attaching it here.

Comment by fazae [ 2013 Dec 08 ]

ok, il will adapt my code to the last zabbix version and publish a patch here.

Comment by Raymond Kuiper [ 2013 Dec 09 ]

Looks a bit like my request in ZBXNEXT-1750.
Maybe we can combine the two?

Comment by fazae [ 2013 Dec 09 ]

@raymond: you are right, this is the same request.

Comment by Raymond Kuiper [ 2013 Dec 09 ]

In that case I'll close mine, since this issue predates it
For completeness, here is my original line of thought:


I would like to build a 'wheathermap' like map in Zabbix.
For this to work, I need to indicate network load on links using colours.

Currently, It is possible to change the format (line type, colour) of a link using trigger statuses however, this will greatly increase the number of triggers in Zabbix for the sole pupose of making pretty maps.
Therefor, I think it would be a good idea to be able to use a mapping based on item values, for instance:

0% - Black
1-10% - Purple
10-20% - Cyan
30-40 % - Blue
50-60 % - Yellow
70-80 % - Orange
80-100 % - Red

I would like to be able to define these mapping globally, just like value mappings so we can reuse them easily in other maps or on other links in the same map.

Comment by richlv [ 2018 Dec 07 ]

ZBXNEXT-4906 asks for such a functionality on elements.

Comment by Mickael Martin (Cyres) [ 2022 Jan 06 ]

Hello Zabbix Team !

any update please ?





[ZBXNEXT-185] host ip condition for agent auto-registration action Created: 2009 Dec 22  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: autoregistration
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

network discovery actions have a condition that allows to filter based on host ip.
agent auto-registration does not, even though it would be even more useful here.






[ZBXNEXT-180] permission "helper" for complex objects Created: 2009 Dec 18  Updated: 2013 Jul 22

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: permissions, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-1828 Show effective maps permissions Closed

 Description   

currently evaluating permissions on a complex object like a map or screen is very hard. permission "helper" could do the following :

display a list of all included elements;
allow to choose user or usergroup (both are important) and show whether this user or usergroup has access to this map or screen;
show access per element (table with status, probably);
allow to filter for accessible or inaccessible objects only;
allow to add access with single operation for a usergroup to the complex object - that would give access to the selected usergroup on all hostgroups that are required to view the complex object.

maybe custom graphs might also benefit from such a feature



 Comments   
Comment by Steve mushero [ 2011 Feb 02 ]

We totally support this idea as we have dozens of server groups, dozens of customer groups, internal teams, escalation levels, etc. and often find a slide show won't even show up due to a server that was added in setup mode (group .setup) - very painful to find what's going on in 20 screens of 20 graphs and maps across hundreds of servers. Mix items on a single graph using templates, etc. and it's nearly impossible.

Best option on this is to let me specify a user and then the object like a slideshow, screen, etc. and show me which object I can/can't see.

Let me see i I can work up some SQL to determine this for now.





[ZBXNEXT-33] Integrate template repository into Zabbix UI Created: 2009 Jul 08  Updated: 2012 Oct 10

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: alex dekker Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: templates
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Some kind of repository of templates would be good. The user should be able to browse the repo and install templates onto their server without downloading the template to their PC then uploading it.

It should be possible to view a template or edit it through the UI before installing it.

Some thought would need to be given to security, as there is potential for mischief/havoc with malicious or badly designed templates. This may mean templates being reviewed before being allowed into the repo.



 Comments   
Comment by Alexei Vladishev [ 2012 Oct 10 ]

It would be great to have. As a first step we should create official repository of Zabbix templates.





[ZBXNEXT-28] ability to customise page titles Created: 2009 Jul 07  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

it would be nice if zabbix gui page titles could be slightly customised - it might be enough to provide two fields, prefix/postfix. anything entered in these fields is properly added to all page titles.
for example, entering " (Company A)" in the postfix would result in titles like "Configuration of items (Company A)".
rationale - when using multiple zabbix installations, it is handy to figure out which resides in which tab by taking a quick glance instead of opening each tab individually.



 Comments   
Comment by richlv [ 2011 Aug 26 ]

zabbix server name partially implements this





[ZBXNEXT-36] latest data should round floats to more than 2 decimal places Created: 2009 Jul 20  Updated: 2016 Apr 28

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 4
Labels: items, latestdata
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

latest data currently rounds floats to 2 decimal places (so that 99.9975 becomes "100").
this can make some values look less correct, especially with things that often approach 100% (like cpu times).
it would be better if latest data was rounded to at least 4 decimal places



 Comments   
Comment by Cal Sawyer [ 2009 Sep 10 ]

Or have the option of rounding floats on a per-item and mass-update basis

Comment by Alexei Vladishev [ 2012 Oct 10 ]

I agree that it should be a new item level setting.

Comment by Aleksandrs Saveljevs [ 2016 Apr 28 ]

This is still the case in Zabbix 3.0.2. In particular, a value like "103.0005" is shown as "103" and "103.005" is displayed as "103.01".





[ZBXNEXT-49] Map Templates Created: 2009 Aug 11  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Nathan Eisenberg Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Similar to how hosts have templates, it would be very valuable to have Map templates that provide a skeleton. This would be useful in many cases. For example, diagramming large, physically complex networks with many VLANs.

Presently, a viewer friendly method of doing this would be to diagram the network, with all of its base components, trunks, etc, and then add the specific VLAN information on top of that diagram. However, using this method, each map is a standalone object. If a change is made to the physical network, that change has to be manually documented in every map - which could number in the hundreds.

Having a template system would allow the physical network to reside on a single map, and for other maps to be built using this template as a base. Objects can be added to the secondary map, and template objects can be disabled on a per map basis, in the same way that items can be added to a host separately from its template.






[ZBXNEXT-215] MIBs file import Created: 2009 Apr 28  Updated: 2019 Sep 12

Status: Reopened
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Manfredo Pansa Assignee: Unassigned
Resolution: Unresolved Votes: 9
Labels: snmp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RedHat CentOS 5


Attachments: File cisco-stackmaker.mib    
Issue Links:
Duplicate

 Description   

Don't know if there is a similar feature, but to choose Zabbix in our Service Center we need to import Equipement Mibs file as attached one. I know zload_snmpwalk.pl utility but we need to know this feature will be available as well...



 Comments   
Comment by Alexei Vladishev [ 2009 May 08 ]

Just follow standard NET-SNMP documentation in order to import new MIBs. It is extremely straight-forward procedure.

Alexei

Comment by Brian Talley [ 2010 Jan 20 ]

I believe the OP was asking for a way to import a MIB into Zabbix and have Zabbix create a Host Template with all the Items created as defined in the vendor MIB (or allow the user to pick and choose before the template is generated). This would be preferable to building the Host Template by hand in an environment where a lot of different devices are used.

I can't see where importing the MIB file into NET-SNMP really has any effect on Zabbix other than being able to use the MIB OID object name rather than the numeric OID.

Comment by richlv [ 2010 Jan 28 ]

then this is a feature request (somehow i can't find an existing one...) for template builder from snmp mib.

until then, http://www.zabbix.com/wiki/scripts/gentemplate.pl seems to be the most functional script to generate templates for snmp devices in an automated fashion.

Comment by Stefan Radman [ 2016 Mar 05 ]

The link http://www.zabbix.com/wiki/scripts/gentemplate.pl is broken.
--Stefan

Comment by richlv [ 2016 Mar 06 ]

yes, it pointed to the old wiki which was in a phase-out state for a long time - if the script was not migrated to zabbix.org, it was probably too outdated and not too useful at that time

Comment by Dimitri Bellini [ 2018 Aug 01 ]

For who are interested on a possible alternative to the old tool to convert MIB file, i would suggest https://github.com/cavaliercoder/mib2zabbix . I think is very great tool!

I also suggest to Zabbix to think about to something similar directly integrated on the main interface





[ZBXNEXT-2] Handle SNMP value associations/lookups Created: 2009 Jun 30  Updated: 2016 Nov 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Gergely Czuczy Assignee: Unassigned
Resolution: Unresolved Votes: 13
Labels: snmp, valuemapping
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

SNMP



 Description   

MIB files contain the meaning of the given values of SNMP OIDs, practically telling you how should you interpret those values. Zabbix should be able to handle these values, know their meaning. It could either be done directly from the MIB files, or by telling them within templates.

From templates, extending the XML scheme would be simple, like:
<values>
<value data="1">Signal Lost</value>
<value data="2">Locked</value>
</values>



 Comments   
Comment by alex dekker [ 2009 Aug 28 ]

Zabbix could also interpret MIBs where possible to eliminate the need for Throw Maps. This would avoid needing to manually duplicate in Zabbix the data already extant in many MIBs.

Comment by richlv [ 2012 Apr 11 ]

this probably could be part on snmpwalk/mibbrowser feature, where it would look up the associations, create or reuse existing value maps and link them to items

Comment by Marc [ 2014 May 23 ]

Even when value mapping is the current way to solve lack of SNMP value translation, I'd prefer a different approach.
Instead of over-designing value mapping, I think snmp agent component in Zabbix-Server/-Proxy should be extended with proper snmp translate functionality.
Of course that should be optional and configurable on item level.

Edit:
Just to clarify. This is not about SNMP traps.
MIB value translation for SNMP traps is already covered by snmptt as richlv noted below

Comment by richlv [ 2014 May 23 ]

note that we quite explicitly support snmptt, it's even documented how to set it up with zabbix

Comment by Yamada Hiroyuki [ 2016 Nov 21 ]

This function would be really useful to start device monitoring quickly. Symbol translation is one of the important features of monitoring tool. But translating text symbols to Value Mapping is very complicated and time-consuming work. So I've created translation script from MIB to Zabbix Value map. But still, though Zabbix 3.0 supports Value map import/export feature, I think Zabbix should directly support MIB translation.

I hope the translation should be supported by Zabbix WebUI and API. Translated text data should not be preserved into database.





[ZBXNEXT-14] In the Configuration->Actions report should be filter by groups. Created: 2009 Jun 30  Updated: 2014 Aug 24

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 6
Labels: actions, filters, patch
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File 0001-ZBXNEXT-14-Action-configuration-filtering.patch     File ZBXNEXT-14-2.0.8-1.patch     PNG File ZBXNEXT-14-2.0.8-1.png     File ZBXNEXT-14-2.0.8-2.patch     PNG File ZBXNEXT-14-2.0.8-2.png     PNG File ZBXNEXT-14-2.0.8-3.png     File ZBXNEXT-14-2.0.8.patch     PNG File ZBXNEXT-14-2.0.8.png     Text File ZBXNEXT-14-2.0.9-4.patch     File zbxNext14-2.2.5-2.patch     File zbxNext14-2.2.5.patch     PNG File zbxNext14-2.2.5.png    

 Description   

In the Configuration->Actions report should be filter by groups in order not to see all actions, but to have possibility to filter them by groups.



 Comments   
Comment by richlv [ 2010 Aug 25 ]

what groups would those be ? user groups that are listed as recipients for actions, or host groups for which an action would match ?

Comment by Alexei Vladishev [ 2012 Oct 21 ]

Some filtering would be nice to have in actions.

Comment by Marc [ 2013 Mar 09 ]

Maybe suitable search fields (e.g. Name, Conditions, Operations) in a similar way of 'Configuration->Hosts'.

Comment by Marc [ 2013 Oct 05 ]

Attached patch 'ZBXNEXT-14-2.0.8.patch' tries to add some filter capabilities.
The patch is not tested very well - use at your own risk!

Comment by Marc [ 2013 Oct 05 ]

attached 'ZBXNEXT-14-2.0.8-1.patch' (hopefully) improves search and has a rearranged view.

Comment by Marc [ 2013 Oct 06 ]

Yet another patch (ZBXNEXT-14-2.0.8-2.patch).
Due to changed information collection from previous patch there is no more need for read-only fields.

Comment by Marc [ 2013 Oct 09 ]

ZBXNEXT-14-2.0.8-3.patch:

  • adds 'Media type' filter option
  • 'Step duration', 'Subject' and 'Message' is searched in action operations as well (if not already found in default settins)
  • some cosmetics

BTW: css for item lists is used but should have it's own.

Comment by Volker Fröhlich [ 2013 Nov 14 ]

Forward-ported 2.2.0 patch

Comment by Marc [ 2013 Nov 14 ]

Forward-ported 2.2.0 patch is based on ZBXNEXT-14-2.0.8-2.patch.
ZBXNEXT-14-2.0.8-3.patch has a bug (breaks for non Super-Admin) that is already fixed and get uploaded soon

Comment by Marc [ 2014 Aug 23 ]

Attached patch zbxNext14-2.2.5.patch additionally consists of some visual corrections and makes use of auto-complete functionality:

Comment by Marc [ 2014 Aug 24 ]

Patch zbxNext14-2.2.5.patch includes unneeded code which does not exist in patch zbxNext14-2.2.5-2.patch





[ZBXNEXT-303] ability to export maps w/o images and images w/o maps Created: 2010 Apr 15  Updated: 2017 May 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Alexei Vladishev
Resolution: Unresolved Votes: 0
Labels: maps, xml
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently all images are exported together with a map, and there is no way to exclude them. this results in huge files for large network maps.

there should be methods to ability to export maps w/o images and images w/o maps






[ZBXNEXT-280] "hosts status" should be available as a screen element Created: 2010 Mar 04  Updated: 2012 Oct 14

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Paul Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: dashboard, screens
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Mandriva 2010/Centos 5.4



 Description   

Multiple issues with host/system info widgets.

1. There is no (documented) way to specify host groups shown in host/system status widgets in Monitoring/Dashboard page.
Even if user has full access to all host groups, only several are shown.

2. "Host status" could not be selected in Screen editor Screen cell configuration.

Either all accessible host groups should be shown (what to do with hosts belonging to multiple groups?) or, better, host group should have a tag "shown in system/hosts status".

In forum you can see user requests to provide these widgets to non-admin user also, so the task may be more complicated.

tia, Paul



 Comments   
Comment by richlv [ 2010 Mar 25 ]

host group filtering has been added in 1.8.2. all accessible groups should be visible/available for choice, if not it might be some bug - but for that more specific info would be needed.

"host status" as a screen element is a feature request, moving accordingly





[ZBXNEXT-347] Possibility to filter which triggers can change host status in maps. Created: 2010 May 06  Updated: 2015 Apr 28

Status: Need info
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: 1.8.2
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Pierre-Emmanuel Turcotte Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: filters, maps
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be great if we could select which triggers can change the status of hosts on maps. This would be very handy for creating maps for different people. The server techs could have a map with servers and host status would only change when triggers concerning them(disk space for instance) would go off while developers could have other maps with possibly the same servers but their status would only change when triggers concerning their applications(database components for instance) go off.



 Comments   
Comment by richlv [ 2010 Aug 25 ]

this would be extremely convoluted - it would have to be specified per map, per element, per user.

maybe better something like a runtime map filter, based on applications... might still cause problems - for example, some application might depend on database running, so its triggers would have correct dependencies added. but if the person would choose to see data fro that application only, database going down would not display any problems in that map, because they all would depend on triggers that are currently active...

Comment by richlv [ 2013 Oct 04 ]

does the new severity filter in maps (for 2.2) solve this issue ?

Comment by richlv [ 2015 Apr 28 ]

host and hostgroup elements can also have application filter since 2.4 - https://www.zabbix.com/documentation/2.4/manual/introduction/whatsnew240#application_filter_for_maps

is there any usecase that would still need development ?





[ZBXNEXT-156] "every step" support in escalations Created: 2009 Dec 03  Updated: 2016 Apr 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: escalations, flexibility
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

it would be nice to have "every step" support in escalations. this would be similar to 'every' support in maintenance and would only execute escalation operation every nth step,

such a feature would allow to create operation rules that would execute every hour for one user and every 5th hour for another, or every 10 minutes for one and every 15 minutes for the other.



 Comments   
Comment by richlv [ 2016 Apr 15 ]

a suggested more significant redesign would solve this at ZBXNEXT-3242





[ZBXNEXT-163] Add multiple hosts to map at once Created: 2009 Dec 09  Updated: 2019 Jan 31

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Lukas Macura Assignee: Unassigned
Resolution: Unresolved Votes: 5
Labels: maps, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be nice if it is possible to add all hosts from some group into map. We have labs with 20+ PCs and it will speedup map creation very much.. No matter of hosts position, it is possible to drag them after adding.



 Comments   
Comment by Alexei Vladishev [ 2012 Oct 21 ]

It's a must have feature.

Comment by richlv [ 2015 Apr 28 ]

ZBXNEXT-1366 also talks about adding links and link indicators

Comment by Micha Slezak [ 2015 Dec 02 ]

And also add automatically link from main element to all added elements. For example:
when I'm drawing maps, I'm adding in detail all wifi clients and is it helpful when all clients will be conencted to main element

Comment by Marvin Frederickson [ 2018 Sep 28 ]

See ZBXNEXT-1366 for a patch.





[ZBXNEXT-132] Add URL into maps links and possibility link with some graphs Created: 2009 Nov 12  Updated: 2012 Oct 21

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Nikolay L Selikhov Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: connectors, maps, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-151 Add 'URL' functionality to connectors... Closed

 Description   

Add URL into maps links and additional possibility binding with some graphs for Pop-Up graphs.






[ZBXNEXT-197] audit strings should be saved by reference Created: 2010 Jan 08  Updated: 2014 Apr 15

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: audit, localization
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

audit strings should be saved by string reference, so that switching frontend language would switch them as well



 Comments   
Comment by richlv [ 2014 Apr 15 ]

true both for action & alert audit.
also the breadcrumb history bar has the same problem (there might be a separate issue about that one, but i couldn't find it right now).

other keywords : locale, language, translation





[ZBXNEXT-67] Max value for Pie graphs Created: 2009 Aug 31  Updated: 2024 Mar 08

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Igor Danoshaites (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: piegraphs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-121 Pie/Exploded Graphs made right Closed

 Description   

Will be very good to add max value for Pie graphs (i.e 30 % of max 100% on the graph) as it exists for Line graphs at this moment.



 Comments   
Comment by richlv [ 2011 Jun 08 ]

if i understand this correctly - ability to enter "max" manually instead of referencing an item

Comment by João Figueiredo [ 2011 Jun 08 ]

Probably it won't be needed to reopen https://support.zabbix.com/browse/ZBXNEXT-121
if this one gets correctly implemented.

Thanks





[ZBXNEXT-60] Add a "Graph" Report Created: 2009 Aug 27  Updated: 2018 Jan 18

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Major
Reporter: Mike Cotrone Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: reports
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 8.10
Zabbix 1.6.5


Issue Links:
Duplicate

 Description   

Graphing Reports - We do quarterly reviews with our customers and it would be nice to be able to run a "Graph" report that would spit out a PDF with all interface graphs for hosts. If you could have user knobs for Dates, Hosts/Host Groups, Graph types






Generated at Thu Mar 28 15:58:22 EET 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.