Skip to content

Instantly share code, notes, and snippets.

@manuke
Last active October 19, 2023 09:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save manuke/dc5d495357e2f2153f17de2ae35f4b27 to your computer and use it in GitHub Desktop.
Save manuke/dc5d495357e2f2153f17de2ae35f4b27 to your computer and use it in GitHub Desktop.

lambda logs

aws logs filter-log-events --log-group-name /aws/lambda/XXX --start-time `date -d '2022-06-20 06:30' '+%s%3N'` --end-time `date -d '2022-06-20 07:00' '+%s%3N'` --profile=XXX >testlog.json`

jq -r '.events[].message' testlog.json >testlog.log

grep GET testlog.log |  awk '{print $NF, $4, $7,$12}'  | sort -n | tail -1000 | awk '{print $2, $1, $3, $4}' | sort | cut -b 2-

aws lambda invoke /dev/stdout --function-name=Lambda-dev --profile=prof --region=ap-northeast-1 --cli-binary-format raw-in-base64-out  --payload '{"abc":"XXX"}' 

cloudwatch log export to s3

aws logs create-export-task --task-name "exporttaskname" --log-group-name "/someloggroup" --destination "target-bucket-name" --destination-prefix "logprefix" --from date -d '-90 day' +%s%3N --to date +%s%3N

exportjobが同時に1件だけしか動かない?連続して動作させる場合

#!/bin/bash

# aws logs describe-log-groups

set -eu
function checkfunc() {
    tmpid=`cat /tmp/tmp.txt`
    id=`echo -n "$tmpid"`
while [ 1 -eq 1  ]; do
    code=`aws logs  describe-export-tasks --task-id $id | jq -c -r '.exportTasks[0].status.code'`
    if [ $code = "COMPLETED" ]; then
        echo "$id done"
        break
    else
        date
        sleep 120
        continue
    fi
done
}

target_bucket_name="bucket_name"
groups="/fargate/service/XXX /fargate/service/ZZZ"
for GROUPNAME in $groups; do
    PREFIX=`echo "$GROUPNAME" | sed 's@/@@'`
    aws logs create-export-task --log-group-name "$GROUPNAME" --task-name "$GROUPNAME-"`date +%Y%m%d` --destination "$target_bucket_name" --destination-prefix "$PREFIX" --from `date -d '-365 day' +%s%3N` --to `date +%s%3N` | jq -c -r '.taskId' >/tmp/tmp.txt
    checkfunc
    echo "$GROUPNAME DONE"
done

CloudTrail json log search

find ./ -name "*.json" | xargs jq -c '.[][] | select(.userIdentity.arn | contains("roleNAME"))' CloudTrail_ap-northeast-1_20210403T0105Z.json >list.json

lambda ls

aws lambda list-functions --profile=prd --query "Functions[?starts_with(FunctionName, 'prd-an1-header-')] | sort_by(@, &FunctionName)" --region=ap-northeast-1

Alt + enter クイック編集・電球 Shift*2 Search everywhere ALT + insert ADD ALL TAB search exit Ctrl + shift + k commit Ctrl + shift + f search files

ELBlogDownload

header='s3://PATH' && dirname=`dirname $header` && list=`aws s3 ls --profile=X "$header" | awk '{print $NF;}'` && for file in $list ; do aws s3 cp "$dirname/$file" ./ --profile=X ; done

lambda + eventbridge

以下のKMSエラーでイベントは発生するが、Lambdaが呼び出されない現象がある? eventbridge側でエラーにならず、DLQにも入らない。lambda側のエラーにもならなかったため、検知も不可 https://qiita.com/mather314/items/21e7def301f5b39e77b2

get my codocommit public key

aws iam get-ssh-public-key --user-name XXX --ssh-public-key-id aws iam list-ssh-public-keys --user-name XXX --output text --query 'SSHPublicKeys[0].SSHPublicKeyId' --encoding SSH --output text --query 'SSHPublicKey.SSHPublicKeyBody'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment