Здравствуйте.
для подключения к zabbix api написал такой код на perl
#!/usr/bin/perl
use 5.010;
use strict;
use warnings FATAL => 'all';
use JSON::RPC::Client;
use Data::Dumper;
# Authenticate yourself
my $client = new JSON::RPC::Client;
my $url = 'https://zabbix/api_jsonrpc.php';
my $authID;
my $response;
my $json = {
jsonrpc => "2.0",
method => "user.login",
params => {
user => "admin",
password => "admin"
},
id => 1
};
$response = $client->call($url, $json);
# Check if response was successful
die "Authentication failed\n" unless $response->content->{'result'};
$authID = $response->content->{'result'};
print "Authentication successful. Auth ID: " . $authID . "\n";
# Get list of all hosts using authID
$json = {
jsonrpc=> '2.0',
method => 'host.get',
params =>
{
output => ['hostid','name'],# get only host id and host name
sortfield => 'name', # sort by host name
},
id => 2,
auth => "$authID",
};
$response = $client->call($url, $json);
# Check if response was successful
die "host.get failed\n" unless $response->content->{result};
print "List of hosts\n-----------------------------\n";
foreach my $host (@{$response->content->{result}}) {
print "Host ID: ".$host->{hostid}." Host: ".$host->{name}."\n";
}
возвращается ошибка о невозможности вызова метода или неопределенности значения
Can't call method "content" on an undefined value at ZabbixAPI_Get.pl line 27.
die "Authentication failed\n" unless $response->content->{'result'};
как решить эту проблему?