dpiquet / pve-monitor

pve-monitor is a tool to monitor hypervisor and virtual machines in a proxmox cluster
37 stars 24 forks source link

Could not connect to any server ! #22

Closed jguilmette closed 9 years ago

jguilmette commented 9 years ago

Hello ! Here's my pve-monitor.conf;

Example Cluster definition

node example

node srv02 { address 192.168.128.12 port 8006 # Optional, default is 8006 monitor_account root monitor_password potato realm pam # Optional, default is pve

test

mem 80 90 # optional, not monitored if not defined
cpu 80 95 # optional
disk 80 90 # optional

}

openvz example

openvz example { mem 80 90 cpu 80 95 disk 80 90 }

qemu example

qemu msvm { mem 80 90 cpu 80 95 disk 80 90 }

storage example

storage local { disk 80 90 node srv02 }

from debian jessie box (192.168.128.210) i can ping and telnet on 8006 192.168.128.12 but when i run any command from: /usr/bin/perl pve-monitor.pl --conf /etc/nagios3/pve-monitor.conf i always obtain "Could not connect to any server !" Thanks to help

jguilmette commented 9 years ago

root@nagios:~/pve-monitor-stable-1.0# /usr/bin/perl pve-monitor.pl --conf /etc/nagios3/pve-monitor.conf --nodes --debug Setting timeout to 5 Loaded node srv02 Loaded openvz example Loaded qemu msvm Loaded storage local Trying 192.168.128.12... DEBUG: login not successful DEBUG: 500 Can't connect to 192.168.128.12:8006 (certificate verify failed)

dpiquet commented 9 years ago

Hi,

This problem was solved some times ago. Check out the latest versiion which should word fine !

https://github.com/dpiquet/pve-monitor/archive/Stable-1.05.tar.gz

jguilmette commented 9 years ago

Unfortunatly, i just try this latest version and i have the same error.

jguilmette commented 9 years ago

I don't know if there's a link but, i had to install Net::Proxmox::VE using cpan because git clone git://github.com/dpiquet/proxmox-ve-api-perl.git &cp -R proxmox-ve-api-perl/lib/Net/Proxmox /usr/lib/perl5/Net/ giving me error .... Can't locate Net/Proxmox/VE.pm in @INC (you may need to install the Net::Proxmox::VE module) Thanks

flantel commented 9 years ago

Hi Having the same issue after upgrading to Ubuntu 15.04 - my guess is that it is due to unsigned SSL certs and the new version of perl being much more strict.

Here's a snippet of strace

read(3, "\26\3\1\3\275", 5) = 5 read(3, "\v\0\3\271\0\3\266\0\3\2630\202\3\2570\202\2\227\240\3\2\1\2\2\1\0040\r\6\t*\206H\206\367\r\1\1\5\5\0000r1$0\"\6\3U\4\3\f\33Proxmox Virtual Environment1)0'\6\3U\4\v\f 7f67a6b065ce95563689861fdf56c53c1\0370\35\6\3U\4\n\f\26PVE Cluster Manager CA0\36\27\r141217152238Z\27\r241214152238Z0[1\0310\27\6\3U\4\v\23\20PVE Cluster Node1$0\"\6\3U\4\n\23\33Proxmox Virtual Environment"..., 957) = 957 stat("/usr/lib/ssl/certs/dcc57f4d.0", 0x7ffe2ee0bd90) = -1 ENOENT (No such file or directory) write(3, "\25\3\1\0\2\0020", 7) = 7 rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0 rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7f8eccf1f2f0}, {SIG_DFL, [], SA_RESTORER, 0x7f8eccf1f2f0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0 rt_sigaction(SIGPIPE, {SIG_DFL, [], SA_RESTORER, 0x7f8eccf1f2f0}, {SIG_IGN, [], SA_RESTORER, 0x7f8eccf1f2f0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 close(3) = 0 write(1, "DEBUG: login not successful\n", 28) = 28

flantel commented 9 years ago

Just confirmed that it is the snakeoil certs causing the issue. Changed one of the nodes to use the load balancer hostname, which has a matching cert and it worked fine.

flantel commented 9 years ago

I also found that the port setting for nodes is actually ignored and always tries 8006. This was fixed by adding port to the following in line 730 of pve--monitor.pl

$pve = Net::Proxmox::VE->new(
    host     => $host,
    port     => $port,
    username => $username,
    password => $password,
    debug    => $arguments{debug},
    realm    => $realm,
    timeout  => $arguments{timeout},
);  
ghost commented 9 years ago

I have solved the issue "Can't locate Net/Proxmox/VE.pm in @INC (you may need to install the Net::Proxmox::VE module)" on my server but i still have the "Could not connect to any server !"

Is it possible to resolve this issue?

dpiquet commented 9 years ago

Hi all,

I have just released a new version of pve-monitor which uses the Net::Proxmox::VE cpan module instead of my own fork.

If you installed the cpan version of this module, please use the latest (1.06) version of pve-monitor. It should address the issues you experienced. Reopen this bug if you still have problems with the new version.