ODT Export
 

Feature Requests / Ideas

These should be moved to https://support.zabbix.com/browse/ZBXNEXT as appropriate - make sure the feature isn't already implemented in trunk or reported in the tracker.

Feature suggestions should be added and described here. Description should be as specific as possible, to the point of being usable as a development specification. Implemented items should be moved to the appropriate section, noting, if possible the svn revision that added the feature to trunk and first stable version to have that feature. Description should be contained on this page, information from forum posts should be moved here & improved upon.

Each feature request should contain, if applicable, exact locations in the GUI and Zabbix version upon it is based.
If possible, scope should be evaluated both as in work required (for potential funding), and as in “can this go into stable branch or will it go in trunk”.
New features should never call for implementation of non-free technology (think flash). Additional dependencies should be carefully evaluated.

If the description is large enough, such feature specification should get it's own page, which in turn would be linked from this page.

Feature suggestions

GUI

Monitoring

Event filters
  • Show events by period ( You can choose period day/month/year and hour:min )
  • Show events by ON or OFF
Contact displaying besides triggerlist

It would be useful to see contact information on triggers page. This information would be taken from Inventory for that host (or any list of arbitrary inventory fields, like 'owner, responsible for, warranty by').
To be even more useful, owner/responsible for would be assigned to applications, thus allowing to display correct contact for hardware, os and application related problems.
Location : Monitoring → Triggers

Ability to list categories from hosts and triggers info

