See www.zabbix.com for the official Zabbix site.
How well grafana-zabbix addresses graphing needs
grafana-zabbix is probably the most attractive alternative to native Zabbix graphing as of this writing (November 2015). grafana-zabbix is a data source for the standalone graphing application Grafana. It allows to graph data from Zabbix side by side with log and metrics data coming from Elasticsearch or other sources, which is a very interesting thing to do.
In the work to an earlier community stab on improved graphing, zabbix-d3, a number of tickets with shortcomings were identified. Most of them are still valid today and there may be a few new ones too. Let's round up which of these issues remain with grafana-zabbix. It is safe to assume that tickets up to at least ZBX-7502 and ZBXNEXT-3017 were being looked at. Please refer to the list on this other page for the detailed list!
- Bar charts: Has bar charts in the sense of ZBXNEXT-1819, but not as in ZBXNEXT-854
- Traffic lights: Can be done with singlestats panels
- Gauges: No gauges
- Logarithmic scales: Present, even on two axis and different kinds
- Negative y axis: Present; one can also graph certain data as "negative"
There seems to be a plug-in fundament for graph types in Grafana, but I haven't seen a plug-in in the wild. There is no pie chart!
- Which axis has which values: This can be changed on the fly and is visible in the legend
- Resize on window size changes: Works
- Anti-aliasing: Yep
- Color dependent on value: Not sure
- Multicolor gradients: There are no gradients.
- Smoothing: Present
- Trapper item ghosts: No problem
- Graphing artefacts: Haven't seen any yet
- The time setting can not be preserved when switching between graphs
- Show and hide selected data series interactively: Present
- No support for annotations: Events can be shown as markers, containing acknowledgment data
- Navigation between graphs: Can be made easy with links, templates and variables; Items can be dynamically hidden and shown in a graph
- Graph the same entity for different hosts on demand: See right above! The temporal settings can be kept too.
- Statistics: Simple statistics are possible
- Overlay different graphs: Multiple graphs on a dashboard can share a crosshair
- Value mapping not visible: Grafana probably can't use Zabbix value maps. To be investigated!
- CSV export: Present
- Comments: Markers from different data sources can dynamically be enabled, but there's no support for showing duration
- Temporal shift overlay: May be possible. To be investigated!
- Trigger threshold rendering: Not possible -- half-baked anyway! However, you can colour the background for some threshold.
- Mean/sum of all datasets in a graph: Probably not
- Configuring and viewing is poorly interconnected: Configuring graphs is one click away in Grafana
- The minimum graphing period is one hour: This is going away in Zabbix; However, any interval is possible in Grafana.
- Values on mouse-over: Present
- Separate settings for the second y axis
- Explanatory text: Widgets or title, I guess, but that's hardly different in Zabbix.
- Semi-fixed axis: May be possible
- Show total in stacked graph/Sum 2 graphs: Present
- Filter by more than one hostgroup at a time: This is possible (logical OR)
- Regular expression to narrow down which items are graphed
- Pre-defined but unflexible screens for web monitoring: Could be implemented
grafana-zabbix gets about 90% of the job done. The above list doesn't consider the weaknesses in Zabbix screens. Many of them don't exist in Grafana, for instance graphing every instance of an LLD item in one graph or one graph per instance. However there are some paper cuts, like you can't visualize working hours and there are no pie charts. However, there is a lot of potential for cross-application navigation too and hacking Grafana doesn't seem like a terrible thing to do. With some effort, Grafana could possibly be embedded into the Zabbix interface.
Bits and pieces
Another community experiment worth mentioning is zabbix-d3js-widgets.