5.2 KiB
page_title: Grafana-Zabbix Configuration page_description: Plugin configuration instructions for Grafana-Zabbix.
Configuration
Enable plugin
Go to the plugins in Grafana side panel, select Apps tab, then select Zabbix, open Config tab and enable plugin.
Configure Zabbix data source
After enabling plugin you can add Zabbix data source.
To add new Zabbix data source open Data Sources in side panel, click Add data source and select Zabbix from dropdown list.
HTTP settings
- Url: set Zabbix API url (full path with
api_jsonrpc.php). - Access:
- Proxy: access via Grafana backend
- Direct: access from browser.
- Http Auth: configure if you use proxy authentication.
- Basic Auth:
- With Credentials:
Proxy access means that the Grafana backend will proxy all requests from the browser, and send them on to the Data Source. This is useful because it can eliminate CORS (Cross Origin Site Resource) issues, as well as eliminate the need to disseminate authentication details to the Data Source to the browser.
Direct access is still supported because in some cases it may be useful to access a Data Source directly depending on the use case and topology of Grafana, the user, and the Data Source.
Zabbix API details
- User and Password: setup login for access to Zabbix API. Also check user's permissions in Zabbix if you can't get any groups and hosts in Grafana.
- Trends: enable if you use Zabbix 3.x or patch for trends
support in Zabbix 2.x (ZBXNEXT-1193). This option
strictly recommended for displaying long time periods (more than few days, depending of your item's
updating interval in Zabbix) because few days of item history contains tons of points. Using trends
will increase Grafana performance.
- After: time after which trends will be used.
Best practice is to set this value to your history storage period (7d, 30d, etc). Default is 7d (7 days).
You can set the time in Grafana format. Valid time specificators are:
- h - hours
- d - days
- M - months
- Range: Time range width after which trends will be used instead of history. It's better to set this value in range of 4 to 7 days to prevent loading large amount of history data. Default is 4 days.
- After: time after which trends will be used.
Best practice is to set this value to your history storage period (7d, 30d, etc). Default is 7d (7 days).
You can set the time in Grafana format. Valid time specificators are:
- Cache TTL: plugin caches some api requests for increasing performance. Set this value to desired cache lifetime (this option affect data like items list).
Direct DB Connection
Direct DB Connection allows plugin to use existing SQL data source for querying history data directly from Zabbix database. This way usually faster than pulling data from Zabbix API, especially on the wide time ranges, and reduces amount of data transfered.
Read how to configure SQL data source in Grafana.
- Enable: enable Direct DB Connection.
- SQL Data Source: Select SQL Data Source for Zabbix database.
Supported databases
Now only MySQL is supported by Grafana.
Alerting
- Enable alerting: enable limited alerting support.
- Add thresholds: get thresholds info from zabbix triggers and add it to graphs.
For example, if you have trigger
{Zabbix server:system.cpu.util[,iowait].avg(5m)}>20, threshold will be set to 20. - Min severity: minimum trigger severity for showing alert info (OK/Problem).
Then click Add - datasource will be added and you can check connection using Test Connection button. This feature can help to find some mistakes like invalid user name or password, wrong api url.
Import example dashboards
You can import dashboard examples from Dashboards tab in plugin config.

Note about Zabbix 2.2 or less
Zabbix API (api_jsonrpc.php) before zabbix 2.4 don't allow cross-domain requests (CORS). And you can get HTTP error 412 (Precondition Failed). To fix it add this code to api_jsonrpc.php immediately after the copyright:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Max-Age: 1000');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
return;
}
before
require_once dirname(__FILE__).'/include/func.inc.php';
require_once dirname(__FILE__).'/include/classes/core/CHttpRequest.php';
Full fix listing. For more details see zabbix issues ZBXNEXT-1377 and ZBX-8459.
Note about Browser Cache
After updating plugin, clear browser cache and reload application page. See details for Chrome, Firefox. You need to clear cache only, not cookies, history and other data.


