idoit / checkmkwebapiclient
Checkmk Web API 的易用且功能丰富的客户端库
Requires
- php: >=7.2.0
- ext-curl: *
- ext-date: *
- ext-json: *
- ext-openssl: *
- ext-spl: *
- ext-zlib: *
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.0
- j13k/yaml-lint: ^1.1
- php-parallel-lint/php-parallel-lint: ^1.0
- phpcompatibility/php-compatibility: *
- phploc/phploc: ^5.0
- phpmd/phpmd: ^2.8.2
- phpstan/phpstan: ^0.12.29
- phpunit/phpunit: ^8
- povils/phpmnd: ^2
- roave/security-advisories: dev-master
- sclable/xml-lint: ^0.3.0
- sebastian/phpcpd: ^4.1.0
- seld/jsonlint: ^1.7
- sensiolabs/security-checker: ^6
- sllh/composer-lint: ^1.0
- squizlabs/php_codesniffer: *
- symfony/dotenv: ^5.1
Suggests
- ext-xdebug: Needed for code coverage with phpunit
README
易用且功能丰富的 Checkmk Web API 客户端
请注意:此项目不是 synetics GmbH 的官方产品。synetics GmbH 不提供任何商业支持。
关于
Checkmk 是一款网络监控系统软件。社区版("raw")根据 GPLv2 许可。
此客户端通过 Checkmk 的 Web API 与 Checkmk 进行通信。它为 PHP 提供了一个简单但强大的抽象层。请随意将其作为库用于您的项目。
要求
在使用客户端之前满足以下简单要求
- 一个或多个 Checkmk 网站,版本
1.4
或更高版本(大多数调用自1.5
起有效) - PHP,版本
8.0
或更高版本(推荐使用8.1
,7.4
应该可以工作但已弃用) - PHP 模块
curl
、date
、json
、openssl
、spl
和zlib
安装
建议通过 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
类
组
带有公共方法的 HostGroup
、ServiceGroup
和 ContactGroup
类
主机标签
带有公共方法的 HostTag
类
用户
带有公共方法的 Users
类
规则集
带有公共方法的 Ruleset
类
代理
带有公共方法的 Agent
类
激活更改
带有公共方法的 Change
类
度量
带有公共方法的 Graph
类
库存
Checkmk 可以收集有关您的硬件/软件库存的多种信息。
带有公共方法的 Inventory
类
贡献
请将任何问题报告给我们的问题跟踪器。非常欢迎拉取请求。如果您想参与其中,请参阅文件 CONTRIBUTING.md
以获取详细信息。
版权 & 许可证
版权 (C) 2022 synetics GmbH
版权 (C) 2018-22 Benjamin Heisig
本软件依据《GNU Affero通用公共许可证版本3或更高版本(AGPLv3+)授权。这是一款免费软件:您有权修改和重新分发它。在法律允许的范围内,不提供任何保证。