我正在尝试配置 aws cloudwatch
脚本来监控内存等。执行脚本时出现以下错误,我升级了 perl
包,LWP 版本也是最新的为 6,但脚本仍然失败并出现以下错误。
我尝试将环境变量设置为 PERL_LWP_ENV_PROXY=1
和 PERL_LWP_SSL_VERIFY_HOSTNAME=0
但仍然失败。请对此提供帮助。
[ec2-user@ip-10-175-82-195 aws-scripts-mon]$ sudo ./mon-put-instance-data.pl --mem-util --mem-used --mem-avail --aws-credential-file=./awscreds.template
ERROR: Failed to call CloudWatch: HTTP 500. Message: Can't connect to monitoring.ap-southeast-1.amazonaws.com:443 (timeout)
LWP::Protocol::https::Socket: connect: timeout at /usr/local/share/perl5/LWP/Protocol/http.pm line 47.
For more information, run 'mon-put-instance-data.pl --help'
最佳答案
PERL_LWP_ENV_PROXY=1
我想这也意味着您已将 http_proxy
环境变量设置为它应该使用的代理,并且除了使用该代理之外别无他法。
$ sudo ./mon-put-instance-data.pl
使用 sudo 调用某些东西将以不同的权限运行它。出于安全原因,在调用程序之前,sudo 会大量清理环境变量,这可能意味着 http_proxy
对于 sudo 运行的程序是空的。这再次意味着它将尝试直接访问目标站点而不是使用代理,并且连接将超时,因为只能使用代理访问该站点。
关于perl - LWP::Protocol::https::Socket: 连接:超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40123294/