Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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 failedn" 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 failedn" unless $response->content->{result};
- print "List of hostsn-----------------------------n";
- foreach my $host (@{$response->content->{result}}) {
- print "Host ID: ".$host->{hostid}." Host: ".$host->{name}."n";
- }
- die "Authentication failedn" unless $response->content->{'result'};
Add Comment
Please, Sign In to add comment