casperboone/laravel-zabbix-graph

Get nice looking graphs of your Zabbix devices in Laravel.
2,406 9
Install
composer require casperboone/laravel-zabbix-graph
Latest Version:1.0.1
PHP:^7.0
License:MIT
Last Updated:Oct 20, 2021
Links: GitHub  ·  Packagist
Maintainer: casperboone

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

Related Packages

gabrieloliverio/laravel5-generators

Database metadata-based generators for Laravel 5

1
erirk/paypalpayment

laravel-paypalpayment is simple package help you process direct credit card paym...

0
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

631,580,251 9,707
laravel/framework

The Laravel Framework.

580,311,802 34,925
laravel/tinker

Powerful REPL for the Laravel framework.

489,754,436 7,444