Hosts and triggers info screen elements (also includes 1.6 dashboard's “system status”) should have clickable categories. Clicking on trigger severity category would open trigger view filtered by severity. For example, clicking on “3 High” would open trigger list, filtered to show only high severity triggers.
Clicking on hosts (for example, “2 Not available”) would open – what ? Should that be an existing page or should there be some new host listing monitoring view ?
Location : Monitoring → Screens

Displaying of zabbix_server capabilities

Frontend should query zabbix server & show what features are supported (ipmi, snmp, jabber etc) - or server could set these values in the db which gui in turn reads.

https://support.zabbix.com/browse/ZBXNEXT-57

Overview grouping

Overview is hard to use when there are a lot of hosts/items. To solve this problem, expandable grouping could be used by :

  • applications;
  • host groups
  • other criteria ?
Trigger notation line drawing when it matches data line

If data and trigger in a graph lines match (for example, if data line is all “1” and trigger line also is drawn at 1), such a graph is hard to read. There should be developed a way to draw these lines differently.

Unified trigger status line

Dashboard does not list 'OK' triggercount, while others do – probably should be somehwhat unified;
Dashboard has reversed order when compared to other locations, probably should be unified.

Don't show dependent triggers upon condition remedy

If two triggers are in ON state and one depends on another, the depending trigger is not shown in the trigger list. If both triggers go OFF, they both are displayed in trigger list. In such a case, the depending trigger should not pop up in the trigger list flashing. This should be like that in all locations where triggers are shown. Location : Monitoring → Triggers

Dynamic graphs, item mouseover interaction

If there are enough items in a graph, it soon becomes very hard to understand, especially for items with similar colours.
To ease viewing of such graphs, an interactive mouseover effects would help a lot.
Two modes would indicate the interesting items :

  • slight pulsation in intensity for the line whose legend has mouse held over;
  • blinking (or slight pulsation) of legend for items whose graph lines are closest to the cursor over the graph (some pixel threshold would be used here).

Location : Monitoring → Graphs

Dynamic graphs, item fast switching

Graph legend would work as a switch for the associated item in the graph. Clicking on a legend box would hide/show the item from the graph.
Location : Monitoring → Graphs

Graph rendering

The current graph rendering in Zabbix leaves something to be desired. An improvement would be SVG graphs, for examples of this see PlotKit, SVG::Graph or the bandwidth graphs in the openwrt distribution Tomato. Using SVG graphs would ease the implementation of the Dynamic Graph suggestions above.
Location : Monitoring → Graphs

Use R Statistical Package for graph rendering

This single package is considered above all others. Oracle has selected it as the core of their Big Data Statistical Products.

This will single out Zabbix above all othe monitoring platforms.

http://www.r-project.org/

R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.

R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.

One of R's strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formulae where needed. Great care has been taken over the defaults for the minor design choices in graphics, but the user retains full control.

R is available as Free Software under the terms of the Free Software Foundation's GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows and MacOS.

Do not show FALSE triggers when they are added or expression is changed

When a trigger is added or it's expression is changed, such a trigger should not appear flashing in monitoring section. Especially annoying for helpdesk display when new hosts with a lot of triggers are added or existing triggers are changed.
Also, some UNKNOWN → FALSE scenarios make the trigger show up flashing. Only TRUE → FALSE should pop such triggers up.
Location : Monitoring → Triggers

Per user configurable FALSE/TRUE flash period

There should be a user profile setting for FALSE/TRUE flashing trigger period. Zero efficiently disables flashing for that category. Location : Profile Location : Monitoring → Triggers

"Disable trigger" button

In some cases, triggers that are enabled by single SNMP trap don't go off because the disabling trap has been lost for some reason.
It would be useful to have simple “Disable trigger” button/link in trigger list.
It might be reached by a popup menu on status field, or have it's own column.
Location : Monitoring → Triggers

Background, inline object updating

It would greatly improve appearance of Zabbix web frontend, if it was able to transfer information in background and update page elements inline.
For example, even a large screen with many objects would not flicker or change layout if each object was downloaded in background and replaced after it is fully retrieved.
Similarly, there would be no need to regenerate column heading s in overview and other non-dynamic parts, if these pages were able to obtain only changed data (values, trigger status and other, significant and dynamic content).

Location list where this matters :

  1. screen items themselves and their respective contents (as listed below);
  2. overview – table contents (including headings);
  3. graphs;
  4. latest data – data;
  5. latest data – expanding and collapsing
  6. monitoring→ triggers – trigger data (also 'status of triggers', all elements)
  7. what about queue/events/actions ?
  8. maps
Expandable/collapsible hosts in latest data

As with items, hosts should be collapsible and expandable in latest data.
Location : Monitoring → Latest data

“TRUE only” overview

There should be an overview mode where only true items are shown. This would mean that only columns and rows that have at least one true cell are displayed.
This should work both for triggers and items.
It should be possible to set this mode when adding overview element to screen.

Icon colours in map according to severity

There should be a way to set map colours according to trigger severity and not to trigger value colour. Should this be new default or should it be configurable per object ?

Grouping of screens and maps

If there are a lot screens/maps, they are all tucked in a single dropdown menu. There should be some way to group & drill-in select them.

Dashboard-become-screen

While current dashboard can be somewhat customised, that's not enough.
It would be awesome if dashboard was user-customizable, some sort of a screen-dashboard mutation.
This would also include ability to create multiple dashboards and link one to another (creating a dashboard item where problems per server group are listed, and clicking on one of the displayed items would bring up overview of this group etc).

Slideshow actions

In slideshow, buttons 'back', 'pause/resume', 'forward'.

Allow access to IT services based on permissions

Access to IT services should only be allowed according to user permissions.

"Human readable" graph timescale

When a graph is created, fixed amount of proportionate timestamp periods are used (24?), thus they mostly do not fall onto hourly, dayly, weekly, monthly etc border and end up being something like “02.10 11:32”. It would be nice if timestamps were adjusted according to scale, for example - hourly graph had a timestamp each 5 minutes, 2-3 hours graph each 10 minutes, 4-8 each 15 minutes and so on (these examples are not calculated to fit nicely).

Discussion at http://www.zabbix.com/forum/showthread.php?p=42748

"Zero times"

Zero times are just “visual hints”. They're vertical red lines to mark day beginning in daily graphs, monday 0:00 in weekly graphs, 1st of the month at 0:00 in monthly graphs and so on.

Period Compare Triggers

Period compare triggers would allow a trigger to evaluate and compare data from different time slices of the same item. i.e. a trigger that compare the last hour average traffic of an item with the average hour from the same item one week ago.

Configuration

Drag-n-drop map editing

Current implementation requires manual entering of object coordinates when creating or editing a map.

This should be improved to allow positioning objects by dragging them.

Location : Configuration → Maps → Edit (of an existing map).

https://support.zabbix.com/browse/ZBXNEXT-50

Supported unit dropdown

When you add an item it is better to get Units of a menu (with all supported Units)

Wrapping in host lists

Columns should be wrapped in host groups view.
Location : Configuration → Hosts → Host groups
Location : Configuration → Hosts → Template linkage
(maybe also 'Templates' ?)

Improve screen and map configuration interface

Basic : make 'Edit' links in map and screen configuration same style as all other links – that should make them stand out a little bit better.
Advanced : Move 'Edit' to the left hand side and maybe create two links 'Properties' (works the same as currently clicking on screen/map name) and 'Edit' ? Or upon clicking on name present a popup menu with 'Properties' and 'Edit' ?
Location : Configuration → Screens
Location : Configuration → Maps

Import/export everything

Ability to import/export any object would help in many cases (simple backup, complex or tedious modifications etc).
Sections of specific interest should be mentioned below. = Screens = = Connected applications and values throw mappings = If exported items have applications/value mappings linked, these should be appropriately exported and correctly imported later.

Item/trigger (other entities ?) propagation control

If an entity is linked into host or template from another template, some parameters can be changed for that child node independently (for items – interval, history, activation etc; for trigger – dependencies, expression, name, severity etc).
Unfortunately, most of the changes upstream null the changes downstream, it is also near impossible to find out which entities have been modified downstream. This makes template usage more complicated and inconvenient.
To improve the situation, the following changes are suggested :

  • entities that have been changed downstream are indicated as such (at least in the configuration), probably by colouring their entries;
  • entity components that have been changed are indicated as such when entities are opened for configuration, probably by colouring the fields;
  • if an entity that is changed upstream has modified objects downstream, the following happens :
  • a list of such objects is presented, sorted and categorised by host entities (hosts and templates);
  • user can choose which entities to override downstream by checking checkboxes besides them;
  • it should be possible to mark individual entities and host entities;
  • marking templates propagates the change downstream;
  • host entities are displayed hierarchically, allowing expanding/collapsing entries

If an entity is changed downstream, it should be possible to “link” individual fields and whole entity back to the upstream entity (for example, configuring a trigger should allow to “link” back individual fields like name/expression, opening item/trigger list in configuration should allow ”linking” back individual entities.

Add/Update/Skip for trigger import

If imported trigger has the same name, but different expression, a duplicate trigger is created. It would be useful to have Add/Update/Skip for triggers when importing.

Ability to add multiple items to graph in one step

There should be a way to add multiple items to graph. Items could be displayed in normal list, marking them with checkboxes and clicking 'add' button would add them all.
What about colours, should there be some sort of preferred colour order (like OpenOffice.org chart has), where colours are applied from this colour list to the added items (skipping already present colours in graph) ?

Unify small configuration sections

In configuration, there are several separate pages that contain one or two options. These should be unified in single page to reduce jumping around in the GUI.
The following Configuration → General sections should be unified:

  • Housekeeper
  • Working time
  • Other

Location : Configuration → General

Easier graph item configuration

Currently each graph item has to be opened for configuration individually. Graph item configuration should be moved to the main graph configuration window. For this, table titles should be added, and one additional parameter added to the main screen - Y axis side.
While popup could be used for new item adding, that also could be handled by adding a new line to the item table & allowing editing of parameters right away.

Improve "refresh" action after configuration changes

Currently, refreshing a page after doing some configuration changes attempts to redo these changes - for example, add a new host, then refresh the host list. Frontend attempts to add the host again. Maybe similar solution can be used as in most forums/comment sections, where refreshing the page after adding a new comment does not add another copy of it.

Template storage

A central template storage that can be accessed by Zabbix directly. Templates could be downloaded and installed from Zabbix interface directly. Templates could be searched and listed from within Zabbix interface. Templates could have comments and status (for example, “verified”, “confirmed” and “unknown”). If a template includes other templates, are linked-in templates are automatically installed.

Unified time period setting widget

Currently, most periods in Zabbix frontend can only be set in seconds (item refresh period, auto-logout in user profiles etc). This requires user to calculate period each time manually. It would be nice to have a widget that allows to easily set seconds, minutes, hours, days, weeks, months… It could as well be simple dropdown next to the input field that is used by all fields where period has to be inserted (including item history and trend keeping etc).

Various
  • An option to disable all Not Supported of one host or one group
  • On Configuration - Items should be nice the same view of Latest Data with Applications
  • Screen Cloning
  • Show actions by period ( You can choose period day/month/year and hour:min )
  • Show Most busy triggers top 100 by group or host
  • Ability to edit ALL data of a graph, including header/footer information

Reporting

Time period selection

Multiple sections of GUI would benefit from ability to set arbitrary time period, not only reporting (thus this can be considered a bit miscategorized). Specific locations :

  • All reports (Availability report for example);
  • IT Services;
  • Monitoring → Events

Misc

More internal linking

There should be more internal linking to allow easier navigation

  • Clickable hosts and templates in template linkage and host groups views.

Location : Configuration → Hosts → Template linkage
Location : Configuration → Hosts → Host groups

  • Clickable hosts, triggers and events (though where should host link take ?)

Trigger and event pages should provide popups with links to graphs (what graphs ? Simple graphs of all items involved, all custom graphs involved ?).
Reasoning – when looking at triggers and events page, it is quite often desirable to view more contextual information for the particular event. Currently, that means manually looking for the host in corresponding pages.
Location : Report → Most busy triggers (both hosts and triggers)
Location : Monitoring → Triggers
Location : Monitoring → Events

  • Clickable users and groups

Location : Administration → Users (groups)
Location : Administration → User groups (members)

More flexible slideshow components

Current slideshow implementation allows to cycle through screens only. This can make it cumbersome in some cases to create a screen containing a single element only to include in a slideshow.
Slideshows should allow adding as slides elements same way screens do.
Location : Configuration → Screens → Slideshows

Trigger list as a screen element

It should be possible to add Monitoring → Triggers or Monitoring → Dashboard → Last N issues as a screen element, with all the accompanying options.
Location : Configuration → Screens → Screens

Multiple labels in maps

There should be an ability to add multiple labels to map objects. Each label could be a custom string, object IP address or DNS name, in any order. Thus it would be enough to change host IP in host configuration and it would change automatically in the map. Label customisation probably is best done supporting macros in them.
Location : Configuration → Maps

Macro variable expansion

There should be bash-like variable expansion so that elements can be mangled. For example, if routers are named “Location_router”, on a router map one would insert name as {HOSTNAME%_router}, which would turn the name into “Location”.

Combined graph creation for a group

When creating/editing a graph, there should be an ability to add an item from the template, thus obtaining items from all hosts that the template is linked to in the graph. There should be an option to limit items added this way to only single group.
If a host is removed from the group or added to it, graphs created this way should be automatically updated.
Location : Configuration → Graphs

Slideshow as a screen element

It should be possible to set a slideshow as a screen element.
This would allow, for example, creating an overview screen that had generic part at the top and different detailed statistics changing at the bottom.
This would probably be most useful with inline background object updating.
Location : Configuration → Screens → Slideshows

Graphical item autoscale

There should be an ability to autoscale objects and object collections like graphs, screens, maps etc.
This would probably have to be implemented both client and serverside, where server generates initial images according to client resolution at the moment of the request, and client would rescale those images later, if needed.
This would probably require properties for items like “do not scale horizontally/vertically” - or maybe for a greater flexibility minimal/maximal scaling limits for both vertical/horizontal changes.
As a subset, when creating items, their size would be suggested based on client resolution.
Rationale – it is both very cumbersome to adjust item sizes by pixels until they are more or less right, and layout still breaks or overflows screen on different resolutions or if simple things like window border or decorations change.
Actually, already implemented for graphs, probably should be similarly implemented for maps & screens. Screen items should resize proportionally (with min/max scaling limits ?).

Improved audit log

Currently, audit only notes that an item has been changed. It should be more verbose and show which part of the item got changed, maybe even 'from' and 'to' values.
Audit log should show IP address for user logins.
Entries “Host Updated Old status [1] New status [0]” should show actual hostname, and maybe a description of what 'status' means.

Determined fixed y axis

Frontend should be able to set the Y axis to an item value rather than a fixed value. Scale of the graph could be set to total memory as actually read rather than having to have different templates for 4G, 8G, 12G, 16G boxes, etc…
This could be both derived from other item or a special category (“memory” etc). Derived might not be so automatic, but much more flexible, so probably is the way to go.

Graph legend options

It should be possible to disable legend for individual graphs.
It should be possible to customise legend (how exactly ?).

Do not track user logged in state globally

STOP tracking client status in a not-per window fashion. Opening several hosts/templates in different windows/tabs very often causes incorrect host to be opened in another window and sometimes operations are performed on another hosts.
Scenario : open items for one host, open items for another host in a new tab, refresh first tab. It changes to the second host – should not happen.
Status should be tracked only for the existing execution path, maybe even everything in GET variables to ease linking.

Graphs from triggers

It would be useful to create graphs from trigger states - sort of like an enchanced availability report/SLA.
For example, a set of triggers on a network interface:

  • nic1 > 5mb
  • nic1 > 20mb
  • nic1 > 50mb
  • nic1 > 75mb

Then a pie (or any other type) chart could be created based on how much time that trigger spent in any of the 4 states.

Permission model improvements

Permission model should combine available permissions, instead of using first encountered match. For example, if user belongs to two groups and one has r/o access to a resource, while other has r/w, user should get r/w access in all cases to this resource.

Macros in graph titles

Graph naming in Zabbix currently is non-flexible and often graph title is not quite correct. To improve this, there should be a way to set custom graph titles that would also support macros. One macro possibility :
In a template with a graph would be named ”[22] Traffic ({:IF-MIB::ifAlias.22.last()})”, which would use the last value from the corresponding item.
Setting such a macro on a template, there is no hostname, in which case current hostname (of the graph displayed) is used. Setting a hostname will retrieve value from that host.
Proof of concept patch at http://www.zabbix.com/forum/showthread.php?p=38796

Various
  • Ability to optionally clear a trigger status via the acknowledge screen by adding a clear flag to the trigger config thus making it disappear from the dashboard. Useful for log file type monitoring as well as Openview to zabbix migration.
  • Non-hosts link in Maps (http://www.zabbix.com/forum/showthread.php?t=5911). - already possible ?
  • Ability to delete an individual item applied to a host via template, if that item does not apply
  • Obsessive trigger notification, i.e. remind every 1, 5, 10 minutes that a trigger is tripped - implemented as escalations ?
  • Generate reports in PDF of Events/Actions based on period and value ON/OFF
  • More and improved default templates
    • Free|Net|OpenBSD tenmplates have a lot of unsupported items and items just copied over from Linux templates;
    • Default templates should provide better template nesting (for example, splitting out Zabbix agent items in a separate template that is linked in as appropriate)
  • Better monitoring of log files. Something like “tail -f /var/log/fileerror.log |grep ERROR 202” and generate a alert based on this
    • Simply grepping for a string can be done now; I'd love to see more complex integration of log files, like:
      • A way to select the correct log file when the filename is mutable (eg. date-based filenames that rotate)
      • A way to take actual measurements from a log file (eg. use a parenthesized section of a regular expression as an integer measurement that could be graphed
  • Some way to add all ports of a switch and change the SNMP community of all items of one host.
  • Math functions between items and/or graph items
  • address lookup under Monitoring (http://www.zabbix.com/forum/showthread.php?t=6059)
  • distinguish between DNS problem and truly unreachable (http://www.zabbix.com/forum/showthread.php?t=6060)

References:

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

Agent

Support for more items

Semaphore items
  • max amount of semaphore arrays;
  • used amount of semaphore arrays;
  • max amount of semaphores;
  • used amount of semaphores
Support for native monitoring/data gathering subsystems

Agent should support natively more of the native subsystems/utilities used for monitoring and data gathering.

  • lm_sensors (fan speeds, temperaturs, chassis intrusion, voltages etc);
  • S.M.A.R.T. (hdd status, failure information);
  • md - mdadm/mdstatus (software RAID status);
  • dmidecode (system/motherboard vendor, serial numbers, installed memory information, BIOS information etc).

Separate and multiple active server support

It should be possible to specify a different set of server addresses to be used as active servers. Problem - if servers send different lists of items to check, which one is authoritative ?

Various

  • CPU io wait (needs os/kernels listed)
  • size of directory
  • monitoring of UDP services (needs list)
  • An item to check if network interface is UP or DOWN
  • An item to check if /partition is mounted or not
  • 'used memory' item, one that would exclude cached and buffers memory
  • more 'expanded' items (like p* for percentage etc). exact list required

References:

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

Server

Improved zabbix_server logging

Logging of zabbix_server process should be improved to provide more meaningful information in log messages. For example, “2903:20070907:185440 Timeout while answering request” isn't very descriptive.
Each message should be numbered & documented.
Each message should be on single line instead of being split in multiple lines:

  • “Type of received value [nan] is not sutable for [] having type [0]” is continued on another line by “Returning NOTSUPPORTED”;
  • “Timeout while connecting to []” is continued by “Host [] will be checked after 60 seconds”;
  • “Type of received value” can span multiple lines – this also should be condensed into single line
  • A line “SNMP error [(noSuchName) There is no such variable name in this MIB.]” is followed by “SNMP error in packet. Reason: (noSuchName) There is no such variable name in this MIB.”
  • “Got empty string from [host] IP [10.10.10.10] Parameter [agent.ping]” followed by “Assuming that agent dropped connection because of access permissions”

Exact message improvements should be listed here:

  • “Get value from agent failed. Error: ZBX_TCP_READ() failed [Interrupted system call]” should list affected host
  • “Timeout while answering request” should list more information
  • “SNMP error in packet. Reason: (noSuchName) There is no such variable name in this MIB.” should list host and item
  • “OID [1.3.6.1.2.1.10.7.2.1.19.9] value #2 has unknow type [81]” messages should list host and item
  • “JABBER: sasl authentication failed” and “JABBER: connection failed” should list exact error message (and maybe media name/id ?)
  • “Query returned empty result”
  • “Expression [({100100000049717}=0)&({100100000049716}>0)] cannot be evaluated [Unable to get value for functionid [100100000049716]]” messages should be more helpful (listing the host ?)
  • “Error while sending list of active checks” - hostname, IP ?

Clear data and configuration table separation

Zabbix database schema should be updated to clearly separate data and configuration tables. This would allow for separate backups and restores without overwriting some configuration or restoring weird data states.
All tables should be documented (spec required).

Automated report creation

It should be possible to automatically send a report by mail periodically or save it to disk.

Multi-homed host support

It should be possible to assign several IP addresses/DNS names to a host, thus allowing checking on both of them and not triggering all of the items if one interface goes down.

Multilanguage triggers/actions

It should be possible to create various trigger/action language versions, and assign a language to each user. This would allow to send generic versions to automated service desk interfaces and localised versions for some users.

Assigning web scenario to a template

It should be possible to assign a web scenario to a template

“Unique” items groups

There are items that should be queried only one at a time. Possibility to add such support to zabbix should be evaluated.
Solution would allow defining item groups and assigning items to them. Then, no more than one item from the group will be queried at once (next item is queried only after previous query returns).
Maybe groups should have configurable amount of max simultaneous qeries.
Use cases:

  • HP disk querying tools can hang whole RAID controller if used simultaneously;
  • Dell system health checking utilities hang if checked simultaneously.

Implemented serverside or on agent ?

Limited actions

Ability to carry out an action only once within a configured interval and/or only during specific time frames. (action throttling)
That is, if a trigger is changing state every minute for 3 hours, we want to record that, but we would throttle notifications for these actions to one per hour or so.
Maybe doable in the escalations framework.

Misc

API

An API is desirable to make automation, integration and additional tool development possible. API specification/wishlist.

CLI tool

Along with API, a commandline tool should be develop to expose API features and demonstrate capabilities.

Nested everything

Some sort of tree-like structure for all possible resources:

/View/Graphs/Graph1
/Hosts/Host1/Applications/App1/Items/...
Nested applications

For example, “system health/fans” etc

Nested groups

It should be possible to nest host and user groups.
There should be a hierarchical display for viewing such groups in Administration → Users → User groups.
All group dropdown selectors should show groups hierarchically whenever possible (a lot of subgroups could expand them a lot).
Should groups be able to contain both groups and hosts ? (probably a group should be allowed to contain only one type of sub-elements – either hosts/users, or other groups. It should be possible to change what a group contains – maybe by allowing to remove all existing elements from the group, then adding new elements of the other category)
Circular nesting should be checked and prohibited
What about upgrades – maybe it's worth providing simple upgrade path for people who use some notation schema currently (for example, allowing definition of group separator, thus group “UPS :: Something” group would create two groups – “UPS” and “Something”, where “Something” would be a subgroup of “UPS”.

“Unsupported” status trigger

It should be possible to create a trigger that notifies if an item switches to “unsupported” state.

"Get simultaneously" item groups

There are items that are used to create aggregate data in Zabbix, but are queried on different intervals. As these items change, stored data is not realistic - for example, memory queries happen at different time, thus total memory fluctuates above & below 100%, never really being 100%.
A solution could be item groups that should always be queried in a single request to agent, and agent in turn would try to grab the values as close to each other as possible. Ideally, if agent has to parse single file in /proc for multiple values, it takes a snapshot of this file & parses that.

Multiple value returning for user parameters

Similar to previous, but not quite the same.
There should be a way to return multiple values in a user parameter (with custom delimiter) and get those into multiple items. This is desirable both for values that make sense qhen queried at the same time, and also because that would be cheaper in most cases.

Encrypted agent <-> server communication

Agent and server communication should be encrypted.
Could be implemented with preshared keys (Bacula style), certificates or whatever.
Should also include all connections to/from proxies.

Automatic item discovery

It should be possible to automatically discover items to monitor. Results should be easily propagatable to template. There should be a way to initiate detection from the UI.
Item categories for automatic discovery:

  • real mounted partitions;
  • network interfaces;
  • applications;
  • running services;
  • hardware components.

To make this realistic, maybe user can configure possible values (network interface names, mountpoints etc) that are queried later.
Ideally, discovery based items are attached to template, discovery is performed on each host and then items for that host only are modified according to discovery results.

Automatically gathered item graphing

Based on agent being able to [semi]auto-discover items to monitor (like mounted fs, network interfaces etc).
When agent is [re]discovering these, there should be an option to create/update graph, containing discovered items.

Calculated items

It should be possible to use calculations in item keys. Such keys could be either native (thus allowing to directly specify subkeys in the expression), or only possible from existing items.
First approach would also require an intelligent mechanism to check that used keys are available in other items and not retrieve data again.

Agent configuration management

There should be a possibility to change agent configuration centrally, from the Zabbix server. Parts that should be centrally manageable:

  • all of the agent configuration, including user parameters (maybe as a separate file that takes precedence over default config, so that this does not interfere with normal packaging ?);
  • script management

Decent security model is critical.

Ability for server to connect to proxy

Currently proxy connects to the server. This is troublesome in environments where proxies reside on restricted networks, so connecting other way should be supported (similar to normal/active agents).

Pluggable discovery modules

There should be a way to hook into Zabbix discovery process & return data from arbitrary modules to the discovery process.
While this could be implemented as an external process which could later modify configuration in one way or another, having it integrated in Zabbix better would be better.
There should be a way to 'stack' discovery modules - for example, arpwatch module could discover hosts, another module would determine operating system, and operating specific module would determine specific items/templates to link to etc.
Communication method and required/optional parameters from discovery should be specified here.

Automatic information gathering for inventory

Zabbix should be able to automatically gather information for inventory.
It should be possible to link any item to any inventory field.

Database checking

A process that could check the database for errors and consistency would be helpful. It could check various things, starting with conformance to schema, missing indexes, ending with verifying that all linked entity ids are existing etc.

Stats gathering

Ability to gather & submit stats of installations (purely opt-in) could be useful. Inofrmation like amount of hosts, items, triggers, templates, db used, template nesting usage, other fatures usage could be gathered & supplied.

Need clarification

  • Better User Permissions ( Because today is a pain in ass admin this )
  • “Mass Update” being applied to more elements, in more places, etc etc
  • Better explanation on how templates are to be used
  • Better SNMP support, integrate MIBs in /usr/share/snmp

Implemented

GUI

Monitoring

Trigger filtering by severity

There should be an ability to filter triggers by severity (including ability to filter higher/lower than). This includes trigger status as a screen element.
Note, only 'higher than' is currently implemented, but considered sufficient
Location : Monitoring → Triggers

Colour only non-null fields

In the following pages only fields where at least one item is assigned should be coloured :

  • “STATUS OF TRIGGERS” (fullscreen page)

Location : Monitoring → Triggers → STATUS OF TRIGGERS (link at the top of the page)

  • Screen element “Triggers info”

Location : Monitoring/Configuration → Screens

  • Item queue

Location : Monitoring → Queue

Don't count depending triggers in "STATUS OF TRIGGERS"

Even if a trigger depends on another trigger that is in a “TRUE” state, it is still counted in “STATUS OF TRIGGERS” page. Dependent triggers should not be counted in this overview.
Location : Monitoring → Triggers → STATUS OF TRIGGERS

Don't count depending triggers in maps

If an object has two triggers assigned and one depends on another, map shows “2 problems”.
Dependent triggers should not be counted in maps.
Location : Monitoring → Maps

Don't show decimals for integer values in graphs

If item type is integer, graph should use integers only for y axis.

Audit log filtering

It should be possible to filter audit log by:

  • operation type (login, delete, add, update, etc);
  • resource (host, hostgroup, user, user group, screen, etc)
  • time interval

It should be possible to set multiple filters simultaneously (for example, changes by a particular user to a particular hostgroup in a specified time period).

Zabbix server status for remote servers

Server status currently checks for zabbix_server process on the local machine. This does not work in situations where frontend is on another machine than zabbix_server, or is chrooted on the same machine. Some other method should be used to check whether zabbix_server is running.

Various
  • Ability to change the time period of data that is inside of a Screen
  • Drill-down in Overview screen - in Data mode, clicking on an Item would bring the user to the corresponding Graph
  • Portrait view for trigger overview (http://www.zabbix.com/forum/showthread.php?t=6057)
  • Add a logout button at end of the page near of | Connected as
Group filtering for trigger info screen element

When inserting screen element “Triggers info”, there should be an ability to filter these by group.
Location : Configuration → Screens → Screens

Additional objects in maps

There should be an ability to add non-monitored items to maps to improve readability. This currently can be imitated by adding them to the background image, but that is not flexible enough.
Location : Configuration → Maps

Configuration

Improved host cloning

Current cloning feature preserves template linkage, but creates no items and triggers.
An improved cloning feature would allow to choose whether the cloned host should also have directly attached items and triggers.

Template assigning to all hosts in a group

There should be an easy way to assign a template to all hosts in a particular group.

Move trigger expression

Current trigger configuration places trigger expression as the second column. In case of longer trigger expressions, this pushes other columns past screen border. This view should be improved by moving expression column to the be the rightmost one. Note, implemented so there's still error column after expression column.

Ability to edit media

Currently it is not possible to edit media assigned to a user, it has to be deleted and recreated. It should be possible to directly edit media.
Location : Administration → Users

Export and import of template linkage

When exporting a host that is linked against a template, not the linkage, but items, triggers etc themselves are exported.
Export and import should allow preserving template linkage.
Should template linkage be exported against an ID or against a name ? What to do if upon import the linked template is missing ?
Location : Configuration → Export/Import

Improved screen editing

Screen editing should allow row and column insertion in arbitrary locations as well as arbitrary row and column deletion.
Location : Configuration → Screens

Show last login time

If user is not logged in, show last login after “No” in “Is online?” column (or “Never logged in”).
Location : Configuration → Users

Agent

Items

  • number of CPU
  • ps (cpu, memory)

Misc

New macro/variable – {TRIGGER.NPRIORITY}

A new macro/variable should be added – {TRIGGER.NPRIORITY}, which would expand to the numerical priority of the trigger.

Various

  • LDAP integration?
  • An item to ping some host from the client, something like an item with ping, 10.2.2.2 (a cluster interface that zabbix_server can't reach)

zabbix_proxy now can be used for that

 
contrib/ideas.txt · Last modified: 2012/01/11 21:49 by vlturner
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki