본문 바로가기

Tech

(42)
[Elastic Search, Logstash, Kafka] Log4J 취약점 조치 후기 본 내용은 Log4J 취약점이 발견되었을 당시, Elastic Search, Logstash, Kafka 조치를 하며 정리한 내용이다. 취약한 버전 Apache Log4j 2.x
[Celery]Pytest로 Celery Task 테스트 코드 작성하기 pytest로 celery task에 대하여, Test Code를 작성하려고 했다. 한글로된 블로그, 문서를 찾아보려했으나 보이지가 않음........... 그래서 우여곡절 끝에 찾아서 필요에 맞게 구현함... 우선 구현한 코드 참고 Git 링크 http://github.com/kangprog/celery_pytest GitHub - kangprog/celery_pytest: 파이썬 셀러리 동작을 Pytest로 Test 하기 파이썬 셀러리 동작을 Pytest로 Test 하기. Contribute to kangprog/celery_pytest development by creating an account on GitHub. github.com 이번 글은 아래와 같은 순서로 진행된다. 기본적인 Celery ..
[Elastic Search] wsl에서 esdump시, no space left on device 에러 해결 WSL Virtual Disk 확장으로 해결했다. esdump를 사용하여, elastic search 인덱스 백업 중 No space left on device에러가 발생했다. 무슨 에러인지 검색해보니, 저장공간이 부족해서 발생하는 에러라고 한다. wsl의 가상디스크 공간이 별개로 설정된다는 것을 인지하지 못한채, 큰 크기의 인덱스를 백업하려 했기 때문에 발생한 에러였다... 내가 작업했던 환경은 WSL2 Ubuntu를 사용하는 상태였다. 실제로 약 350GB의 인덱스를 백업하는 도중에 에러가 발생했고, df -h 로 wsl의 디스크 공간을 확인 해보니, 251GB만큼 할당되어있었다. 큰 크기의 인덱스를 백업하기 위해서, WSL에 할당된 디스크 공간을 확장 시킬 방법이 필요했다. WSL 디스크 공간 확장..
[S3] boto3 SDK 활용 Key 리스트 확인, 오브젝트 Copy, Move 오브젝트를 생성한 후, 동일 버킷(Bucket) 내에서 다른 Key로 오브젝트를 이동해야하는 일이 생겼다. boto3의 s3 관련 함수들 중에는 Move라는 함수가 존재하지 않았다. 그래서, Copy와 remove를 활용하여 Move를 만들었다. 사용한 코드는 아래와 같다 아래 코드를 보기에 앞서, 아래 코드내용 중에 어떤 동작 함수는 boto3.client를 쓰고, 어떤 동작 함수는 boto3.resource를 쓸것이다. client와 resource의 차이는 다음과 같다고 한다. client는 low-level 인터페이스로, AWS API와 1:1 매핑하여 사용할 때, resource는 high-level 인터페이스로, 자원에 대한 조작을 위주로 사용할 떄, 참고 :https://planbs.tist..
[filebeat] 설정 파일 참고 [참고] https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-log.html Log input | Filebeat Reference [7.15] | Elastic During testing, you might notice that the registry contains state entries that should be removed based on the clean_inactive setting. This happens because Filebeat doesn’t remove the entries until it opens the registry again to read a different file. If www.elastic...
[Elastic Search] esdump 활용 따로 커스텀해서 사용중인 esdump 관련 코드 일부를 업로드 [참고] https://github.com/elasticsearch-dump/elasticsearch-dump GitHub - elasticsearch-dump/elasticsearch-dump: Import and export tools for elasticsearch Import and export tools for elasticsearch. Contribute to elasticsearch-dump/elasticsearch-dump development by creating an account on GitHub. github.com 상수 값들 예시 { "ELASTIC_URL": "http://:@:", "INDEX": "", "OUTPU..
[S3] boto3 SDK 활용 버킷 확인, 생성, 업로드 s3 클라이언트 세션 생성 def get_s3_session(access_key, secret_access_key): s3 = boto3.client( 's3', aws_access_key_id = access_key, aws_secret_access_key= secret_access_key ) return s3 버킷 확인 def check_bucket(s3, bucket_name): # # bucket 명 확인 # response = s3.list_buckets() buckets = [bucket['Name'] for bucket in response['Buckets']] print(f"[INFO] bucket name list: {buckets}") if b..
[Athena] AWS SDK boto3 활용 쿼리 엑세스키, 시크릿 엑세스키 발급 boto3를 활용해서 AWS client에 접근하기 위해서는 access key, secret access key가 필요하다. 어떻게 엏는지는 아래 링크를 참고하자 https://assaeunji.github.io/aws/2020-04-02-boto3/ boto3를 활용한 Athena Query import boto3 import time # # https://gist.github.com/chrisdpa-tvx/96ad6099da868bf83579fcb0d8caa00c # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/athena.html # athena_handler = boto3.c..