-1

aws cloudwatchメモリなどを監視するためのスクリプトを構成しようとしています。スクリプトの実行中に以下のエラーが発生し、perlパッケージをアップグレードしました。LWP バージョンも最新の 6 ですが、スクリプトは以下のエラーで失敗します。

PERL_LWP_ENV_PROXY=1 環境変数をand として設定しよう とし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

エラー: CloudWatch の呼び出しに失敗しました: HTTP 500。 メッセージ: monitoring.ap-southeast-1.amazonaws.com:443 (タイムアウト) に接続できません

LWP::Protocol::https::Socket: connect: /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_proxyは、sudo によって実行されるプログラムではおそらく空であることを意味します。これは、プロキシを使用する代わりにターゲット サイトに直接到達しようとすることを意味し、プロキシを使用しないとサイトに到達できないため、接続時にタイムアウトになります。

于 2016-10-19T06:26:06.140 に答える
0

build-essential がインストールされていないようです。build Essentials をインストールしてください。私は同じ問題に直面しました。build-essential をインストールしたら、関連するすべての cpan モジュールをインストールします。

sudo apt-get install build-essential

ありがとうアミット

于 2016-10-19T09:22:47.620 に答える