Skip to content

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

License

Notifications You must be signed in to change notification settings

casperboone/laravel-zabbix-graph

Repository files navigation

πŸ“ˆ 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 [email protected] instead of using the issue tracker.

Credits

License

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages