Deployment에서 Fargat로 pod를 배포한뒤아래의 파일을 이용해서 namespace와 configmap을 생성해줍니다. pod에 exec로 접속하여 호출하였음에도 로그 그룹에 로그가 생성되지 않는다면deployment.yaml을 삭제하고 다시 시도해보세요. Down filewget https://raw.githubusercontent.com/wngnl-dev/AWS/main/EKS/CloudWatch/Fargate/aws-observability-namespace.yamlwget https://raw.githubusercontent.com/wngnl-dev/AWS/main/EKS/CloudWatch/Fargate/configmap.yaml Testaws logs filter-log-events..
CloudWatch
로그 스트림 생성하기aws logs create-log-stream \ --log-group-name \ --log-stream-name ssm_login.sh #!/bin/bashSESSION_ID=$(aws ssm describe-sessions --state Active --query 'Sessions[*]' --output json | jq -r 'max_by(.StartDate) | .SessionId')LOG_ENTRY=$(jq -n \ --arg eventTime "$(date '+%Y-%m-%dT%H:%M:%SZ')" \ --arg eventSource "ssm.amazonaws.com" \ --arg state "Active" \ --arg accountId "6546544..
Link 시작하기 전에 EKS NodeGroup IAM 역활에 아래의 정책을 추가해줍니다.CloudWatchAgentServerPolicy CloudWatch Insight 역활 생성하기CLUSTER_NAME=""OIDC_ID=$(aws eks describe-cluster --name $CLUSTER_NAME --query "cluster.identity.oidc.issuer" --output text | sed 's|https://||')ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text)OIDC_ARN="arn:aws:iam::$ACCOUNT_ID:oidc-provider/$OIDC_ID"aws iam create-rol..
{ $.userIdentity.userName = "" }
CloudTrail 만들어줍니다.CloudTrail에서 Cloudwatch LogGroup을 만들어서 연결해주고Cloudwatch LogGroup을 트리거로 한 Lambda함수를 생성해줍니다. Lambda에서 LOG_GROUP_NAME, LOG_STREAM_NAME 변수에 IAM USER 로그인 로그를 저장할 로그 그룹 이름과 로그 스트림 이름을 지정해줍니다. 로그인 하기 전에 LOG_GROUP_NAME 의 이름을 가진 로그 그룹을 미리 만들어야 합니다. Lambda Code Python더보기import boto3import base64import zlibimport jsonfrom datetime import datetimedef lambda_handler(event, context): # ..
2024.04.21 - [Aws] - EC2 접속 시 CloudWatch LogGroup에 USER 로그 작성하기 Lambda함수를 3개 만들어줍니다. 1. cloudwatch-function 2. dynamo-db-function cloudwatch-function Code 더보기 import base64 import json import zlib import boto3 def lambda_handler(event, context): # CloudWatch Logs 이벤트 데이터 추출 event_data = event['awslogs']['data'] # base64 디코딩 및 압축 해제 decoded_data = base64.b64decod..
CloudWatch LogGroup을 Lambda트리거로 설정할려면? Code 더보기 import base64 import json import zlib def lambda_handler(event, context): # CloudWatch LogGroup 읽어오기 event_data = event['awslogs']['data'] # 이벤트 데이터 추출 decoded_data = base64.b64decode(event_data) # base64 디코딩 decompressed_data = zlib.decompress(decoded_data, 16+zlib.MAX_WBITS) # 압축 해제 log_data = json.loads(decompressed_data) # JSON 파싱 log_events = ..
EC2 Setting더보기시작하기 전에 Bastion에서 계정을 하나 생성해줍니다.passwd명령으로 계정에 비밀번호를 설정해줍니다.sudo useradd wngnlsudo passwd wngnl Log를 저장할 login.txt를 만들어주겠습니다. sudo touch /var/log/login.txtsudo chmod 777 /var/log/login.txt Bastion에 접속할 때 마다 sh명령을 실행하도록 해주겠습니다. login.sh에 접속하여 아래 코드를 넣어줍니다. sudo vi /etc/profile.d/login.shecho "$(date '+%Y-%m-%d %H:%M:%S') Login: $USER" >> /var/log/login.txtecho "$USER, $USER has logg..
시작하기 전에 EKS NodeGroup IAM 역활에 아래 정책을 추가해주세요.CloudWatchFullAccess Fluentbit 역활 생성하기CLUSTER_NAME=""OIDC_ID=$(aws eks describe-cluster --name $CLUSTER_NAME --query "cluster.identity.oidc.issuer" --output text | sed 's|https://||')ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text)OIDC_ARN="arn:aws:iam::$ACCOUNT_ID:oidc-provider/$OIDC_ID"aws iam create-role --role-name wngnl_Cl..