본문 바로가기

Linux

(14)
로깅 : 대규모 로그 관리 04. 대규모 로그 관리 1. 대규모 로그 - 서비스의 규모가 커짐에 따라 서버에 직접 접속해서 로그를 확인하는 것은 어려워짐 - 특히 오토 스케일링 구성을 한 경우는 서버가 동적으로 생성 및 삭제가 되므로 로그도 삭제가됨 - 로그를 모으고 효과적으로 관리하기 위한 여러가지 오픈소스 도구 및 SaaS 서비스들이 존재 2. ELK 스택 - Elasticsearch, Logstash, Kibana 세 가지 도구를 묶어서 부름 - 호환이 잘되고 합쳤을 때 시너지가 좋기 때문에 보통 같이 구성해서 사용함 - Elasticsearch : 검색 및 분석 엔진 - Logstash : 여러 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch로 전송 (Logstash의 부하를 줄이기 위해 데이터 수집에..
로깅 : 로그 관리 03. 로그 파일 관리 1. logrotate - 모든 리눅스 배포판의 표준 로그 관리 유틸리티 - 다양한 관리 정책이 구현됨 - /etc/logrotate.conf 또는 /etc/logrotate.d/ 디렉토리 내 설정 파일들이 cron에 의해 매일 1회 수행됨 - 주요 옵션 compress : 현재 버전이 아닌 모든 log 파일들을 압축 daily, weekly, monthly : 지정된 일정대로 로그 파일들을 로테이션 delaycompress : 현재와 가장 최근 버전을 제외한 모든 버전을 압축 endscript : prerotate나 postrotate 스크립트의 끝을 표시 errors emailaddr : 지정된 이메일로 오류 알림 메시지를 보냄 missingok : 로그 파일이 존재하지 않는 ..
로깅 : syslog의 이해 02. syslog의 이해 1. syslog - journal로 로그 확인이 가능하지만 syslog도 같이 사용되고 있음 - 이전에 사용하던 syslogd 대신 syslog와 호환이 유지되면서 기능이 확장된 rsyslogd 사용 - syslog는 IETF 표준 로깅 프로토콜(RFC 5424)을 따름 - 개발자에게 로그 파일을 작성하는 메커니즘을 제공 - 시스템 관리자는 소스(facility), 중요도(severity level)에 따라 메시지 정렬과 다양한 목적지로 경로를 전환 및 내용을 변경할 수 있는 통제권을 가짐 - 로그 형식 : 타임스탬프, 호스트명, 프로세스 이름[PID], 메시지 2. syslog 설정 - /etc/rsyslog.d 디렉토리 밑에 conf 파일들 사용 - 소스, 중요도, 로그 ..
로깅 : 리눅스 로깅 이해 01. 리눅스 로깅 이해 1. 로그 관리 - 로그는 시스템을 분석하는데 필수 자료 - 시스템 데몬, 커널, 어플리케이션 로그 등 로그를 수집해 가시성을 확보해야함 - 로그 파일 크기 증가로 Disk full 발생 등을 방지하기 위해 적절한 로그 사이즈 조정 및 삭제하는 관리 정책이 필요 - 일정 기간 후 일괄 폐기하기 보다는 폐기전에 요약, 필터링, 검색, 분석, 압축, 저장 권장 - 접근 및 회계 감사 기록들은 데이터 유지 규정이나 사이트 보안 정책에 따라 관리되야 함 2. 로그 관리 방법 : syslog - 전통적인 리눅스 로그 관리 방법 - 유닉스/리눅스는 syslog 시스템을 통해 로그를 관리해 옴 - 로그 메시지를 제출하기 위한 표준화된 인터페이스를 제공 - 메시지를 분류해 파일에 저장하거나 네..
사용자 관리 : 사용자 추가 02. 새로운 사용자 추가 1. 명령어를 사용한 사용자 생성 - useradd : 사용자 계정 생성 - usermod : 사용자 계정 수정 - userdel : 사용자 계정 삭제 예) 사용자 생성 : useradd user1 기본 쉘을 지정해서 사용자 생성 : useradd -s /bin/bash user1 사용자 삭제 : userdel jane -r 2. 수작업으로 사용자 생성 - 사용자 계정을 정의하기 위한 /etc/passwd와 /etc/shadow 파일 편집 - 필요한 경우 사용자를 /etc/group 파일에 추가 (예, sudo 사용자 추가) - 사용자 홈 디렉토리 생성 후 /etc/skel/ 디렉토리의 파일들 복사 *명령어를 사용해 사용자를 생성하면 홈 디렉터리에 /etc/skel 디렉토리 내..
사용자 관리 : 사용자 관리의 이해 01. 사용자 관리의 이해 1. 사용자, 그룹 관리 - /etc/passwd, /etc/shadow, /etc/groups 파일을 사용하는 유닉스에서 사용되던 전통적인 계정 모델을 사용 - Active Directory 같은 디렉토리 서비스와의 통합 가능 2. UID - 사용자를 식별하는 숫자 - 리눅스의 사용자 계정관리는 UID를 기준으로 동작 3. /etc/passwd - 시스템이 인식하는 사용자들의 목록 - 필드 순서와 내용 로그인명, 암호화된 암호, UID, GID, 사용자정보, 홈 디렉토리, 로그인 쉘 순서 - 로그인명: 고유한 사용자 이름 - 암호화된 암호 : /etc/shadow에 패스워드가 저장 - UID: 루트 유저는 UID가 0, 실제 사용자는 1000번 이상의 UID를 배정. UID는..
파일시스템 : 파일 타입 및 속성 이해 04. 파일 타입 및 속성의 이해 1. 파일 타입 - 일반 파일, 디렉토리, 문자(character) 장치 파일, 블록 장치 파일, 심볼릭 링크, 로컬 도메인 소켓, 네임드 파이프 7가지 타입이 존재 - file 명령어로 확인 가능 예) file /etc/hosts - 일반 파일은 cp, mv, touch, rm 등으로 조작 - 디렉토리는 mkdir, rmdir, rm -r로 조작 2. 하드 링크, 심볼릭 링크 - 하드 링크: 원본 파일에 대한 직접적인 참조, 생성: ln TARGET LINK_NAME i-number가 동일하게 생성됨, 원본 삭제 시에도 동일한 내용 확인 가능 원본과 동일한 이름의 새 파일을 만들어도 내용 유지됨 - 심볼릭 링크: 원본 파일의 이름을 가리킴, 생성: ln -s TARGE..
파일시스템 : 파일시스템, 마운트 01. 파일시스템의 이해 1. 파일 시스템 - 스토리지 장치에 파일을 명명하고, 저장하고, 읽어내는 방법을 제공하는 시스템 - 파일 시스템 설계 목적, 스토리지, 워크로드에 맞게 다양한 파일 시스템이 존재 2. 역할 - 공간 관리 : 파편화 관리, HDD 회전 시간 등을 고려해서 공간 배치 - 파일 이름 관리 : 이름 길이, 특수 문자, 대소문자 구분 여부 등 - 디렉토리 관리 : 디렉토리 정보 관리 예) HDD의 경우 부모 디렉토리 정보를 참고해서 동일 디렉토리는 인접 물리적 위치에 기록(flash는 해당 없음) - 메타 데이터 관리 : 파일 길이, 권한, 디바이스 타입, 수정 시간, 기타 속성 등 - 장애 관리 : 시스템 장애시 파일 유실 방지(저널링 등) 3. 디스크 기반 파일 시스템 - 시스템에 ..