mkuzmych / zabbix
本软件包为PHP提供了Zabbix API库
v1.0.2
2020-03-23 16:00 UTC
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2024-09-24 00:42:29 UTC
README
安装
使用Composer在项目的根目录中安装此软件包。
composer require mkuzmych/zabbix
使用方法
使用所有需要的参数使用库。
$zabbix = new \Zabbix\Zabbix($apiUrl, $user, $password, $httpUser, $httpPassword, $authToken, $streamAddContext)
通过用户-密码进行授权
$zabbix = new \Zabbix\Zabbix('http://company.com/zabbix/api_jsonrpc.php', 'zabbix_user', 'zabbix_password')
通过令牌进行授权
$zabbix = new \Zabbix\Zabbix('http://company.com/zabbix/api_jsonrpc.php', '', '', '', '', '7fbb6b3201d0ea3363a8bd859ae24a05')
通过用户-密码在HTTP基本认证后使用额外的流上下文进行授权
$streamContext = array(
'ssl' => array( // set ssl skip cert
"verify_peer"=>false,
"verify_peer_name"=>false,
),
'http' => array( // set proxy
'proxy' => 'tcp://192.168.10.40:3128',
'request_fulluri' => true,
),
);
$zabbix = new \Zabbix\Zabbix('http://company.com/zabbix/api_jsonrpc.php', 'zabbix_user', 'zabbix_password', 'auth_user', 'auth_password', '', $streamContext)`
发起请求
API库有一个接受三个参数的request
方法。它返回一个包含所有相关请求信息的关联数组。
名称 | 类型 | 描述 |
---|---|---|
method | 字符串 | Zabbix API方法名称 https://www.zabbix.com/documentation(例如:host.get, host.delete) |
params | 数组 | 从文档中获取的请求参数(例如:array( 'with_items' => true, 'selectItems' => true)) |
withAuth | 布尔值 | 某些API方法可以不带auth参数执行 |
$response = $zabbix->request('host.get', array(
'with_items' => true,
'selectItems' => true
));
echo "<pre>";
print_r($result);
echo "</pre>";
获取当前请求的认证令牌
用户首次成功登录后,令牌将被缓存/存储在文件/tmp/.zabbix-token-中。对于未来的每个请求,缓存的认证令牌将自动加载,并将跳过user.login。如果认证令牌无效/已过期,将执行user.login,并将认证令牌再次缓存
$token = $zabbix->getAuthToken();
检查存在令牌
如果令牌有效,将返回函数中指定的相同令牌值。
$token = $zabbix->getAuthToken('7fbb6b3201d0ea3363a8bd859ae24a05');
令牌无效
允许从API注销并使当前的认证令牌无效
$zabbix->userLogout('1fe801802ef13eafe852b3d0e76fe87c');
故障排除
如果您有任何问题或问题,创建一个 工单
框架集成
- Laravel - mkuzmych/zabbixlaravel
如果您将Zabbix集成到流行的PHP框架中,请告诉我们!