23

シェル スクリプトをユーザー データ フィールドに貼り付けて、標準の Ubuntu 13.04 AMI の派生物を実行しているスポット インスタンスを初期化しています。

これは機能します。スクリプトが実行されます。しかし、スクリプトの出力がどこに記録されているのかがわからないため、デバッグが困難です。

/var/log/cloud-init.log を調べました。これには、cloud-init 自体のデバッグに関連するものがたくさん含まれているようですが、スクリプトについては何もありません。/var/log を grep しましたが、何も見つかりませんでした。

ログオンを有効にするために何か特別なことをしなければなりませんか?

4

3 に答える 3

27

クラウド初期化ユーザー データのデフォルトの場所は/var/log/cloud-init-output.log、AWS、DigitalOcean、および他のほとんどのクラウド プロバイダーにあります。出力を表示するために追加のログを設定する必要はありません。

于 2018-01-31T13:09:24.300 に答える
19

ユーザーデータ用の cloud-config ファイル (上部に「#cloud-config」を含む) を作成し、runcmd を使用してスクリプトを呼び出し、次のように出力ログを有効にすることができます。

output: {all: '| tee -a /var/log/cloud-init-output.log'}
于 2013-09-09T20:13:41.060 に答える
5

だから私はあなたの問題を再現しようとしました。通常、私は Cloud Config で作業しているため、次のような簡単なテスト ユーザーデータ スクリプトを作成しました。

#!/bin/sh

echo "Hello World.  The time is now $(date -R)!" | tee /root/output.txt

echo "I am out of the output file...somewhere?"

yum search git    # just for fun

ls

exit 0

CloudInit シェル スクリプトを使用すると、ユーザー データは「最初の起動時に rc.local のようなレベルで実行されます。rc.local のようなは、「起動シーケンスの非常に遅い段階」を意味します」」ことに注意してください。 Scientific Linux マシン) 最初に /var/log/boot.log に移動したところ、次のことがわかりました。

こんにちは世界。時刻は現在、2013 年 9 月 11 日水曜日 10:21:37 +0200 です。私は

ファイルから。ログファイルはどこかにありますか? ロードされたプラグイン: changelog、kernel-module、priorities、protectbase、security、: tsflags、versionlock リポジトリの優先度保護により 126 個のパッケージが除外されました リポジトリの保護により 9 個のパッケージが除外されました ^Mepel/pkgtags
| 581キロバイト 00:00

=============================== N/S 一致: git ============= ================= ^[[1mGit^[[0;10mPython.noarch : Python ^[[1mGit^[[0;10m ライブラリ c^[[1mgit^[ [0;10m.x86_64 : ^[[1mgit^[[0;10m

...

... (より多くの yum 検索出力)

...

bin etc lib lost+found mnt proc sbin srv tmp var

boot dev home lib64 media opt ルート selinux sys usr

(その他の無関係なもの)

ご覧のとおり、スクリプトが実行され、正しくログに記録されました。また、予想どおり、強制ログ「output.txt」が /root/output.txt にあり、次の内容が含まれていました。

こんにちは世界。時刻は現在、2013 年 9 月 11 日水曜日 10:21:37 +0200 です。

だから...スクリプトで何が起こっているのかよくわかりません。でスクリプトを終了していることを確認してください

exit 0   #or some other code

それでもうまくいかない場合は、スクリプト、boot.log、/etc/rc.local、cloudinit.log などの詳細情報を提供する必要があります。ところで: あなたの cloudinit のバージョンは何ですか?

于 2013-09-11T08:40:08.713 に答える