Get a graph from Zabbix to display on a webpage or save to a file. If you are using Laravel, then please check out this repository.
You can install the package via composer:
composer require casperboone/zabbix-graph
Require Composer's autoload (probably already done):
require __DIR__.'/../vendor/autoload.php';
You can create an instance of CasperBoone\ZabbixGraph
and pass the full URL to your Zabbix installation, the username and the password through the constructor. On this instance you can get a graph from Zabbix by calling ->find($graphId)
. Graph IDs can be found in the URL of the Zabbix UI of a certain graph.
Example:
$zabbixGraph = new CasperBoone\ZabbixGraph('http://my-zabbix.com', 'username', 'passsword');
$zabbixGraph->width(500)
->height(300)
->find(54);
The output of find is a binary image that can be saved to a file or converted to an HTTP response.
The following methods are available to adjust the parameters of the graph:
Method | Description |
---|---|
->width(int $width) |
The width of the graph in pixels* |
->height(int $width) |
The height of the graph in pixels* |
->startTime(DateTime $start) |
The start date and time of the data displayed in the graph |
->endTime(DateTime $end) |
The end date and time of the data displayed in the graph |
* The graph that Zabbix returns is usually slightly bigger because of added legends or labels
If you're using Zabbix 1.8 or older, then you need to set the last parameter of the constructor to true
.
Example:
$zabbixGraph = new CasperBoone\ZabbixGraph('http://my-zabbix.com', 'username', 'passsword', true);
Please see CHANGELOG for more information what has changed recently.
$ composer test
One of the integration tests requires a non public Zabbix installation. In order to execute this test, you have to create a .env
file in the project root and copy the contents of .env.example
into it. Complete the .env
file with the host, a username/password and an available graph ID.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.