mirror of
https://github.com/librenms/librenms-agent.git
synced 2024-05-09 09:54:52 +00:00
52 lines
1.5 KiB
Perl
Executable File
52 lines
1.5 KiB
Perl
Executable File
#!/usr/bin/perl -w
|
|
|
|
# Copyright (C) 2015 Mark Schouten <mark@tuxis.nl>
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; version 2 dated June,
|
|
# 1991.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# See http://www.gnu.org/licenses/gpl.txt for the full license
|
|
|
|
use constant {
|
|
TIMEZONE => 'Europe/Amsterdam'
|
|
};
|
|
|
|
use strict;
|
|
use PVE::API2Client;
|
|
use PVE::AccessControl;
|
|
use PVE::INotify;
|
|
use Data::Dumper;
|
|
|
|
my $hostname = PVE::INotify::read_file("hostname");
|
|
|
|
my $ticket = PVE::AccessControl::assemble_ticket('root@pam');
|
|
my $csrftoken = PVE::AccessControl::assemble_csrf_prevention_token('root@pam');
|
|
|
|
my $conn = PVE::API2Client->new(
|
|
ticket => $ticket,
|
|
csrftoken => $csrftoken,
|
|
);
|
|
|
|
my $clustername = $conn->get("/api2/json/cluster/ha/config")->{'data'}->{'children'}[0]{'name'};
|
|
if (!defined($clustername)) {
|
|
$clustername = $hostname;
|
|
}
|
|
|
|
|
|
print "<<<app-proxmox>>>\n";
|
|
|
|
print "$clustername\n";
|
|
|
|
foreach my $vm (@{$conn->get("/api2/json/nodes/$hostname/netstat")->{'data'}}) {
|
|
my $vmid = $vm->{'vmid'};
|
|
my $vmname = $conn->get("/api2/json/nodes/$hostname/qemu/$vmid/config")->{'data'}->{'name'};
|
|
print "$vmid/$vm->{'dev'}/$vm->{'in'}/$vm->{'out'}/$vmname\n";
|
|
};
|