GitHunt
CA

casperboone/laravel-zabbix-graph

๐Ÿ“ˆ Get nice looking graphs of your Zabbix devices in Laravel

๐Ÿ“ˆ Laravel Zabbix Graph

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 to save to a file. If you are not using Laravel, then please check out this repository.

Installation

You can install the package via composer:

composer require casperboone/laravel-zabbix-graph

You must install the service provider:

// config/app.php
'providers' => [
    ...
    CasperBoone\LaravelZabbixGraph\ZabbixGraphServiceProvider::class,
],

If you want to, you can also add the facade:

// config/app.php
'aliases' => [
    ...
    'ZabbixGraph' => CasperBoone\LaravelZabbixGraph\ZabbixGraphFacade::class,
],

You can publish the config file with (the default config file will suffice in most cases):

php artisan vendor:publish --provider="CasperBoone\LaravelZabbixGraph\ZabbixGraphServiceProvider"

Make sure to update the config file or your .env file with the details of your Zabbix server.

Usage

Output a Zabbix graph to an HTTP endpoint (using method injection):

<?php

namespace App\Http\Controllers;

use Carbon\Carbon;
use Illuminate\Http\Request;
use CasperBoone\ZabbixGraph\ZabbixGraph;

class GraphsController extends Controller
{
    public function show(Request $request, ZabbixGraph $zabbixGraph, $id)
    {
        $graph = $zabbixGraph->startTime(Carbon::now()->subDay())
            ->width($request->input('width', 1000))
            ->height($request->input('height', 200))
            ->find($id);

        return response($graph)
            ->header('Content-Type', 'image/png');
    }
}

You can also use the facade, if you prefer:

<?php

namespace App\Http\Controllers;

use ZabbixGraph;
use Carbon\Carbon;
use Illuminate\Http\Request;

class GraphsController extends Controller
{
    public function show(Request $request, $id)
    {
        $graph = ZabbixGraph::startTime(Carbon::now()->subDay())
            ->width($request->input('width', 1000))
            ->height($request->input('height', 200))
            ->find($id);

        return response($graph)
            ->header('Content-Type', 'image/png');
    }
}

For all available methods and options, see casperboone/zabbix-graph.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

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.

Languages

PHP100.0%

Contributors

MIT License
Created April 1, 2017
Updated June 17, 2025