728x90 반응형 분류 전체보기107 AWS에 올려둔 개발용 DB가 알고보니 채굴용으로 쓰이고 있었다고? AWS에 올린 개발용 Postgres DB가 주기적으로 Down되는 현상이 있어 분석했고 결과적으로 DB 컨테이너가 Malware로 부터 감염이 되어 채굴용으로 사용된 것으로 파악이 되었다. 1. DB 컨테이너가 Down 주기적으로 Down 되었던 이유 -> Host OS 혹은 Docker Daemon에서 판단 했을 때 해당 컨테이너의 CPU 점유율 및 메모리 사용량이 상당히 높아 해당 PID를 강제로 kill 했을 것으로 추측된다. 아래는 문제가 되었던 DB 컨테이너의 상태로. CPU 사용률/점유율이 200퍼센트를 넘겼으며 메모리 사용량도 2GiB를 넘기는 수치이다. 아래는 정상적인 DB 컨테이너의 상태로 차이가 극명하다. *signal 9: Killed 라는 로그 메세지가 Out Of Mem.. 2025. 7. 9. VSCode Remote Explorer 통해 SSH 접근 시 에러 디버깅 Bad permissions. Try removing permissions for user:~~[09:32:45.358] > Bad permissions. Try removing permissions for user: UNKNOWN\\UNKNOWN (~) on file C:/Users/user/.ssh/config.[09:32:45.380] > Bad owner or permissions on C:\\Users\\user/.ssh/config> 프로세스에서 없는 파이프에 쓰려고 했습니다.[09:32:46.645] "install" terminal command done[09:32:46.645] Install terminal quit with output: 프로세스에서 없는 파이프에 쓰려고 했습니다.[09.. 2025. 6. 20. 자주 사용하는 도커 로그 구하는 법 실시간 로그 구하기docker logs -f 컨테이너명 예시:docker logs -f 20b 실시간인데 30분전부터 구하기docker logs -f --since "시간" 컨테이너명 예시:docker logs -f --since "30m" 20b 로그 라인으로 제한docker logs --tail 라인수 컨테이너명 예시:docker logs --tail 2000 20b 정규표현식으로 검색하기 IPdocker logs --tail 라인수 컨테이너명 2>&1 | grep -E "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" 예시:docker logs --tail 2000 20b 2>&1 | grep -E "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" 숫자docker log.. 2025. 6. 18. FATAL: remaining connection slots are reserved for roles with the SUPERUSER attribute 에러 디버깅 환경: Django 4.0.5Postgres 16.4 문제:DB 트랜잭션이 요구되는 모든 작업 불가 원인:FATAL: remaining connection slots are reserved for non-replication superuser connections 에러는 PostgreSQL의 최대 연결 수(max_connections)를 초과했을 때 발생하는 에러로 슈퍼유저나 복제(replicaton) 연결을 위한 슬롯을 제외하고, 일반 연결을 모두 소진했을 때 나타나는 경우가 일반적이다. 특히 Django에서 ASGI 서버(Daphne, Uvicorn 등)로 웹소켓 연결을 사용할 때 "FATAL: remaining connection slots are reserved for non-replicatio.. 2025. 6. 17. 윈도우 함수란? 아래와 같은 주문 데이터 셋이 있다고 가정해보자Date Customer Order_ID Amount2025-05-01Alice10152025-05-02Alice10272025-05-03Alice103102025-05-04Bob10442025-05-05Bob1056 우리는 이 데이터 셋에서 5월 1일부터 5월 5일까지 어떤 고객이 어떤 주문 ID를 통해 얼마나 주문했는지 알 수 있다.하지만 이것은 원시 데이터이고 아주 간단하면서도 적은 양이기 때문에 실제로 엄청나게 많은 양의 데이터를 한눈에 보는 것은 어렵다. 해서 조금 더 한눈에 볼 수 있고 의미있는 데이터를 보기 위해서는 각 고객별로 얼마나 주문을 했는지의 집계를 보고 싶을 수 있다. 집계를 내고 보는 방법은 다양하다.오늘은 윈도우 함수라는 것을 사용.. 2025. 5. 20. 그래서 JWT가 뭔데? (Stateless의 장단점과 보완방법) JWT(JSON Web Token)의 이해와 활용JWT는 JSON Web Token로 말 그대로 JSON 객체로 토큰을 주고 받는 토큰 인증 방식이다.이 토큰은 디지털 서명되어 있어 정보의 신뢰성과 무결성을 보장하고 HMAC 알고리즘을 사용한 비밀키나 RSA를 사용한 공개/개인 키 쌍으로 서명될 수 있다고 한다.JWT는 세 부분으로 구성되어 있다.헤더(Header): 토큰 유형(JWT)과 서명 알고리즘페이로드(Payload): 토큰에 포함할 사용자에 대한 정보나 메타데이터, 통칭 클레임서명(Signature): 헤더와 페이로드를 Base64Url로 인코딩한 비밀키이 세 부분은 점(.)으로 구분되어 xxxxx.yyyyy.zzzzz 형태로 표현된다. JWT의 Flow토큰 생성: 클라이언트가 웹에 로그인하면 .. 2025. 4. 8. ELK + 내장 Filebeat 2 (Kafka 얹기) https://samori.tistory.com/119 ELK + 내장 Filebeat samori.tistory.com에 이어 Kafka라는 데이터 스트리밍을 제공하는 오픈 소스 플랫폼을 연결해서 파일비트와 ELK 사이에 둘 것이다.왜?아래와 같은 장점이 있기 때문이다.ScalabilityFault ToleranceReal-Time AnalyticsLoad Management 다 중요하지만 Fault Tolerance와 Load Management가 핵심인데 바로 데이터 유실 방지와 분산 처리이다.아래는 샘플 Compose 파일로 하나의 Kafka 서비스가 아닌 3개의 서비스를 띄우고 이를 연결해준 것을 볼 수 있다.이는 Fault Tolerance(데이터 유실 방지)와 Load Management(분.. 2025. 4. 8. 이전 1 2 3 4 ··· 16 다음 728x90 반응형