hypermetrica / laravel-zabbix-api
This package provides a Zabbix API library for Laravel Framework
Requires (Dev)
- phpunit/phpunit: ~5.0
This package is auto-updated.
Last update: 2025-02-27 14:07:51 UTC
README
This package provides a Zabbix API library for Laravel Framework. It uses the PhpZabbixApi class generated by the http://github.com/confirm/PhpZabbixApi package.
Installation
To get started, you should add the hypermetrica/laravel-zabbix-api
Composer dependency to your project:
composer require hypermetrica/laravel-zabbix-api
Register the Service Provider
NOTE: You can skip this step if you are using Laravel 5.5 or higher. The package is automatically registered, due to the package auto-discovery feature.
Open up the `config/app.php
`and register the new Service Provider:
//config/app.php
/*
* Package Service Providers...
*/
Hypermetrica\Zabbix\ZabbixServiceProvider::class,
//...
Publish the configuration file
php artisan vendor:publish --tag=zabbix
This will create the `config/zabbix.php
` file.
Configure your Zabbix Server settings
At your `.env
` file, define the new Zabbix settings:
ZABBIX_HOST=http://your.zabbix.url
ZABBIX_USERNAME=username
ZABBIX_PASSWORD=password
IMPORTANT: The
ZABBIX_HOST
parameter SHOULD NOT contain any trailing slashes at the end. For a list of all available environment variables, check theconfig/zabbix.php
file.
Use it in your Controller
//app/Http/Controllers/TestController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class TestController extends Controller
{
/**
* The ZabbixApi instance.
*
* @var \Hypermetrica\Zabbix\ZabbixApi
*/
protected $zabbix;
/**
* Create a new Zabbix API instance.
*
* @return void
*/
public function __construct()
{
$this->zabbix = app('zabbix');
}
/**
* Get all the Zabbix host groups.
*
* @return array
*/
public function index()
{
return $this->zabbix->hostgroupGet([
'output' => 'extend'
]);
// Or, if you want to use Laravel Collections
return collect($this->zabbix->hostgroupGet())->map(function ($item) {
return [
'name' => strtoupper($item->name)
];
});
}
}
And that's it! :beers: