[Jenkins] Built-In Node 오프라인 에러, Disk space is below threshold of 1.00GiB
·
Infra
1. 문제1) 문제 상황Jenkins의 Built-In Node가 Disk space is below threshold 경고와 함께 오프라인 상태로 바뀌었습니다.빌드는 대기상태로 바뀌었고 Jenkins 화면에는 디스크 부족 경고가 떠 있었습니다. Jenkins의 내부 모니터링 로직이 /var/jenkins_home에 충분한 공간이 없다고 판단하고 오프라인 상태로 바꿔버린것 이었습니다.Jenkins로 빌드할때 주로 Docker를 사용하기에 Docker 사용상태를 확인해보았습니다.# docker 사용상태 확인docker system df  확인 결과 Build Cache가 엄청나게 쌓여있는것을 확인하였습니다. 2) 문제 발생 원인먼저 Docker로 이미지를 빌드할때는 레이어라는게 계층적으로 쌓여서 최종 이미..
[Infra] Grafana, Loki로 Docker 컨테이너 모니터링 하기, 로그 모니터링 시스템 구축하기
·
Infra
블로그에 새로운 스킨을 적용해봤습니다.적응 안되긴하는데 조금씩 커스텀해가면서 사용해보려고합니다.1. 배경 및 목표여러가지 문제가 있었습니다.기존에는 docker logs와 grep을 활용하여 컨테이너 로그를 확인하곤 하였습니다.CLI 환경에서 로그를 확인하는것이 불편하고 원하는 내용만 필터링하기 어려웠습니다. 로그백을 활용하여 error 로그만을 저장하고 확인하였지만 의미있는 내용을 탐색하기 쉽지 않았습니다.또한 Blue, Green 방식의 무중단 배포를 적용하였고 번갈아 올라오는 두 컨테이너의 로그를 한번에 확인하고 저장하여야 하였습니다. 이러한 애로사항을 해결하기 위해 설정한 목표는 다음과 같습니다.Docker 컨테이너의 로그를 사용로그를 저장하여 관리Blue, Green 두 컨테이너의 로그를 하나로..
[Infra] Docker Certbot 인증서 발급 에러, Connection refused status: 400 에러, docker compose certbot 에러
·
Infra
요즘 회사 서비스에 blue, green 무중단 배포를 적용하고 있습니다.오늘 터진 문제는 개발 환경을 만드는 상황에서 터진 문제입니다. 문제docker compose를 이용해 Let's encrypt 인증을 받고, nginx를 띄우려는데 400에러가 발생하였습니다.docker-compose 파일에는 spring project, nginx, certbot, redis 컨테이너에 대한 내용이 있었습니다.docker-compose.yml, nginx.conf 파일을 도메인 부분을 변경하는 등 테스트 환경에 맞게 수정 후 실행했습니다.docker ps 명령어로 제대로 작동하는지 확인했지만 nginx에서 문제가 발생하는듯 했습니다. 자꾸 nginx가 재시작 하고있었습니다.nginx 로그를 확인했습니다.로그를 확..
[DB] MySQL workbench로 mySQL, mariaDB import, export, DB 내용 옮기기, dump import
·
카테고리 없음
되게 오랜만에 포스팅을 하는것 같습니다.논건 아니고.. 공모전도 하고.. 취업도 하고.. 회사일도 하느라 좀 바빴습니다.한동안은 회사일을 하면서 공부한 내용들을 위주로 포스팅 하지 않을까 싶습니다.저는 지금 회사에서 사수가 없습니다.문제상황에 직면했을 때 해결은 할 수 있는데, 올바른 방식인지는 확신이 안서더라구요.드리고 싶은 말씀은 제 포스팅은 적용 방법만 보시고, 어떤 상황에 적용할지는 고민을 좀 더 하셨으면 좋겠다는 것 입니다. 뭐 취준생일때나 개인 프로젝트 할때 보시면 크게 문제는 안될것같습니다.문제회사 프로젝트에 새로운 기능을 추가해야 할 일이 생겼습니다.원래는 기존 프로젝트의 구조를 최대한 해치고 싶지 않았지만, 불가피하게 변경이 필요한 상황이였습니다.운영중인 DB로 바로 작업하고 테스트를 하..
[Spring, Redis, Infra] Redis 비밀번호 설정, RedisConnectionFailureException, Unable to connect to Redis 에러
·
카테고리 없음
현재 관광데이터 활용 공모전에 참가중입니다.저는 인프라, 백엔드를 맡았습니다.막바지에 다다르고 있네요 관련해서 포스팅 할게 많은데 끝나고 하겠습니다..ㅎㅎ오늘 문제는 redis 비밀번호 설정 중 빠뜨린 설정이 있어서 발생한 문제인데 전체적인 비밀번호 설정 과정을 포스팅 하는것이 더 나을것같아서 그렇게 진행하겠습니다.바쁘신 분들은 문제해결 및 Redis비밀번호 설정 구현 만 보시면 됩니다.문제문제는 Redis 비밀번호 설정 중 일어났습니다.Redis를 이용한 Cache 처리를 하면서 비밀번호 처리를 통해 보안을 강화하고자 했고 그 과정에서 에러가 발생했습니다. Docker logs를 통해 backend 컨테이너의 에러를 파악해본 상태입니다.RedisConnectionFailureException: Unab..
[Infra] npm Unable to authenicate 에러, npm ERR! code401, .npmrc 에러
·
Infra
현재 관광데이터 활용 공모전에 참가중입니다.저는 인프라, 백엔드를 맡았습니다.오늘은 배포 과정에서 있었던 문제에 관해 포스팅 해보겠습니다. 문제문제는 프론트엔드 프로젝트 빌드 중 일어났습니다. 배포 실패 알림이 왔고 Jenkins를 확인해 보았습니다.  보면 npm install을 하던 도중 authenticate 관련 오류가 발생한것을 확인할 수 있었습니다. 프론트엔드의 Dockerfile은 다음과 같이 작성되어 있었습니다.FROM node:18.17.1-alpine AS builder# 컨테이너 내부 작업 디렉토리 설정WORKDIR /usr/src/app# 컨테이너 내부로 package.json 파일들 복사COPY package* .# package.json 및 package-lock.json 파일에..