분류 전체보기 (280) 썸네일형 리스트형 [로그 모니터링] Fluent Bit 설치와 시스템 연동 이전 글들에서 Grafana 와 Loki 까지 구성을 완료했다.이번 글에서는 Fluent Bit 를 설치하고 로그를 출력할 샘플 app 과 연동해서 Grafana 대시보드에 로그가 출력되는 것까지 완료해보겠다.1. Fluent Bit 설치Fluent Bit 공식 문서의 Docker 설치 방법을 참고하여 Docker 컨테이너로 Fluent Bit 서비스를 실행시켜 보겠다.- installation > download and install fluent bit > docker Download and install Fluent Bit | Fluent Bit: Official Manual docs.fluentbit.io- docker-compose.yaml공식 문서에서 docker run 명령어로 Fluent B.. [로그 모니터링] Loki 설치와 Grafana 연동 지난 글 (https://jammdev.tistory.com/284) 에서는 로그 모니터링 시스템의 Grafana 를 설치했다. 이번 글에서는 Loki 를 설치하고 Grafana 에 연동하는 과정을 정리해보겠다.1. Loki 설치 및 환경설정Grafana Loki 의 공식 문서를 참고하여 Loki 설치와 환경설정을 진행하려고 한다. Loki 는 여러 컴포넌트들로 구성되어 있는 microservice architecture 를 가지고 있다. Loki 를 실행시킬 때 deployment mode 를 설정하여 시스템을 monolithic 하게 구성할 것인지, micro 하게 구성할 것인지 결정할 수 있다. 이 글에서는 아래 링크의 예제와 같이 simple scalable deployment 구조로 read, .. [LLM] OpenAI SDK Quickstart 여러 LLM Provider 들의 SDK 를 사용해보면서 공부를 하려고 한다. 가장 먼저 제일 많이 사용되고 있는 OpenAI 로 시작해보려 한다. OpenAI API 공식문서의 Quickstart 를 기반으로 OpenAI SDK 설치, Response API 를 사용한 채팅, 이미지 분석, agent build 등 다양한 예제를 정리해본다.1. OpenAI API Key 발급OpenAI API 를 사용하기 위해서는 먼저 API Key 를 발급받아야 한다. OpenAI 계정을 만들고 billing 을 등록하는 등 과정을 거친 후 API Key 를 발급받을 수 있다. 자세한 과정은 아래 링크를 참고하자. - https://developers.openai.com/api/docs/quickstart#creat.. [로그 모니터링] Garafana 설치 앞선 글 (https://jammdev.tistory.com/282) 에서 로그 모니터링 시스템의 구조를 설계했다. 이어서 설계한 구조대로 로그 모니터링 시스템을 구성해 볼 것이다. 간단한 로그를 출력하는 app 을 두고 로그를 대시보드에서 모니터링 할 수 있도록 Fluent-bit, Loki, Grafana 를 설치할 것이다. 시스템 구성을 간편하게 하기 위해 호스트에 직접 설치하기 보다는 docker compose 를 사용하여 시스템을 구성할 것이다. 가장 먼저 Grafana 를 설치 과정을 정리해보았다.GrafanaGrafana 는 오픈 소스 소프트웨어로 여러 방식으로 설치할 수 있다. Debian, Ubuntu, Windows, macOS 등 다양한 OS 와 Docker, k8s 등 다양한 환경을.. [Docker Compose] command docker compose 를 사용하여 환경을 구성하다가 service 의 command 라는 명령어를 만나게 되었다. docker image 빌드시에도 ENTRYPOINT 나 CMD 와 같이 컨테이너 실행 시 수행할 명령어를 설정하는 속성들이 있었는데, docker compose 의 command 를 통해서 명령어를 설정할 수 있었다. 이들의 관계와 어떻게 동작하는지 헷갈리는 부분들을 이번 글에서 정리해보았다.1. docker compose 의 commandcommand 속성은 Dockerfile 의 CMD 와 같이 컨테이너 이미지에 기본적으로 선언되어 있는 기본 명령어, 컨테이너 동작 시 실행될 명령어를 오버라이드 한다. 만약 command 값이 null 이라면 이미지의 기본 명령어가 실행된다. 만약.. [로그 모니터링] Fluent-bit + Loki + Grafana 로그 모니터링 시스템 1. 기술 스택 선정회사에서 운영하는 서비스의 로그 시스템을 고도화하려고 준비중이다. 기존에는 프레임워크의 로그 모듈을 이용하여 stdout 으로 출력하거나 파일에 기록을 해서 보관해왔다. 그러나 서비스 규모도 커지고, 여러 컨테이너들이 동작하면서 로그 파일 관리, 로그 추적 및 디버깅 등이 어려워지기 시작했다. 이러한 문제들을 해결하기 위해 로그 저장, 검색 등을 보다 편리하게 할 수 있는 로그 모니터링 시스템을 설계하게 되었다. 초기에는 현업에서 많이 사용하는 ELK 스택을 검토했다. 아무래도 많이 사용하고 있기에 레퍼런스도 많았고, 로그를 문서 기반 데이터로 저장하면서 강력한 검색 및 분석 기능을 성숙한 기술이지만 아래와 같은 운영 부담도 존재했다. - 로그 전체를 인덱싱하면서 발생하는 저장 비용-.. [PostgreSQL] PgBouncer - auth_file, auth_type 회사에서 개발하는 서비스의 DB 로 PostgreSQL 을 사용하고 있는데, Application 에서 바로 PostgreSQL 에 접근하는 것이 아니라 PgBouncer 를 사용하여 PostgreSQL 에 접근하고 있다. Application 을 운영하면서 Application 의 DB 계정 정보, PgBouncer 의 pgbouncer.ini 와 userslist.txt 등을 보면서 여러가지 궁금증이 생겼다. Application 에서 PgBouncer 로 PostgreSQL 로 접근한다면 Application 에 설정된 계정 정보는 어떻게 사용되는건지, Pgbouncer 가 가지는 DB 정보와 중복되는 것인지, 둘 다 사용되는 것인지. 이러한 궁금증들을 해결하기 위해서 PgBouncer 의 auth.. [Python] uv 프로젝트 관리 기존 python 생태계는 pip 와 requirements.txt 조합으로 패키지 의존성 관리를 해왔다. 나도 동일하게 pip, requirements.txt, venv 등을 사용해서 프로젝트 환경 관리, 패키지 관리 등을 했다. 이번에 새로운 프로젝트를 진행하면서 팀원의 제안으로 uv 도입을 검토하게 되었다. uv 는 더 빠른 속도의 패키지 관리를 넘어 프로젝트 전반적인 관리까지 다양한 기능을 제공해 준다고 한다. 이 글에서는 uv 가 무엇인지, 어떤 기능을 제공해주는지, 그리고 기존의 pip 와 어떤 차이가 있는지를 정리한다.1. uv 란uv 는 Rust 로 개발된 빠른 속도를 자랑하는 파이썬 패키지 및 프로젝트 관리 도구이다. 기본적인 파이썬 패키지 설치, 의존성 관리 등의 기능뿐 아니라 가상환경.. 이전 1 2 3 4 ··· 35 다음