idoit/checkmkwebapiclient

Checkmk Web API 的易用且功能丰富的客户端库

0.6 2020-10-22 16:11 UTC

This package is not auto-updated.

Last update: 2024-09-27 16:38:14 UTC


README

易用且功能丰富的 Checkmk Web API 客户端

Latest Stable Version Minimum PHP Version Build status

请注意:此项目不是 synetics GmbH 的官方产品。synetics GmbH 不提供任何商业支持。

关于

Checkmk 是一款网络监控系统软件。社区版("raw")根据 GPLv2 许可。

此客户端通过 Checkmk 的 Web API 与 Checkmk 进行通信。它为 PHP 提供了一个简单但强大的抽象层。请随意将其作为库用于您的项目。

要求

在使用客户端之前满足以下简单要求

  • 一个或多个 Checkmk 网站,版本 1.4 或更高版本(大多数调用自 1.5 起有效)
  • PHP,版本 8.0 或更高版本(推荐使用 8.17.4 应该可以工作但已弃用)
  • PHP 模块 curldatejsonopensslsplzlib

安装

建议通过 Composer 安装此客户端。切换到您的项目根目录并获取最新稳定版本

composer require idoit/checkmkwebapiclient

此命令安装最新稳定版本。您可以通过使用 @DEV 切换到当前开发分支,而不是坚持使用特定/最低版本

composer require "idoit/checkmkwebapiclient=@DEV"

更新

Composer 的一个巨大优势(除了其他优势之外)是您可以通过运行以下命令简单地更新客户端

composer update

使用方法

Composer 自带自动加载器。将此行包含到您的 PHP 代码中

require_once 'vendor/autoload.php';

就是这样。所有其他文件如果需要时将自动加载。

第一次调用

这是一个简单的 "Hello, world!" 示例。它从 Checkmk 中获取所有配置的主机

use Idoit\CheckmkWebAPIClient\API;
use Idoit\CheckmkWebAPIClient\Config;
use Idoit\CheckmkWebAPIClient\Host;

$config = new Config();
$config
    ->setURL('https://monitoring.example.org/mysite/check_mk/')
    ->setUsername('automation')
    ->setSecret('abc123');

$api = new API($config);

$request = new Host($api);
$hosts = $request->getAll();

var_dump($hosts);

配置

API 类需要传递给其构造函数的配置设置

use Idoit\CheckmkWebAPIClient\API;
use Idoit\CheckmkWebAPIClient\Config;

$config = new Config();
$config
    ->setURL('https://monitoring.example.org/mysite/check_mk/')
    ->setPort(443)
    ->setUsername('automation')
    ->setSecret('abc123')
    ->enableProxy()
    //->disableProxy()
        ->useHTTPProxy()
        //->useSOCKS5Proxy()
        ->setProxyHost('proxy.example.net')
        ->setProxyPort(8080)
        ->setProxyUsername('proxyuser')
        ->setProxyPassword('verysecure');

$api = new API($config);

Config 类有公共方法,必须调用这些方法来配置 API

可选代理设置

主机

带有公共方法的 Host

站点

带有公共方法的 Site

文件夹

带有公共方法的 Folder

带有公共方法的 HostGroupServiceGroupContactGroup

主机标签

带有公共方法的 HostTag

用户

带有公共方法的 Users

规则集

带有公共方法的 Ruleset

代理

带有公共方法的 Agent

激活更改

带有公共方法的 Change

度量

带有公共方法的 Graph

库存

Checkmk 可以收集有关您的硬件/软件库存的多种信息。

带有公共方法的 Inventory

贡献

请将任何问题报告给我们的问题跟踪器。非常欢迎拉取请求。如果您想参与其中,请参阅文件 CONTRIBUTING.md 以获取详细信息。

版权 & 许可证

版权 (C) 2022 synetics GmbH

版权 (C) 2018-22 Benjamin Heisig

本软件依据《GNU Affero通用公共许可证版本3或更高版本(AGPLv3+)授权。这是一款免费软件:您有权修改和重新分发它。在法律允许的范围内,不提供任何保证。