1. syslog
ㅇ 유닉스/리눅스에서 사용하는 일종의 `로그 생성/관리` 도구
ㅇ 데몬 프로그램 : syslogd
- 시스템 내 수많은 커널 경고, 디버깅 정보, 각종 메시지 출력 등에 대한 로그 정보를,
- syslogd API를 통해 받아서,
- 자신 또는 외부 서버 등에 일괄로 처리,기록하는 데몬을 말함
ㅇ 통신 프로토콜 : syslog 프로토콜
- 네트워크를 통해 다른 컴퓨터와 로그를 송수신하는 프로토콜 (RFC 3164)
※ 최근의 리눅스에서는, 보안 및 성능이 대폭 개선된 rsyslog로 대체됨
- 멀티스레드 지원, TCP 지원, SSL/TLS 지원 등
2. syslog 설정 환경
ㅇ 설정 파일 -> /etc/syslog.conf
- syslogd 데몬에서 참조하는 로그 발생을 위한 설정 파일
ㅇ 설정 형식 -> facility.level.action
- facility : 서비스 유형 지정
. 종류 例) auth (인증 관련 발생), authpriv, cron (cron 발생), kern (커널 발생),
daemon, lpr, mail, mark 등
. `*` : 모든 서비스 유형
- level : 로그 수준의 지정
. 종류 例) emerg (긴급 최우선), alert (즉각 조치 필요), err (일반 오류),
crit (하드웨어 심각 오류 발생), warning (경고), notice (관리 조치 필요) 등
. 위에 지정한 수준 이상의 이벤트가 발생하면, 그에따른 로그 남김
. `*` : 모든 수준의 로그 남김, `none` : 일체 로그 안 남김
- action : 로그를 어디에 남길지를 알림
. 종류 例) 화일, 원격지 syslog 서버, 프린터, 콘솔, 이메일 등
3. syslog 기록 및 확인
ㅇ 로그 파일 위치
- BSD 계열 : /usr/adm
- SVR 계열 : /var/adm
- Linux 등 : /var/log 및 /var/run
ㅇ 로그 메세지 형식
- mm/dd/yyyy:hh/mm/ss:facility-severity-mnemonic:description 등
ㅇ 로그 확인
- 로그 메세지들이 실시간 쌓이는 것을 확인 가능한 Linux/Unix 명령어 : tail
4. syslog 프로토콜
ㅇ 어떤 이벤트 발생시,
- 이를 자신의 로그 파일로 저장하는 동시에 syslog 서버로 UDP 유니캐스트로 전송함
ㅇ syslog 서버
- 로그 메세지들을 수집 관리하는 별도의 서버
ㅇ 사용 프로토콜 및 포트번호
- UDP 프로토콜 및 포트번호 514 사용
ㅇ 메세지 형식 구성
- facility (로그 메세지 유형), severity (로그 메세지 중요도), 메시지 (로그 내용)