단일 섀시 시스템의 시스템 로깅
단일 섀시 시스템 로깅 구성 개요
Junos 시스템 로깅 유틸리티는 UNIX syslogd
유틸리티와 유사합니다. 이 섹션에서는 Junos OS를 실행하는 단일 섀시 시스템에 대한 시스템 로깅을 구성하는 방법을 설명합니다.
공통 기준 환경에서 Junos-FIPS 소프트웨어 및 주니퍼 네트웍스 디바이스에 대한 시스템 로깅 구성은 Junos OS와 동일합니다. 자세한 정보는 공통 기준 및 Junos-FIPS에 대한 보안 구성 가이드를 참조하십시오.
TX Matrix 라우터와 T640 라우터로 구성된 라우팅 매트릭스의 시스템 로깅 구성에 대한 자세한 내용은 TX Matrix 라우터의 시스템 로깅 구성을 참조하십시오.
각 시스템 로그 메시지는 관련 메시지를 함께 그룹화하는 기능에 속합니다. 또한 각 메시지에는 트리거 이벤트가 라우터 기능에 얼마나 심각한 영향을 미치는지를 나타내는 심각도 수준이 미리 할당됩니다. 항상 로그에 포함할 메시지의 기능 및 심각도를 지정합니다. 자세한 정보는 로그에 포함할 메시지의 기능 및 심각도 지정을 참조하십시오.
계층 수준에서 적절한 문을 포함하여 하나 이상의 대상으로 메시지를 보냅니다.[edit system syslog]
문을 포함하여
file
로컬 파일 시스템의 명명된 파일에 추가합니다. 시스템 로그 메시지를 로그 파일로 전달을 참조하십시오.하나 이상의 특정 사용자(또는 모든 사용자)의 터미널 세션에 대해 명령문을 포함하여
user
라우터에 로그인한다. 시스템 로그 메시지를 사용자 터미널로 전달하기를 참조하십시오.명령문을 포함하여
console
라우터 콘솔에 전송합니다. 시스템 로그 메시지를 콘솔로 전달을 참조하십시오.-
유틸리티를 실행 syslogd 중인 원격 시스템으로, 문을 포함합니다
host
. 원격 시스템으로 시스템 로그 메시지 전달을 참조하십시오.
기본적으로 메시지는 UNIX 시스템 로그 형식을 기반으로 하는 표준 형식으로 기록됩니다. 메시지 서식에 대한 자세한 내용은 시스템 로그 탐색기를 참조하십시오. 다음과 같은 방법으로 기록된 메시지의 내용과 형식을 변경할 수 있습니다.
표준 Junos 형식 대신 구조화된 데이터 형식의 파일에 메시지를 기록할 수 있습니다. 구조화된 데이터 형식은 긴 시간을 추가하지 않고도 더 많은 정보를 제공하며 자동화된 애플리케이션이 메시지에서 정보를 더 쉽게 추출할 수 있도록 합니다. 자세한 내용은 Logging Messages in Structured-Data Format을 참조하십시오.
메시지의 기능 및 심각도 수준을 함께 우선 순위라고 합니다. 기본적으로 메시지에 대한 표준 Junos 형식에는 우선 순위 정보가 포함되지 않습니다(구조화된 데이터 형식에는 기본적으로 우선 순위 코드가 포함됨). 파일 또는 원격 대상으로 전달되는 표준 형식 메시지에 우선순위 정보를 포함하려면 문을 포함합니다
explicit-priority
. 자세한 내용은 시스템 로그 메시지에 우선 순위 정보 포함을 참조하십시오.기본적으로 메시지에 대한 표준 Junos 형식은 메시지가 기록된 월, 일, 시간, 분 및 초를 지정합니다. 표준 형식 시스템 로그 메시지의 타임스탬프를 수정하여 연도, 밀리초 또는 둘 다를 포함할 수 있습니다. (구조화된 데이터 형식은 기본적으로 연도와 밀리초를 지정합니다.) 자세한 내용은 타임스탬프에 연도 또는 밀리초 포함을 참조하십시오.
-
원격 시스템으로 메시지를 보낼 때 메시지에 보고되는 IP 주소를 소스로 지정할 수 있습니다. 또한 Junos OS에서 생성된 메시지와 특정 디바이스에서 생성된 메시지를 쉽게 분리할 수 있는 기능을 구성할 수도 있습니다. 자세한 내용은 원격 컴퓨터로 시스템 로그 메시지 전달을 참조하십시오.
사전 정의된 기능은 관련 메시지를 함께 그룹화하지만, 정규 표현식을 사용하여 기능에서 파일, 사용자 터미널 또는 원격 대상에 기록되는 메시지를 보다 정확하게 지정할 수도 있습니다. 자세한 내용은 문자열 및 정규식을 사용하여 로깅된 메시지 집합 구체화를 참조하십시오.
커밋 검사 중에는 구성에 대한 traceoptions 경고(예: 추적 파일 크기 또는 추적 파일 수의 불일치)가 콘솔에 표시되지 않습니다. 그러나 이러한 경고는 새 구성이 커밋될 때 시스템 로그 메시지에 기록됩니다.
Junos OS 시스템 로그 구성 명령문
시스템 메시지를 기록하도록 스위치를 구성하려면 계층 수준에서 명령문을 [edit system]
포함합니다syslog
.
[edit system] syslog { archive <files number> <size size> <world-readable | no-world-readable>; console { facility severity; } file filename { facility severity; archive <archive-sites (ftp-url <password password>)> <files number> <size size> <start-time "YYYY-MM-DD.hh:mm"> <transfer-interval minutes> <world-readable | no-world-readable>; explicit-priority; match "regular-expression"; structured-data { brief; } } host hostname { facility severity; explicit-priority; facility-override facility; log-prefix string match "regular-expression"; } source-address source-address; time-format (year | millisecond | year millisecond); user (username | *) { facility severity; match "regular-expression"; } }
Junos OS 최소 시스템 로깅 구성
시스템 로그 메시지를 기록하거나 보려면 계층 수준에서 문을 [edit system]
포함해야 syslog
합니다. 에 표 1설명된 대로 메시지의 대상을 하나 이상 지정합니다. 구성 문에 대한 자세한 내용은 단일 섀시 시스템 로깅 구성 개요를 참조하십시오.
목적지 |
최소 구성 문 |
---|---|
파일 |
[edit system syslog] file filename { facility severity; } |
한 명, 여러 명 또는 모든 사용자의 터미널 세션 |
[edit system syslog] user (username | *) { facility severity; } |
라우터 또는 스위치 콘솔 |
[edit system syslog] console { facility severity; } |
라우터나 스위치의 원격 머신 또는 다른 라우팅 엔진 |
[edit system syslog] host (hostname | other-routing-engine) { facility severity; } |
예: 시스템 로그 메시지 구성
QFabric 시스템은 구성 요소 디바이스에서 발생하는 이벤트를 모니터링하고 해당 이벤트에 대한 시스템 로그 메시지를 구성된 모든 외부 시스템 로그 메시지 서버(호스트)에 배포합니다. 구성 요소 디바이스에는 노드 디바이스, 인터커넥트 디바이스, 디렉터 디바이스 및 Virtual Chassis가 포함될 수 있습니다. 메시지는 보기 위해서만 QFabric 시스템 데이터베이스에 저장됩니다. 메시지를 보려면 명령을 실행합니다 show log
.
이 예에서는 QFabric 시스템에서 시스템 로그 메시지를 구성하는 방법을 설명합니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
Junos OS 릴리스 12.2
QFabric 시스템
시스템 로그 메시지 호스트로 구성할 수 있는 외부 서버
개요
시스템 로그 메시지 이벤트를 생성하는 구성 요소 디바이스에는 노드 디바이스, 인터커넥트 디바이스, 디렉터 디바이스 및 컨트롤 플레인 스위치가 포함될 수 있습니다. 다음 구성 예에는 QFabric 시스템의 이러한 구성 요소가 포함되어 있습니다.
디렉터 그룹에서 실행되는 디렉터 소프트웨어
컨트롤 플레인 스위치
인터커넥트 디바이스
다중 노드 장치
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.
set system syslog host 10.1.1.12 any error set system syslog file qflogs set system syslog file qflogs structured-data brief set system syslog file qflogs archive size 1g
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
QFabric Director 디바이스에서 시스템 메시지를 구성하려면 다음을 수행합니다.
호스트, 모든 시설 및
error
심각도 수준을 지정합니다.[edit system syslog] user@switch# set host 10.1.1.12 any error
주:둘 이상의 시스템 로그 메시지 서버(호스트)를 구성할 수 있습니다. QFabric 시스템은 구성된 각 서버에 메시지를 보냅니다.
(선택 사항) 로그 메시지를 캡처할 파일 이름을 지정합니다.
주:QFabric 시스템에서 라는 messages syslog 파일은 시설 및 심각도 수준
any any
과 100MB의 파일 크기로 암시적으로 구성됩니다. 따라서 구성에서 파일 이름을 messages 지정할 수 없으며 해당 파일 이름에 대해 자동 명령 완성이 작동하지 않습니다.[edit system syslog] user@switch# set file qflogs structured-data brief user@switch# set file qflogs
(선택 사항) 시스템 로그 메시지 아카이브 파일의 최대 크기를 구성합니다. 이 예에서는 아카이브 크기를 1GB로 지정합니다.
[edit system syslog] user@switch# set file qflogs archive size 1g
결과
구성 모드에서 show system
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
[edit] user@switch# show system syslog { file qflogs { } host 10.1.1.12 { any error; } }
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다.
구조화된 데이터 형식의 로그 메시지
표준 Junos OS 형식 대신 구조화된 데이터 형식으로 파일에 메시지를 기록할 수 있습니다. 구조화된 데이터 형식은 긴 길이를 추가하지 않고도 더 많은 정보를 제공하며 자동화된 애플리케이션이 메시지에서 정보를 더 쉽게 추출할 수 있도록 합니다.
구조화된 데이터 형식은 https://tools.ietf.org/html/rfc5424 에 있는 인터넷 표준 RFC 5424, Syslog 프로토콜을 준수합니다. RFC는 기록된 메시지의 소스 또는 전송 프로토콜에 관계없이 표준 메시지 형식을 설정합니다.
구조화된 데이터 형식의 파일에 메시지를 출력하려면 계층 레벨에서 [edit system syslog file filename]
문을 포함합니다structured-data
.
[edit system syslog file filename] facility severity; structured-data { brief; }
선택적 brief
문은 오류 또는 이벤트를 설명하기 위해 메시지 끝에 기본적으로 표시되는 영어 텍스트를 표시하지 않습니다.
구조화된 형식은 Junos 프로세스 또는 소프트웨어 라이브러리에서 생성되는 파일에 기록된 모든 메시지에 사용됩니다.
문과 함께 structured-data
및 time-format
문 중 explicit-priority
하나 또는 둘 다를 포함하면 무시됩니다. 이러한 명령문은 구조화된 데이터 형식이 아닌 표준 Junos OS 시스템 로그 형식에 적용됩니다.
로그 파일 크기, 개수 및 보관 속성 지정
로그 파일이 너무 커지는 것을 방지하기 위해 기본적으로 Junos OS 시스템 로깅 유틸리티는 정의된 크기의 파일 시퀀스에 메시지를 씁니다. 시퀀스의 파일은 메시지가 현재 기록되고 있는 활성 파일과 구별하기 위해 아카이브 파일이라고 합니다. 기본 최대 크기는 플랫폼 유형에 따라 다릅니다.
128KB(EX 시리즈 스위치)
M 시리즈, MX 시리즈 및 T 시리즈 라우터의 경우 1MB
TX Matrix 또는 TX Matrix Plus 라우터의 경우 10MB
QFX 시리즈용 1MB
라는 logfile 활성 로그 파일이 최대 크기에 도달하면 로깅 유틸리티는 파일을 닫고 압축한 다음 압축된 아카이브 파일의 logfile.0.gz이름을 지정합니다. 그런 다음 로깅 유틸리티가 열리고 라는 새 활성 파일에 logfile씁니다. 이 프로세스를 파일 회전이라고도 합니다. 새 logfile 항목이 구성된 최대 크기에 도달하면 의 이름이 logfile.1.gz변경되고, logfile.0.gz 새 logfile 의 이름이 닫히고, 압축되고, 이름이 바뀝니다logfile.0.gz. 기본적으로 로깅 유틸리티는 이러한 방식으로 최대 10개의 아카이브 파일을 작성합니다. 최대 아카이브 파일 수에 도달하고 활성 파일의 크기가 구성된 최대 크기에 도달하면 현재 활성 파일이 마지막 아카이브된 파일의 내용을 겹쳐씁니다. 또한 로깅 유틸리티는 기본적으로 로그 파일을 root
읽을 수 있는 사용자를 Junos OS maintenance
권한이 있는 사용자와 제한합니다.
Junos OS는 로그 파일 크기를 확인하는 시간 간격을 구성하여 시스템 로그 파일 회전 빈도를 구성하는 구성 문을 log-rotate-frequency
제공합니다. 빈도는 1분에서 59분 사이의 값으로 설정할 수 있습니다. 기본 빈도는 15분입니다.
로그 순환 빈도를 구성하려면 계층 수준에서 문을 [edit system syslog]
포함합니다log-rotate-frequency
.
문을 포함하여 archive
각 파일의 최대 크기, 작성되는 아카이브 파일 수 및 로그 파일을 읽을 수 있는 사용자를 변경할 수 있습니다.
모든 로그 파일에 적용되는 값을 구성하려면 계층 수준에서 문을 [edit system syslog]
포함합니다archive
.
archive <files number> <size size> <world-readable | no-world-readable>;
특정 로그 파일에 적용되는 값을 구성하려면 계층 수준에서 문을 포함합니다archive
.[edit system syslog file filename]
archive <archive-sites (ftp-url <password password>)> <files number> <size size> <start-time "YYYY-MM-DD.hh:mm"> <transfer-interval minutes> <world-readable | no-world-readable> ;
archive-sites site-name
파일 저장에 사용할 보관 사이트 목록을 지정합니다. 값은 대상에 site-name
대한 유효한 FTP URL입니다. 사이트 이름이 두 개 이상 구성된 경우 시스템 로그 파일에 대한 아카이브 사이트 목록이 만들어집니다. 파일이 아카이브되면 라우터 또는 스위치는 파일을 목록의 첫 번째 URL로 전송하려고 시도하지만 전송에 성공하지 못한 경우에만 다음 사이트로 이동합니다. 로그 파일은 지정된 로그 파일 이름으로 아카이브 사이트에 저장됩니다. 유효한 FTP URL을 지정하는 방법에 대한 자세한 내용은 Junos OS CLI 명령에서 파일 이름 및 URL 지정 형식을 참조하십시오.
binary-data
파일을 이진 데이터를 포함하는 것으로 표시합니다. 이를 통해 WTMP 파일(UNIX 기반 시스템의 로그인 레코드)과 같은 이진 파일을 적절하게 보관할 수 있습니다. 기본 설정을 복원하려면 문을 포함합니다 no-binary-data
.
files number
가장 오래된 파일을 덮어쓰기 전에 만들 파일 수를 지정합니다. 값은 1에서 1000 사이일 수 있습니다.
size size
각 파일의 최대 크기를 지정합니다. 값은 64KB(64k)에서 1기가바이트(1g)까지 가능합니다. 메가바이트를 나타내려면 정수 뒤의 문자를 m
사용합니다. 숫자와 k
, m
, 또는 g
단위 문자 사이에는 공백이 없어야 합니다.
start-time "YYYY-MM-DD.hh:mm"
활성 로그 파일을 문에 지정된 사이트 목록의 첫 번째 연결 가능한 사이트로 일회성 전송하기 위한 현지 표준 시간대의 archive-sites
날짜와 시간을 정의합니다.
transfer-interval interval
현재 로그 파일이 열려 있는 시간(가능한 최대 크기에 도달하지 않은 경우에도)을 정의하고 닫혀 보관 사이트로 전송되기 전에 새 통계를 수신합니다. 이 간격 값은 5분에서 2880분 사이일 수 있습니다.
world-readable
모든 사용자가 로그 파일을 읽을 수 있도록 합니다. 기본 권한을 복원하려면 문을 포함합니다 no-world-readable
.
시스템 로그 메시지에 우선 순위 정보 포함
메시지의 기능 및 심각도 수준을 함께 우선 순위라고 합니다. 기본적으로 표준 Junos OS 형식으로 기록된 메시지에는 우선 순위에 대한 정보가 포함되지 않습니다. 파일로 전달되는 표준 형식 메시지에 우선순위 정보를 포함하려면 계층 레벨에서 문을 포함합니다explicit-priority
.[edit system syslog file filename]
[edit system syslog file filename] facility severity; explicit-priority;
구조화된 데이터 형식으로 로깅된 메시지에는 기본적으로 우선순위 정보가 포함됩니다. 명령문과 explicit-priority
함께 계층 수준에서 명령문을 [edit system syslog file filename]
포함하는 structured-data
경우, 명령문은 explicit-priority
무시되고 메시지는 구조화된 데이터 형식으로 로깅됩니다.
문에 structured-data
대한 자세한 내용은 Structured Data 형식의 메시지 로깅을 참조하십시오.
원격 시스템 또는 다른 라우팅 엔진으로 전달되는 메시지에 우선순위 정보를 포함하려면 계층 수준에서 명령문을 포함합니다explicit-priority
.[edit system syslog host (hostname | other-routing-engine)]
[edit system syslog host (hostname | other-routing-engine)] facility severity; explicit-priority;
이 other-routing-engine
옵션은 QFX 시리즈에는 적용되지 않습니다.
메시지에 기록된 우선순위는 항상 원래의 로컬 시설 이름을 나타냅니다. facility-override
원격 대상으로 전달되는 메시지에 대한 문이 포함된 경우, Junos OS 시스템 로깅 유틸리티는 메시지를 원격 대상으로 보낼 때 메시지 자체에 대한 대체 기능 이름을 계속 사용합니다. 자세한 내용은 원격 대상으로 전달되는 시스템 로그 메시지에 대한 대체 기능 이름 변경을 참조하십시오.
explicit-priority
명령문이 포함되면 Junos OS 로깅 유틸리티는 메시지 태그 이름에 시설 이름 및 심각도 수준에 대한 코드를 추가합니다.
FACILITY-severity[-TAG]
(이 태그는 일부 Junos OS 시스템 로그 메시지에 할당된 고유 식별자입니다.)
다음 예 CHASSISD_PARSE_COMPLETE
에서 메시지는 협업공간에 daemon
속하며 심각도 info
(6)가 지정됩니다.
Aug 21 12:36:30 router1 chassisd[522]: %DAEMON-6-CHASSISD_PARSE_COMPLETE: Using new configuration
explicit-priority
명령문이 포함되지 않으면 메시지에 우선순위가 나타나지 않습니다.
Aug 21 12:36:30 router1 chassisd[522]: CHASSISD_PARSE_COMPLETE: Using new configuration
시스템 로그 우선순위 정보에 보고된 설비 코드 및 숫자 코드
표 2 은 시스템 로그 메시지에 나타날 수 있는 시설 코드를 나열하고 이를 시설 이름에 매핑합니다.
코드 |
Junos 시설 이름 |
이벤트 또는 오류 유형 |
---|---|---|
|
|
인증 및 권한 부여 시도 |
|
|
수퍼유저만 볼 수 있는 인증 및 권한 부여 시도 |
|
|
Junos OS 구성 변경 |
|
|
라우터 유형에서 지정한 구성이 잘못되었습니다. |
|
|
커널 콘솔 출력 r에 의해 작성된 /dev/console 메시지 |
|
|
cron 프로세스에서 수행한 작업 또는 발생한 오류 |
|
|
시스템 프로세스에서 수행한 작업 또는 발생한 오류 |
|
|
동적 플로우 캡처 프로세스에서 수행한 작업 또는 발생한 오류 |
|
|
방화벽 필터로 수행한 패킷 필터링 작업 |
|
|
FTP 프로세스에서 수행한 작업 또는 발생한 오류 |
|
|
Junos OS CLI 프롬프트에서 실행되거나 Junos XML 프로토콜 또는 NETCONF 클라이언트와 같은 클라이언트 애플리케이션에 의해 호출되는 명령 |
|
|
Junos 커널에서 수행한 작업 또는 발생한 오류 |
|
|
NTP(Network Time Protocol)에서 수행한 작업 또는 발생한 오류 |
|
|
패킷 전달 엔진에서 수행한 작업 또는 발생한 오류 |
|
|
Junos 시스템 로깅 유틸리티에서 수행한 작업 또는 발생한 오류 |
|
|
user-space 프로세스에서 수행한 작업 또는 발생한 오류 |
표 3 는 시스템 로그 메시지에 나타날 수 있는 숫자 심각도 코드를 나열하고 심각도 수준에 매핑합니다.
숫자 코드 |
심각도 수준 |
설명 |
---|---|---|
|
|
라우터 기능을 중단시키는 시스템 오류 또는 기타 조건 |
|
|
손상된 시스템 데이터베이스와 같이 즉각적인 수정이 필요한 조건 |
|
|
하드웨어 오류와 같은 중요한 조건 |
|
|
긴급 상황, 경보 및 위험 수준의 오류보다 일반적으로 덜 심각한 결과가 발생하는 오류 조건 |
|
|
모니터링이 필요한 조건 |
|
|
오류는 아니지만 특별한 처리가 필요할 수 있는 조건 |
|
|
관심 영역의 이벤트 또는 비 오류 조건 |
|
|
소프트웨어 디버깅 메시지(기술 지원 담당자가 이 심각도 수준을 구성하도록 지시한 경우에만 나타남) |
타임스탬프에 연도 또는 밀리초 포함
기본적으로 표준 형식 시스템 로그 메시지에 기록된 타임스탬프는 다음 예제와 같이 메시지가 기록된 월, 일, 시간, 분 및 초를 지정합니다.
Aug 21 12:36:30
타임스탬프에 연도, 밀리초 또는 둘 다를 포함하려면 또는 [edit security log]
계층 수준에서 문을 포함합니다time-format
.[edit system syslog]
[edit system syslog] time-format (year | millisecond | year millisecond);
그러나 traceoption 메시지의 타임스탬프는 기본적으로 밀리초 단위로 지정되며 명령문과 [edit system syslog time-format]
독립적입니다.
수정된 타임스탬프는 계층 수준에서 , 또는 문 [edit system syslog]
으로 file
구성된 각 대상으로 전달되는 메시지에는 사용되지만 문으로 host
구성된 대상 user
에는 사용되지 않습니다. console
기본적으로 FreeBSD 콘솔에서는 문으로 host
구성된 각 대상으로 전달되는 시스템 로그 메시지에서 추가 시간 정보를 사용할 수 없습니다. 그러나 FreeBSD 콘솔을 사용하는 Junos OS 특정 구현에서는 각 대상으로 전달되는 시스템 로그 메시지에서 추가 시간 정보를 사용할 수 있습니다.
다음 예제에서는 밀리초(401)와 연도(2006)를 모두 포함하는 타임스탬프 형식을 보여 줍니다.
Aug 21 12:36:30.401 2006
구조화된 데이터 형식으로 로깅된 메시지에는 기본적으로 연도와 밀리초가 포함됩니다. 명령문과 함께 time-format
계층 수준에서 구조화된 데이터 명령문을 [edit system syslog file filename]
포함하는 경우, 명령문은 time-format
무시되고 메시지는 구조화된 데이터 형식으로 로깅됩니다.
문에 structured-data
대한 자세한 내용은 Structured Data 형식의 메시지 로깅을 참조하십시오.
문자열 및 정규식을 사용하여 로깅된 메시지 집합 구체화
사전 정의된 기능은 관련 메시지를 함께 그룹화하지만, 메시지를 문자열 및 정규식과 일치시켜 기능에서 파일, 사용자 터미널 또는 원격 대상에 기록되는 메시지를 세분화할 수도 있습니다.
match-strings
및 match
구성 문을 사용하여 시스템 로그 메시지를 문자열 또는 정규식과 각각 일치시킬 수 있습니다. 다음 계층 수준에서 이러한 문을 포함할 수 있습니다.
[edit system syslog file filename]
(파일의 경우)[edit system syslog user (username | *)]
(특정 사용자 세션 또는 터미널의 모든 사용자 세션에 대해)[edit system syslog host (hostname | other-routing-engine)]
(원격 대상의 경우)
정규식에 대해 메시지를 평가하고 지정된 대상에 일치하는 메시지만 기록하려면 문을 포함하고 match
정규식을 지정합니다.
match
"regular-expression";
Junos OS 릴리스 16.1부터는 복잡한 정규식과 일치시키는 것보다 CPU 집약도가 낮기 때문에 간단한 문자열 비교를 사용하여 메시지를 보다 효율적으로 필터링할 수 있습니다. 메시지가 대상에 기록되기 위해 메시지에 표시되어야 하는 텍스트 문자열을 지정하려면 문을 포함하고 match-strings
일치하는 문자열 또는 문자열 목록을 지정합니다.
match-strings
string-name;
match-strings
[string1 string2];
및 match
문은 match-strings
지정된 문자열 또는 정규식과 일치하는 구성된 기능 및 심각도를 가진 메시지를 선택합니다. 문은 match-strings
간단한 문자열 비교를 수행하므로 복잡한 정규식과 일치시키기 위해 문을 사용하는 match
것보다 CPU 집약도가 낮습니다. 동일한 대상에 대해 및 문을 모두 match
구성하면 Junos OS가 match-strings
먼저 조건을 평가하고, 메시지에 구성된 하위 문자열 중 하나라도 포함되어 있으면 메시지가 기록되고 match
조건은 평가되지 match-strings
않습니다. match-strings
조건이 충족되지 않으면 시스템은 구성 문의 정규식에 대해 메시지를 평가합니다match
.
명령문에 match
대한 정규식을 지정할 때, 확장된(최신) UNIX 정규식에 대해 POSIX 표준 1003.2에 정의된 표기법을 사용하십시오. 정규식 구문에 대한 설명은 이 문서의 범위를 벗어나지만 POSIX 표준은 IEEE(Institute of Electrical and Electronics Engineers, http://www.ieee.org)에서 사용할 수 있습니다.
표 4 일치 문에서 사용할 수 있는 일부 정규식 연산자와 일치하는 문자를 지정합니다. 설명에서 용어 용어는 단일 영숫자 문자 또는 대괄호, 괄호 또는 중괄호로 묶인 문자 집합을 나타냅니다.
문은 match
대/소문자를 구분하지 않습니다.
연산자 | 성냥 |
---|---|
. (마침표) |
공백을 제외한 모든 문자의 한 인스턴스입니다. |
*(별표) |
직전 용어의 0개 이상의 인스턴스입니다. |
+(더하기 기호) |
직전 용어의 하나 이상의 인스턴스입니다. |
? (물음표) |
바로 이전 용어의 0개 또는 1개 인스턴스입니다. |
| (파이프) |
파이프 연산자의 양쪽에 나타나는 용어 중 하나입니다. |
! (느낌표) |
느낌표가 식의 시작 부분에 나타날 때 식에 지정된 문자열을 제외한 모든 문자열입니다. 느낌표는 Junos OS에만 사용됩니다. |
^ (캐럿) |
캐럿이 대괄호 바깥쪽에 나타날 때 줄의 시작입니다. 대괄호 안에서 뒤에 오지 않는 문자의 한 인스턴스, 캐럿이 대괄호 안의 첫 번째 문자인 경우. |
$ (달러 기호) |
줄의 끝입니다. |
[ ](쌍을 이루는 대괄호) |
포함된 영숫자 문자 중 하나의 인스턴스입니다. 문자 범위를 나타내려면 하이픈( - )을 사용하여 범위의 시작 문자와 끝 문자를 구분합니다. 예를 들어 [a-z0-9]는 모든 문자 또는 숫자와 일치합니다. |
( )(쌍을 이루는 괄호) |
동봉된 용어의 평가된 값의 한 인스턴스. 괄호는 정규식에서 평가 순서를 나타내는 데 사용됩니다. |
문자열 및 정규 표현식 사용
기능에 속하는 interactive-commands
메시지를 필터링하여 문자열 configure
이 포함된 메시지를 루트 사용자의 터미널로 보냅니다.
[edit system syslog] user root { interactive-commands any; match-strings configure; }
사용자가 구성 모드로 들어가기 위해 명령을 실행할 때 사용자의 터미널에 configure
다음과 같은 메시지가 나타납니다root
.
timestamp router-name mgd[PID]: UI_CMDLINE_READ_LINE: User 'user', command 'configure private'
기능에 속 daemon
하고 심각도 error
가 이상인 메시지를 필터링하여 파일로 /var/log/process-errors전달합니다. SNMP 프로세스(snmpd)에 의해 생성된 메시지를 생략하고 대신 다음 파일로 전달합니다./var/log/snmpd-errors
[edit system syslog] file process-errors { daemon error; match "!(.*snmpd.*)"; } file snmpd-errors { daemon error; match-strings snmpd; }
일치 문에 대한 Junos 시스템 로그 정규식 연산자
연산자 |
성냥 |
---|---|
|
공백을 제외한 모든 문자의 한 인스턴스입니다. |
|
직전 용어의 0개 이상의 인스턴스입니다. |
|
직전 용어의 하나 이상의 인스턴스입니다. |
|
바로 이전 용어의 0개 또는 1개 인스턴스입니다. |
|
파이프 연산자의 양쪽에 나타나는 용어 중 하나입니다. |
|
느낌표가 식의 시작 부분에 나타날 때 식에 지정된 문자열을 제외한 모든 문자열입니다. 느낌표는 Junos OS에만 사용됩니다. |
|
캐럿이 대괄호 바깥쪽에 나타날 때 줄의 시작입니다. 대괄호 안에서 뒤에 오지 않는 문자의 한 인스턴스, 캐럿이 대괄호 안의 첫 번째 문자인 경우. |
|
줄의 끝입니다. |
|
포함된 영숫자 문자 중 하나의 인스턴스입니다. 문자 범위를 나타내려면 하이픈( |
|
동봉된 용어의 평가된 값의 한 인스턴스. 괄호는 정규식에서 평가 순서를 나타내는 데 사용됩니다. |
기능의 시스템 로깅 사용 안함
특정 기능에 속하는 메시지의 로깅을 사용 불가능하게 하려면 구성에 명령문을 포함 facility none
하십시오. 예를 들어, 이 명령문은 심각도 수준이 같고 소수의 기능을 제외한 모든 기능에 속하는 메시지를 기록하려는 경우에 유용합니다. 기록하려는 각 시설에 대한 문을 포함하는 대신, 문을 포함시킨 다음 facility none
기록하지 않으려는 각 시설에 대한 문을 포함할 any severity
수 있습니다. 예를 들어, 다음은 및 kernel
기능의 메시지를 daemon
제외하고 수준 이상의 모든 메시지를 error
콘솔에 기록합니다. 이러한 기능의 메시지는 대신 파일에 >/var/log/internals 기록됩니다.
[edit system syslog] console { any error; daemon none; kernel none; } file internals { daemon info; kernel info; }
예: 시스템 로깅 구성
다음 예제는 CLI 프롬프트에서 사용자가 입력하거나 Junos OS XML 프로토콜 또는 NETCONF 클라이언트 애플리케이션과 같은 클라이언트 애플리케이션에 의해 호출된 모든 명령에 대한 메시지 로깅과 로그인한 사용자의 파일 cli-commands 및 터미널에 대한 모든 인증 또는 권한 부여 시도에 대한 로깅을 구성하는 방법을 보여줍니다.
[edit system] syslog { file cli-commands { interactive-commands info; authorization info; } user * { interactive-commands info; authorization info; } }
다음 예는 파일에 /var/log/alarms대한 경보 상태의 모든 변경 사항의 로깅을 구성하는 방법을 보여줍니다.
[edit system] syslog { file alarms { kernel warning; } }
다음 예제에서는 주석에 설명된 대로 다양한 유형의 메시지 처리를 구성하는 방법을 보여 줍니다. 정보는 두 개의 파일, 즉 사용자의 alex
터미널, 원격 시스템 및 콘솔에 기록됩니다.
[edit system] syslog { /* write all security-related messages to file /var/log/security */ file security { authorization info; interactive-commands info; } /* write messages about potential problems to file /var/log/messages: */ /* messages from "authorization" facility at level "notice" and above, */ /* messages from all other facilities at level "warning" and above */ file messages { authorization notice; any warning; } /* write all messages at level "critical" and above to terminal of user "alex" if */ /* that user is logged in */ user alex { any critical; } /* write all messages from the "daemon" facility at level "info" and above, and */ /* messages from all other facilities at level "warning" and above, to the */ /* machine monitor.mycompany.com */ host monitor.mycompany.com { daemon info; any warning; } /* write all messages at level "error" and above to the system console */ console { any error; } }
다음 예는 다음과 같은 심각도 수준에서 기능을 지정하여 interactive-commands
사용자가 Junos OS CLI 명령을 실행할 때 생성되는 메시지의 처리를 구성하는 방법을 보여줍니다.
info
- 사용자가 CLI 운영 또는 구성 모드 프롬프트에서 명령을 실행할 때 메시지를 기록합니다. 이 예제에서는 파일에 /var/log/user-actions메시지를 씁니다.notice
- 사용자가 구성 모드 명령rollback
및commit
를 실행할 때 메시지를 기록합니다. 이 예제에서는 userphilip
의 터미널에 메시지를 씁니다.warning
- 사용자가 소프트웨어 프로세스를 다시 시작하는 명령을 실행할 때 메시지를 기록합니다. 이 예제에서는 콘솔에 메시지를 씁니다.[edit system] syslog { file user-actions { interactive-commands info; } user philip { interactive-commands notice; } console { interactive-commands warning; } }
예: 대체 시설 할당
오류 수준 이상의 로컬 라우팅 플랫폼에서 생성된 모든 메시지를 라는 monitor.mycompany.com
원격 시스템의 시설에 local0
기록합니다.
[edit system syslog] host monitor.mycompany.com { any error; facility-override local0; }
캘리포니아에 위치한 라우팅 플랫폼과 뉴욕에 위치한 라우팅 플랫폼을 구성하여 라는 central-logger.mycompany.com
단일 원격 시스템으로 메시지를 보냅니다. 캘리포니아에서 온 메시지에는 대체 시설이 할당되고 뉴욕에서 온 메시지는 대체 시설 local0
local2
에 할당됩니다.
시설에서 메시지를 집계하도록 캘리포니아 라우팅 플랫폼을 구성합니다.
local0
[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local0; }
시설에서
local2
메시지를 집계하도록 뉴욕 라우팅 플랫폼을 구성합니다.[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local2; }
그런 central-logger
다음 시스템 로깅 유틸리티를 구성하여 기능의 메시지를 local0
파일에 california-config
기록하고 기능의 메시지를 local2
파일에 new-york-config
기록할 수 있습니다.