LoginSignup
0
0

More than 3 years have passed since last update.

AWS CLIでGlueJobのruns-statusとcloudwatchのログを良い感じでゲットするシェルを作ってみた

Posted at

はじめに

どうも、肉と糖質が大好きなおじさんです。
仕事でAWSを使ってますが、マネコンからログを取得するのに
限界を感じたので良い感じのシェルを作りました。
しっかり解説入れようと下書きしていたけど
うっかり消しちゃったのでサクッとシェルだけ投稿します。
あーうっかりうっかり(泣)

・実行ID、ゲットだぜ!

JOBIDを指定して、良い感じの実行状態を取得するシェルです。
JSONを加工してCSVにしてます。
時間もUTCからJSTに変換します。

引数には、JOBIDを指定してください。

statusget.sh
#!/bin/bash
#--- 引数チェック
if [ $# -gt 1 ]; then
    echo "エラー:引数が多すぎます。"
    exit 1;
fi

#--- tittle print
echo "AWS GlueJobs Run Status Check"
echo ""

#--- 引数がなしなら入力プロンプト
if [ $# -eq 1 ]; then
    INPUT_JOBID=$1;
else
    echo "取得するJOBIDを入力してください。"
    read -p ":" INPUT_JOBID
fi

if test -z $INPUT_JOBID; then
    echo "エラー:JOBIDを入力してください。"
    exit 1;
fi

filename=$INPUT_JOBID"_result.csv"

echo "JobName,JobId,Status,StartedOn,CompetedOn,ExecutionTime" > $filename

aws glue get-job-runs --job-name $INPUT_JOBID | jq -r '.JobRuns[] | [.JobName, .Id, .JobRunState, (.StartedOn |tonumber|.+32400|todate), (.CompletedOn |tonumber|.+32400|todate), (.ExecutionTime|tonumber)]| @csv' >> $filename

echo "Finish. output --> " $filename
exit 0;

・ログストリーム、ゲットだぜ!

「行けぇ、ピ※ち※※!!aws cli get-log-events!!
「ぴかぁ…。

引数には上記シェルで取得した、実行IDを指定してください。

logget.sh
#!/bin/bash

#---- ロググループは環境に応じて変更してください!!
LOG_GROUP=/aws-glue/jobs/#########

#--- 引数チェック
if [ $# -gt 1 ]; then
    echo "エラー:引数が多すぎます。"
    exit 1;
fi

#--- tittle print
echo "AWS GlueJobs Log Getter Ver1.0"
echo ""

#--- 引数がなしなら入力プロンプト
if [ $# -eq 1 ]; then
    INPUT_RUNID=$1;
else
    echo "取得する実行IDを入力してください。"
    read -p ":" INPUT_RUNID
fi

if test -z $INPUT_RUNID; then
    echo "エラー:実行IDを入力してください。"
    exit 1;
fi

filename=`date "+%Y%m%d_%H%M%S_"`$INPUT_RUNID".log"

aws logs get-log-events --log-group-name $LOG_GROUP --log-stream-name $INPUT_RUNID --query "events[].[message]" --output text > $filename

echo "Finish. output --> " $filename
exit 0;

出力されるファイル名は、タイムスタンプ+実行ID.log です。

・おしまいに

シェルの改変などは、ご自由にどうぞ。
AWSのマネコンがもっと使い易くてレスポンスも速くなったら
こんなツールは必要ないんですが、まぁ当分先かなぁ…。

「チラ裏」
M1のMBA最近、買いました。
スッゲー速くて良い感じ。
サイコーです。
あははははは!
ではまた。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0