casperboone/zabbix-graph

Get nice looking graphs of your Zabbix devices.

1.0.0 2017-03-31 23:12 UTC

This package is auto-updated.

Last update: 2024-04-12 20:38:22 UTC


README

Latest Version on Packagist Software License StyleCI Build Status SensioLabsInsight Quality Score Code Coverage

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.

Installation

You can install the package via composer:

composer require casperboone/zabbix-graph

Require Composer's autoload (probably already done):

require __DIR__.'/../vendor/autoload.php';

Usage

Basic Usage

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.

Available Methods

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

Old Zabbix versions

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);

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ 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.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email mail@casperboone.nl instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.