Server 40

journalctl 로그 관리 - 설정과 보관 기간 다루기

journalctl은 로그를 확인하는 도구지만, 실제 로그가 어떻게 저장되고 얼마나 오래 보관되는지는 systemd의 저널 데몬 설정(systemd-journald)에 의해 결정된다. 이번 글에서는 로그가 저장되는 경로, 설정 방법, 그리고 보관 기간을 조절하는 방법까지 함께 살펴본다. 1. 로그 저장 위치는 어디인가?journal 로그는 /etc/systemd/journald.conf 파일의 Storage 옵션에 따라 저장 위치가 달라진다.Storage 설정 값로그 저장 위치설명volatile/run/log/journal메모리 저장. 재부팅 시 로그 소멸persistent/var/log/journal디스크 저장. 재부팅 후에도 유지auto (기본값)자동 감지/var/log/journal 폴더가 있으면..

Server/Linux 2025.06.20

journalctl이란? systemd의 로그 뷰어

Linux 시스템에서는 다양한 로그가 발생한다. 과거에는 syslog, rsyslog 등의 시스템 로그 데몬을 통해 로그를 관리했지만,modern Linux 배포판에서는 systemd가 기본 init 시스템으로 자리 잡으면서 journalctl이라는 로그 관리 도구가 함께 제공된다. 1. journalctl의 개요journalctl은 systemd journal 로그를 조회하고 관리하는 명령어 도구이다.시스템 부팅 로그, 서비스 상태 로그, 커널 메시지 등을 통합적으로 관리하며, 로그 필터링 및 검색 기능도 제공한다. 2. 기존 syslog와의 차이점 항목syslogjournalctl (systemd)로그 포맷텍스트 중심바이너리 로그 (압축, 메타데이터 포함)저장 위치/var/log/messages 등..

Server/Linux 2025.06.20

DNS란 무엇인가? 인터넷의 주소를 번역하는 시스템

DNS의 정의DNS(Domain Name System)은 인터넷에서 사용하는 도메인 이름을 IP 주소로 변환하는 시스템이다.우리가 naver.com 이나 tistory.com 같은 주소를 입력했을 때, 실제 통신은 이 도메인에 해당하는 IP주소로 이루어진다.DNS는 이 중간 과정을 처리하는 역할을 한다. 왜 필요한가?컴퓨터는 문자열 형태의 도메인 이름을 이해하지 못한다.인터넷 통신은 결국 숫자로 이루어진 IP 주소를 통해 이루어지며, DNS는 이 IP를 자동으로 찾아주는 주소 변환기 역할을 한다. 예를 들어 사용자가 웹 브라우저에 naver.com 을 입력하면, 시스템은 다음과 같은 과정을 거친다.naver.com → DNS 서버에게 질의DNS 서버가 해당 도메인에 대한 IP 주소 반환해당 IP로 HT..

Server 2025.05.21

[Ubuntu 18.04] 웹 크롤링 중 getaddrinfo EAI_AGAIN 에러 발생, DNS관련 이슈 해결기

문제 상황최근 Node.js 기반으로 cheerio 를 사용해 티스토리 게시글을 크롤링하는 스크립트를 작성했다.로컬 PC에서는 잘 작동했지만, 운영환경(AWS EC2, Ubuntu 18.04) 에서는 다음과 같은 에러가 발생했다. 해당 URL은 정상적인 티스토리 블로그 주소였고, 로컬에선 문제없이 동작했기에 더욱 당황스러웠다. 원인 분석EAI_AGAIN 은 Node.js 내부의 getaddrinfo 호출에서 발생하는 에러로, 보통 DNS* 조회 실패를 의미한다.(DNS에 대해서 궁금하다면 관련포스팅을 참고하자.) 운영 서버에서 다음 명령어로 테스트해봤다.curl https://티스토리주소.tistory.comnslookup tistory.com 그러나 둘 다 실패했다. 즉, 서버 자체가 외부 DNS를 ..

Server 2025.05.21

RESTful API 디자인 마스터하기: 실용적인 가이드

