Django에서 OpenTelemetry를 이용해 Jaeger로 Trace 남기기

이전 포스팅에서 Log생성을 해보았다.이번에는 Tracing을 해본다. Trace Trace는 하나의 작업(요청)이 여러 시스템이나 컴포넌트를 거쳐 처리되는 과정을 기록하고 시각화한 것이다. 일반적인 로그와는 다르다. Jaeger와 OpenTelemetry Jaeger 오픈소스 분산 트레이싱 시스템 (시각화 도구) OpenTelemetry 코드에 트레이스를 심고 다양한 시스템으로 전송하는 표준 프레임워크 Django에 Trace를 심는 방법 Install OpenTelemetry SDK on Django {DjangoProject}/wsgi.py 수정 서버 시작 시 트레이스 … Read more

Django | Log 설정

기본적으로 Django에 로그는 기본 로거만 설정되어있어서 쿠버네티스에 배포하고 난 뒤 로그가 안보인다. Print로찍는게 보이기는 하긴한데 이건 사용용도에 맞지 않다. 적용 전 출력 예시 settings.py에 아래와 같은 형태로 추가한다. 적용 후 출력 예시

FluentBit | Creating a TAG in the INPUT Plugin

Data Pipeline Tail https://docs.fluentbit.io/manual/pipeline/inputs/tail The tail input plugin allows to monitor one or several text files. It has a similar behavior like tail -f shell command. The plugin reads every matched file in the Path pattern and for every new line found (separated by a newline character (\n) ), it generates a new record. Optionally … Read more

MetalLB 테스트

2년전에 클라우드 분야를 공부할때 AWS에서 EKS를 이용할때는 Nginx-iness-controller배포를하면 LB가 알아서 생겨서 문제가 없었다. 그러나, VM노드로 쿠버네티스를 엮어서 외부로 노출시키려다보니 문제가 생겼었는데그 당시 MetalLB를 한번 적용해보고 잊고 있었다. 외부 고객사 설치때는 다른 방법을 이용하고 있는데,궁금해져서 MetalLB를 찾아 다시 적용해보았다. 전에는 이렇게 안했던 것 같은데 바뀐듯하다. 고객사 설치에는 적용할 필요가 없을 것 같다(다른 안정적인 방법적용하고 있음). MetalLB … Read more

redis sentinel 핸즈온

레디스 센티넬 클러스터 구축 Redis Redis(REmote DIctionary Server)는 오픈 소스, 인메모리 기반의 키-값(Key-Value) 데이터 저장소입니다.고속의 데이터 처리를 위해 RAM에 모든 데이터를 저장하며, 다양한 데이터 구조와 영속성 옵션을 지원합니다. 구성정보 테스트 환경으로 3개의 노드로 구성하였다. vCpu: 1 CORE vMemory: 1 GB Install redis Redis Config 설정하고 포트충들로 재기동안되면 강제 종료후 재기동하면된다. redis conf참고자료 Redis Sentinel Redis … Read more

Docker 입문 가이드(작성중)

이번 포스팅에서는 Docker에대하여 다뤄 보려합니다.이미 Docker를 이용해서 container-image를 이용하여 서비스 애플리케이션을 동작하거나,여러 오픈소스를 사용 하는 것은 일상이 되어 있습니다. 여러 블로그 자료들이 있는데,유튜브 컨텐츠를 만들면서 개인적으로도 더욱 자세히 Docker에 대하여 알아보고자 작성하게 되었습니다. Docker란? Docker는 애플리케이션을 컨테이너(container)라는 독립된 공간에서 실행시키는 플랫폼입니다.운영체제에 직접 설치하지 않고, 애플리케이션 실행에 필요한 모든 환경(라이브러리, 코드, 실행파일 등)을 하나의 이미지로 패키징하여 … Read more

mattermost incoming webhook 보안설정

개인적으로 mattermost를 slack대체 도구로 사용하고 있다.외부에서 notification을 받는 용도로 incoming webhook을 설정하고 있는데,이게 문제가 좀있다. incoming webhook URL은 기본적으로 별도의 인증과정이 존재하지 않는다. 여러 방법을 고민해보고 있으나 여러 환경을 고려해야하다보니 과정에서 ip주소 차단을 걸기는 좀 아닌 것 같아서 요청 헤더값으로 처리하는 방법을 적용하였다. 사용중인 Mattermost 서비스 환경 내가 사용 중인 mattermost는 두개의 haproxy를 거쳐서 통신을 … Read more

gitea 회원 가입 기능 끄기

사설 gitea를 사용하고 있는데 외부 회원가입이 유입된 정황이 확인되어 차단하기로 하였다. docker로 배포한 환경에서 설정하는 방법. gitea 설정 파일에서 변수 설정을 하고 재기동한다. 로그인 옆에 보이던 가입버튼이 사라졌다.끝~

unity | webGL Game on Kubernetes

유니티 챌린지로 데모 게임(김치런)을 만들고 webGL Build 후 unity에 업로드 및 unity에서 제공하는 링크로 데모게임 까지 테스트 완료하였습니다. 하지만 개인 테스트 K8S에 업로드 하고 싶어서 이것저것 테스트 해보고 업로드 하게 되었습니다. 완성된 데모게임 https://play.unity.com/en/games/40499aa7-3656-45cf-ab52-60a0e0c10a82/demo2sdjo Unity 설정 변경 에디터 종속을 제외하기위한 설정으로 압축방식을 바꿀겁니다. https://docs.unity.cn/kr/2023.2/Manual/webgl-deploying.html https://stackoverflow.com/questions/72453065/unable-to-parse-build-build-framework-js-br Build 압축방식 변경 Edit > Project Settings > Player > … Read more