-1

我正在尝试配置aws cloudwatch用于监视内存等的脚本。在执行脚本时,我们得到以下错误,我升级了perl软件包,LWP 版本也是最新的 6,但脚本仍然失败并出现以下错误。

我尝试将环境变量设置为 PERL_LWP_ENV_PROXY=1PERL_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

错误:无法调用 CloudWatch:HTTP 500。消息:无法连接到 monitoring.ap-southeast-1.amazonaws.com:443(超时)

LWP::Protocol::https::Socket: connect: timeout at /usr/local/share/perl5/LWP/Protocol/http.pm 第 47 行。

有关更多信息,请运行“mon-put-instance-data.pl --help”

4

3 回答 3

2

PERL_LWP_ENV_PROXY=1

我想这也意味着您将http_proxy环境变量设置为它应该使用的代理,并且除了使用此代理之外没有其他方法可以访问目标。

$ sudo ./mon-put-instance-data.pl

使用 sudo 调用某些东西将以不同的权限运行它。出于安全原因,在调用程序之前,sudo 会大量清除环境变量,这可能意味着http_proxysudo 运行的程序为空。这再次意味着它将尝试直接访问目标站点而不是使用代理,并且连接将超时,因为只能使用代理访问该站点。

于 2016-10-19T06:26:06.140 回答
0

似乎没有安装 build-essential。请安装构建必需品。我遇到了同样的问题。安装 build-essential 后,安装所有相关的 cpan 模块。

sudo apt-get install build-essential

谢谢阿米特

于 2016-10-19T09:22:47.620 回答
0

尝试以下操作:

yum install openssl openssl-devel
perl -MCPAN -e 'install LWP::Protocol::https'

如果问题仍然存在,请尝试

perl -MCPAN -e 'install Bundle::CPAN'
perl -MCPAN -e 'install Bundle::LWP5_837'
于 2017-08-17T16:26:26.047 回答