오늘은 dev.to 사이트에서 RESTful API 디자인 관련 유용한 포스팅이 있어서, 직접 한글로 번역하여 포스팅하게 되었다.[원본 포스팅: https://dev.to/leapcell/mastering-restful-api-design-a-practical-guide-408]RESTful API(Representational State Transfer API)는 네트워크 애플리케이션 간 상호작용에 사용되는 네트워크 인터페이스 디자인 스타일이다. REST는 특정한 표준이나 프로토콜이 아니라, 아키텍처 원칙과 제약 조건의 집합이다.웹 서비스가 "RESTful" 일 때 REST원칙을 따르고 효율적이고 안정적이며 확장 가능한 네트워크 서비스를 제공한다. RESTful 서비스에서 각 요청는 요청을 처리하는데 ..

Server 2025.02.23

IIS에서 초기 로딩 속도 개선하기: 앱 풀 유지 및 Preload Enabled 설정

IIS에서 ASP.NET MVC 애플리케이션을 운영하다 보면 첫 요청 속도가 느려지는 문제를 겪을 수 있다.이는 앱 풀(Application Pool) 재활성화 정책 또는 서버 재부팅 시 초기 로딩이 필요하기 때문이다. 이번 포스트에서는 앱 풀 유지 및 "Preload Enabled" 관련 설정을 적용하여 서버 재시작 후에도 애플리케이션이 항상 실행되도록 설정하는 방법을 정리하고자 한다. 1. IIS 앱 풀 재활성화 주요 원인IIS의 앱 풀은 일정 시간이 지나면 비활성화되거나 재시작될 수 있으며, 이 과정에서 모든 어셈블리와 View가 다시 로드되어 초기 로딩 시간이 길어질 수 있다. 이는 기본적인 앱 풀 재활성화 정책 때문이다. (1) Idle Timeout - 기본적으로 IIS는 일정 시간(기본값: ..

Server 2025.02.22

AWS EC2 볼륨 확장 후 기존 파티션에 추가 용량 할당(Ubuntu 18.04)

AWS EC2에 사용중인 Ubuntu 18.04 서버가 있는데, 디스크가 또 꽉 차서 볼륨을 확장하게 되었다.  다행히 AWS서는 볼륨을 쉽게 확장할 수 있지만, OS에서 추가된 용량을 인식하고 기존 파티션에 합쳐서 사용할 수 있도록 하는 추가 작업이 필요하다. 이번 포스팅에서는 Ubuntu 18.04 버전의 EC2 인스턴스의 EBS볼륨을 확장한 후, 기존 파티션에 새롭게 추가된 공간을 합쳐서 사용하는 방법을 정리해보겠다. 또한 예외적으로 기존 파티션이 가득 차서 확장이 불가능할 때 해결하는 방법도 함께 소개한다.  1. 현재 디스크 상태 확인볼륨을 확장한 후, EC2 인스턴스에 SSH로 접속하여 디스크 상태를 확인한다.lsblk 여기서 xvda 볼륨이 22GB로 증가했지만, 기존 루트 파티션 xvda1..

Server/Linux 2025.02.09

GitHub Actions를 활용한 React 애플리케이션의 EC2 배포

이 포스팅에서는 GitHub Actions를 사용하여 React 애플리케이션을 AWS EC2 인스턴스에 자동으로 배포하는 방법을 설명한다. (이전 CI 포스팅에서는 Docker를 활용하여 CI/CD를 구성하려고 계획하였으나.. 사용하는 EC2의 자원으로는 턱없이 부족해서 컨테이너만 띄웠다 하면 인스턴스가 멍텅구리처럼 멈추는 현상이 발생했다. 그래서 그냥 빌드된 파일을 직접 nginx가 띄울수 있게 던져주기로..) *시스템 환경구성 일자: 2024-08-09AWS EC2 Instance: Ubuntu 18.04Local PC: Windows 10React: 18.3.1    1. GitHub Actions를 활용한 배포1.1 CD(Continuous Deployment) 워크플로우 설정CD 워크플로우는 새..

Server 2024.08.09

[Docker] Ubuntu 18.04에서 Docker Hub 사용하여 이미지 Pull 및 실행하기

오늘은 Ubuntu 18.04에서 Docker Hub를 사용하여 이미지를 Pull하고 실행하는 방법을 정리해보고자 한다. 전제조건- Ubuntu 18.04 운영체제- Docker가 설치되어 있어야 함  1. Docker Hub에 로그인Docker Hub에 로그인하려면 다음 명령어를 사용한다.sudo docker login 로그인 명령어를 입력하면 Docker Hub의 사용자 이름과 비밀번호를 묻는 프롬프트가 나타난다. 해당 정보를 입력하면 Docker Hub에 로그인된다. 로그인에 성공하면, "Login Succeded" 라는 출력이 표시된다.   2. Docker 이미지 PullDocker Hub에서 이미지를 가져오려면 다음 명령어를 사용한다.sudo docker pull /:(``와 ``를 원하는 레..

Server/Docker 2024.07.16

GitHub Actions + Docker로 CI환경 구축

오늘은 GitHub Actions와 Docker로 구성된 CI 환경을 구축하는 방법을 포스팅해보려 한다. 개발하고 있는 React APP의 CI/CD 환경을 구축하기에 앞서 초석을 다지기 위한 CI 구축 단계라고 이해하면 된다.  작업의 흐름은 다음과 같다.소스코드 PushGitHub Actions 동작GitHub Runner가 업데이트된 소스 코드가 반영된 Docker Image 생성생성된 Docker image를 Docker Hub에 푸시  이제 이 구성을 세팅하는 방법을 알아보자.1. GitHub Actions workflow (yml파일) 생성GitHub의 repository 페이지에서 "Actions" > "New workflow" 를 누른다.  그런 다음, Choose a workflow에서 ..

Server 2024.07.13
반응형