본문 바로가기
  • 개발 로그를 기록하며,
    복습하고 깊이를 더해갑니다.
728x90

🌐OS29

[Linux] 웹 서비스 성능 이슈 파악하고 개선하기 배포한 웹 서비스에서 성능 이슈가 발생했을 때 기본적으로 확인 하고 조치할 수 있는 내용이다. 💾 Disk / Memory / CPU 리소스 점검확인 명령어설명조치 방법 iostat -x 1 5디스크 사용률 및 대기 시간 확인 (%util)%util 90% 이상이면 디스크 병목 → 로그 디렉토리 분리, SSD 교체 검토vmstat 1 5시스템 전체 리소스 사용 확인 (us, wa 등)wa가 높으면 디스크 병목, us가 높으면 CPU 과다 → 병목 코드, IO 집중 작업 분리df -h디스크 용량 확인/var/log, /tmp 디렉토리 정리, 오래된 로그, 백업 파일 삭제 등free -h메모리 사용량 확인swap 사용량이 많다면 서버 성능이 저하될 수 있다. 불필요한 process 제거, memory .. 2025. 4. 17.
[Linux] 디스크 파티션 검사/복구 하기 (with. Emergency) 서버가 강제로 다운되거나 장애가 발생한 직후 Emergency 모드로 진입하는 경우의 대처 방안. 개요서버 부팅 시 Emergency Mode로 진입하는 경우, 시스템의 주요 파일 시스템 손상 또는 마운트 실패 등으로 인해 정상적인 init 프로세스를 진행할 수 없을 때 발생한다. 이 글은 이러한 상황에 대한 원인 분석, 진단 방법, 복구 절차를 안내한다. 주요 원인원인설명/etc/fstab 오류존재하지 않는 장치를 마운트하려 하거나, UUID 또는 마운트 옵션 오류 등필수 파티션 마운트 실패/, /boot, /usr 등의 파티션이 정상적으로 마운트되지 않음파일 시스템 손상주로 fsck 오류로 감지되며, EXT4 또는 XFS에서 발생 가능디스크 I/O 오류 또는 인식 실패하드웨어 장애, 커넥터 불량, 블.. 2025. 4. 14.
[Linux] 시스템 로그 수집 및 확인하기 (with. rsyslog) 서버의 비정상적인 종료와 같은 장애가 발생할 때 원인을 파악하고 조치하기 위해서는 가장 먼저 시스템 로그를 확인해야 한다. 리눅스에서 시스템 로그를 확인하기 위해서는 표준 프로토콜인 syslog를 사용할 수 있다. 하지만 syslog의 표준을 구현하였고, 훨씬 빠르고 유연한 rsyslog (roket-fase syslog)를 사용하는 것이 더 유리하다. 💡 rsyslog란?정의:rsyslog는 시스템 로그를 수집, 저장, 전달하는 데 사용되는 데몬이다.기능 요약:다양한 입력(커널, 시스템, 애플리케이션)으로부터 로그 수집다양한 포맷으로 로그 저장원격 로그 서버로 로그 전송 가능 (중앙 집중식 로깅) ⁉️ 필요 이유 / 사용 시점문제 해결: 시스템 오류, 장애, 해킹 등 발생 시 원인 분석(서비스 .. 2025. 2. 3.
[Linux] 노트북으로 개인 Linux 서버 만들기 백엔드 개발자로 살다보면 서버가 필요한 경우가 많은데 그럴 때 마다 AWS를 사용하기에는 비용적인 부담이 크다.. 남는 노트북(PC)이 있다면 직접 서버를 만들어 사용하면 된다.  💡준비물 : 노트북, USB 혹시 이렇게 노트북 모니터가 깨져서 뽑아버렸다면 HDMI 케이블로 다른 모니터에 연결해주면 된다. ⏩️ 진행 단계 : Ubuntu 설치 - USB 부팅 디스크 만들기 - USB로 부팅 1. Ubuntu 설치*Ubuntu 말고 다른 배포판을 사용하고 싶다면 원하는 운영체제를 다운받으면 된다. 아래의 링크에서 Ubuntu Server 다운로드https://ubuntu.com/download/serverUbuntu Desktop도 있지만 서버로 사용할거면 굳이 GUI는 필요 없기 때문에 서버로 사용하는.. 2024. 10. 3.
[Mac] Shell(CLI) 환경에서 vscode로 파일 편집하기 CLI 환경에서 visual studio code를 활용하여 파일 편집 CLI(Vi editor)를 사용한 파일 편집  Linux나 Mac 등의 CLI 환경에서는 보통 vi, nano, gedit 등의 에디터를 사용하여 CLI 화면에서 파일을 편집한다. 하지만 CLI 환경에서 파일을 편집하다 보면 오타나 들여쓰기 등의 확인이 힘들고 수정도 불편한 경우가 많다. 이럴 경우 code 명령어를 사용하여 VSCode를 띄워서 IDE 상에서 문서나 코드를 작성/수정 할 수 있다.  IDE(VSCode)를 사용한 파일 편집 훨씬 보기 편하고 문법 확인이나 들여쓰기, 자동 완성 등 VSCode의 다양한 기능들도 사용할 수 있다. 설정 방법 로컬 환경에서 설정 방법은 매우 간단하다.VSCode를 실행하여 위의 검색창에.. 2024. 7. 15.
[Mac] Local 환경 SSH 사용(활성화) 하기 Mac 환경에서 ssh를 사용하려면 권한 부여와 활성화를 해줘야한다. 우선 현재 mac에서 ssh 접속이 가능한지 테스트 해보자.따로 설정을 하지 않은 상태에서 'ssh localhost' 명령을 치면 이렇게 22번 포트의 접속이 거부된 것을 확인할 수 있다.이때 정상적으로 ssh 접속이 된다면 그냥 잘 사용하면 된다. 'sudo systemsetup -getremotelogin' 명령을 사용하면 현재 remotelogin의 활성화 상태를 확인할 수 있는데 Off로 설정되어 있다면 비활성화 되어있는 것이다. ssh를 활성화 하려면 'systemsetup -setremotelogin on' 명령으로 remotelogin을 on해주면 되는데 보통 아래와 같이 디스크 접근 권한이 없을 것이기 때문에 먼저 te.. 2024. 6. 9.
[Linux & Postgres] TestServer DB 자동으로 Patch하기 TestServer DB에 DevServer DB 변경사항을 자동으로 반영하여 데이터베이스 구조 동기화  개발을 하면 보통 개발 환경, 운영 환경, 테스트 환경, 데모 환경 등 각각의 이유로 다양한 환경에서 개발하고 테스트하게 된다.이 때 서로 다른 서버의 Database에 각각의 데이터는 유지하되 DDL과 같이 Database(table)의 구조를 변경하는 작업에 대해서는 다른 서버의 Database에 똑같이 변경해줘야 한다. 이러한 작업을 위해서는 Liquibase, Flyway 등 다양한 방법이 있지만 나 같은 경우 개발 환경, 보안, 인증, 리소스 등 다양한 조건을 생각해본 결과 서버에서 직접 Script를 작성하여 동작시키는 것이 가장 좋은 방법이라고 생각하여 Script로 개발하였다. 개발 환.. 2024. 5. 25.
[Linux] 모니터링 파일을 유지시키며 내용만 제거 cp /dev/null ??text cpu 사용량이 가장 많았던 시간대 추출 sar -u | grep -v 'Average' | sort -nrk 9 | head -n 1 Disk io가 가장 높았던 시간대 추출 sar -b | grep -v 'Average' | sort -nrk 6 | head -n 1 모니터링 방법 yum install sysstat /usr/lib64/sa/sa1 1 1 sar 5분에 한번씩 쌓기 crontab -e */5 * * * * /usr/lib64/sa/sa1 1 1 모니터링 방법들 httpd서비스 cpu사용량 확인 database(maria) 메모리 사용량 확인 ~ 2023. 8. 27.
[Linux] 백업 / 복구 passwd파일에서 root가 들어간 라인만 찾음 cat /etc/passwd |grep root grep root /etc/passwd (같은 결과) grep은 현대 디렉토리 대상, find는 전체에서 찾음 패스워드가 비어있는 사용자 도출 awk -F: '{if ($2=="!!") print $1}' /etc/shadow cat /etc/shadow | awk -F: '{if ($2=="!!") print $1}' pw는 2번째 자리에 있으며, 없으면 !!으로 채워져있다. 7일 동안 변경된 파일 카운트 find / -ctime -7 | wc 사용자가 없는 파일 찾기 find -nouser | wc 소유자가 없는 파일의 소유자 id와 일치하는 계정이 있으면 해당 계정의 파일이 된다. (/etc/passw.. 2023. 8. 27.
728x90