0
私はここの初心者で、私の貧しい英語をお待ちしています。私はaws EC2サーバーをテストしています。私はcloudWatchを設定しました 私は知っているpython botoのget_log_eventsまたはaws cliのget-log-eventsコマンドはそれを行うことができます。これらはログイベントを部分的にしか取得できません(3〜4日間のみ)。 すべてのイベントをプログラムで取得したい。 私は数日間探していますが、私はできません。 私を助けてください。前もって感謝します。どのようにcloudWatchのすべてのイベントを取得するには?
ちなみに、私はあなたに私のpython boto3コードを表示してみましょう。
enter code here
logs = boto3.client('logs', 'ap-northeast-2')
for a1 in logs.describe_log_groups()['logGroups']:
a1name = a1['logGroupName']
for a2 in logs.describe_log_streams(logGroupName=a1name)['logStreams']:
a2name = a2['logStreamName']
for a3 in logs.get_log_events(logGroupName=a1name, logStreamName=a2name)['events']:
lmf = str.split(str(a3['message']), ' ') # log message field
print a1name, a2name, lmf[0], lmf[1], lmf[2], lmf[3], lmf[4], lmf[5], lmf[6], lmf[7], lmf[8], lmf[9], lmf[10], lmf[11], lmf[12]
は答えをいただき、ありがとうございます。しかし、私はあなたが私に与えたリンクも見ました。私は完全なログを取得するためにトークンを使用する方法を知らない。トークンはどこですか?どのように私はそれを作成または開始することができますか?手伝って頂けますか? – bsofte
あなたは、logs.get_log_events(logGroupName = a1name、logStreamName = a2name)のa3を反復する方法でトークンを破棄しています['events'] '...'実際のイベントの配列だけでなく、get_log_events() –
申し訳ありませんが、私はフィードバックに遅れています。 あなたのおかげで、私は道を見つけました。 get_log_eventsの最初の結果でnextBackWardTokenまたはnextForWardToken情報に従って 'get_log_events'メソッドを繰り返し実行する必要がありました。 私は変更されたコードを投稿したいが、コメントではできない。 マイケルありがとう! – bsofte