rene-roscher/laravel-zabbix-api

此包已被废弃,不再维护。未建议替代包。

此包为 Laravel 框架提供 Zabbix API 库。

1.0.0 2021-07-02 01:01 UTC

This package is auto-updated.

Last update: 2022-12-30 04:12:03 UTC


README

此包为 Laravel 框架提供 Zabbix API 库。它使用了由 http://github.com/confirm/PhpZabbixApi 包生成的 PhpZabbixApi 类。

注意: 此版本仅与 Zabbix Server 3.0.* 版本进行了测试。不确定是否与其他版本兼容。

安装

要开始使用,您应该在项目中添加 becker/laravel-zabbix-api Composer 依赖项

composer require becker/laravel-zabbix-api

注册服务提供者

注意: 如果您使用的是 Laravel 5.5 或更高版本,则可以跳过此步骤。由于包自动发现功能,该包会自动注册。

打开 config/app.php 并注册新的服务提供者

//config/app.php

/*
 * Package Service Providers...
 */

Becker\Zabbix\ZabbixServiceProvider::class,

//...

发布配置文件

php artisan vendor:publish --tag=zabbix

这将创建 config/zabbix.php 文件。

配置您的 Zabbix 服务器设置

在您的 .env 文件中,定义新的 Zabbix 设置

ZABBIX_HOST=http://your.zabbix.url
ZABBIX_USERNAME=username
ZABBIX_PASSWORD=password

重要: ZABBIX_HOST 参数 不应 在末尾包含任何尾随斜杠。有关所有可用环境变量的列表,请检查 config/zabbix.php 文件。

在您的控制器中使用它

//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 \Becker\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)
            ];
        });
    }
}

就这样!🍻