zabbix php版本号,zabbix

任何Zabbix API客户端在真正工作之前都需要验证它自身。在这里是采用User.login方法。这个方法接受一个用户名和密码作为参数并返回验证ID,一个安全哈希串用于持续的API调用(在使用User.logout之前该验证ID均有效)。这里使用php代码获取

function Curl($url,$header,$info){

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch,CURLOPT_HTTPHEADER,$header);

curl_setopt($ch,CURLOPT_POST, 1);

curl_setopt($ch,CURLOPT_POSTFIELDS, $info);

$response = curl_exec($ch);

curl_close($ch);

return json_decode($response);

}

//获取token

function GetToken() {

$logininfo = [

‘jsonrpc’ => ‘2.0’,

‘method’ => ‘user.login’,

‘params’ => [

‘user’ => ‘username’,

‘password’ => ‘password’,

],

‘id’ => 1,

];

$url = ‘http://www.example.com/api_jsonrpc.php‘;

$data = json_encode($logininfo);

$header = [“Content-type: application/json”];

//实例化模型

$model = new GetZabbixToken();

if (!$result = $model->Curl($url, $header, $data)) {

echo ‘无法获取token’;

exit;

}

$token = $result->result;

return $token;

}

//获取主机信息

function GetHosts() {

$hostinfo = [

‘jsonrpc’ => ‘2.0’,

‘method’ => ‘host.get’,

‘params’ => [

‘output’ => [‘hostid’, ‘name’],

‘filter’ => [‘host’ => ‘’],

],

‘auth’ => GetToken(),

‘id’ => 1

];

$url = ‘http://www.example.com/api_jsonrpc.php‘;

$data = jsonencode($hostinfo);

$header = [“Content-type: application/json”];

if (!$result = Curl($url, $header, $data)) {

echo ‘无法获取主机信息’;

exit;

}

return $result->result;

}

这里我用前端页面渲染,效果如下

hostinfo.jpg

查看详情页是具体主机硬件信息

info.jpg

代码如下:

function GetInfo($hostid){

$info = [

‘jsonrpc’ => ‘2.0’,

‘method’ => ‘item.get’,

‘params’ => [

‘output’ => [‘key‘,’lastvalue’,’hostid’],

‘filter’ => [

‘hostid’ => $hostid,

‘key_’ => [

‘vfs.fs.size[/,total]’,

‘vfs.fs.size[/,used]’,

‘vfs.fs.size[/,free]’,

‘vfs.fs.size[/data,total]’,

‘vfs.fs.size[/data,used]’,

‘vfs.fs.size[/data,free]’,

‘system.cpu.load[percpu,avg15]’,

‘system.cpu.load[percpu,avg5]’,

‘system.cpu.load[percpu,avg1]’,

‘system.cpu.util[,idle]’,

‘system.cpu.switches’,

‘system.cpu.util[,interrupt]’,

‘system.cpu.util[,iowait]’,

‘vm.memory.size[available]’,

‘vm.memory.size[total]’,

‘custom.vfs.dev.read.ms[sda]’,

‘custom.vfs.dev.write.ms[sda]’,

‘icmpping’,

‘icmppingsec’,

‘icmppingloss’,

‘iptables.lines’,

‘kernel.maxfiles’,

‘net.if.in[em1]’,

‘net.if.in[em2]’,

‘net.if.in[em3]’,

‘net.if.in[em4]’,

‘net.if.out[em1]’,

‘net.if.out[em2]’,

‘net.if.out[em3]’,

‘net.if.out[em4]’,

‘proc.num[]’,

‘system.boottime’,

‘system.localtime’,

‘system.swap.size[,free]’,

‘system.swap.size[,pfree]’,

‘system.swap.size[,total]’,

‘system.uname’,

‘system.uptime’,

‘system.users.num’,

‘vfs.fs.inode[/,pfree]’,

‘vfs.fs.inode[/data,pfree]’,

],

],

],

‘auth’ => GetToken(),

‘id’ => 1,

];

$url = ‘http://www.example.com/api_jsonrpc.php‘;

$info = json_encode($info);

$header = [“Content-type: application/json”];

if(!$info = $model->Curl($url,$header,$info)){

echo ‘无法获取信息’;

exit;

}

return $info->result;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值