ListenSyslog
ListenSyslog
주어진 포트로 TCP 또는 UDP를 통해 전송되는 Syslog 메시지를 수신하는 프로세서예요. 수신 메시지는 RFC5424 및 RFC3164 형식 메시지에 대한 정규식으로 확인돼요. 각 메시지의 형식은 (<PRIORITY>)(VERSION )(TIMESTAMP) (HOSTNAME) (BODY)이며 version은 선택사항이에요. 타임스탬프는 “yyyy-MM-dd 'T'HH:mm:ss.SZ” 또는 “yyyy-MM-dd 'T'HH:mm:ss.S+hh:mm” 형식의 RFC5424 타임스탬프이거나, “MMM d HH:mm:ss” 형식의 RFC3164 타임스탬프일 수 있어요. 들어오는 메시지가 이 패턴 중 하나와 일치하면 메시지가 파싱되고 개별 조각이 FlowFile 속성에 배치되며 원본 메시지는 FlowFile의 콘텐츠에 남아요. 들어오는 메시지가 이 패턴 중 하나와 일치하지 않으면 파싱되지 않고 syslog.valid 속성이 false로 설정되며 원본 메시지가 FlowFile 콘텐츠에 담겨요. 유효한 메시지는 success 관계로, 유효하지 않은 메시지는 invalid 관계로 전송돼요.
출처: Snowflake 문서
본문
기능 — 일반 제공(Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP Commercial 리전의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS Commercial 리전의 모든 계정에서 사용할 수 있어요.
Bundle
org.apache.nifi | nifi-standard-nar
설명 (Description)
지정된 포트로 TCP 또는 UDP를 통해 전송되는 Syslog 메시지를 수신해요. 수신 메시지는 RFC5424 및 RFC3164 형식 메시지에 대한 정규식으로 확인돼요. 각 메시지의 형식은 (<PRIORITY>)(VERSION )(TIMESTAMP) (HOSTNAME) (BODY)이며 version은 선택사항이에요. 타임스탬프는 “yyyy-MM-dd 'T'HH:mm:ss.SZ” 또는 “yyyy-MM-dd 'T'HH:mm:ss.S+hh:mm” 형식의 RFC5424 타임스탬프이거나, “MMM d HH:mm:ss” 형식의 RFC3164 타임스탬프일 수 있어요. 들어오는 메시지가 이 패턴 중 하나와 일치하면 메시지를 파싱해 개별 조각을 FlowFile 속성에 넣고 원본 메시지는 FlowFile 콘텐츠에 남겨요. 메시지가 이 패턴 중 하나와 일치하지 않으면 파싱하지 않고 syslog.valid 속성을 false로 설정하며 원본 메시지를 FlowFile 콘텐츠에 담아요. 유효한 메시지는 success 관계로, 유효하지 않은 메시지는 invalid 관계로 전송돼요.
태그 (Tags)
listen, logs, syslog, tcp, udp
입력 요구사항 (Input Requirement)
FORBIDDEN (금지)
민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)
false
속성 (Properties)
| Property | Description |
|---|---|
| Character Set | Syslog 메시지의 문자 집합을 지정해요. Expression language는 FlowFile별로 평가되지 않는다는 점에 유의하세요. |
| Client Auth | SSL Context에 사용할 클라이언트 인증 정책이에요. SSL Context Service가 제공되는 경우에만 사용돼요. |
| Local Network Interface | 수신 대기를 특정 LAN으로 제한하는 데 사용할 로컬 네트워크 인터페이스 이름이에요. |
| Max Batch Size | 단일 FlowFile에 추가할 Syslog 이벤트의 최대 수예요. 여러 이벤트가 있으면 이 구성된 최대 메시지 수까지 |
| Max Size of Message Queue | 기본 채널에서 프로세서로 전송되는 메시지를 버퍼링하는 데 사용하는 내부 큐의 최대 크기예요. 이 값을 높이면 수신 메시지 급증 시 더 많은 메시지를 메모리에 버퍼링할 수 있지만 프로세서가 사용하는 총 메모리가 늘어나요. |
| Max Size of Socket Buffer | 사용해야 할 socket buffer의 최대 크기예요. 이는 socket buffer가 얼마나 커야 하는지 운영 체제에 알려주는 제안이에요. 너무 낮게 설정하면 데이터를 읽기 전에 버퍼가 가득 차고 들어오는 데이터가 버려질 수 있어요. |
| Message Delimiter | 여러 메시지가 묶일 때 Syslog 메시지 사이에 넣을 구분자를 지정해요( |
| Parse Messages | 프로세서가 Syslog 메시지를 파싱할지 여부를 나타내요. false로 설정하면 각 출력 FlowFile에는 sender, protocol, port만 포함되고 추가 속성은 없어요. |
| Port | Syslog 통신을 위한 포트예요. Expression language는 FlowFile별로 평가되지 않는다는 점에 유의하세요. |
| Protocol | Syslog 통신을 위한 프로토콜이에요. |
| Receive Buffer Size | Syslog 메시지를 수신하는 데 사용하는 각 버퍼의 크기예요. 들어오는 Syslog 메시지의 예상 크기에 따라 적절히 조정하세요. UDP를 선택하면 각 버퍼가 하나의 Syslog 메시지를 담아요. TCP를 선택하면 버퍼가 가득 차거나 연결이 닫힐 때까지 들어오는 연결에서 메시지를 읽어요. |
| SSL Context Service | SSL Context를 얻기 위해 사용할 Controller Service예요. 설정하면 syslog 메시지가 보안 연결을 통해 수신돼요. |
| Socket Keep Alive | TCP socket keep alive를 켤지 여부예요. 타이밍 세부 사항은 운영 체제 속성에 따라 달라져요. |
| Worker Threads | 들어오는 syslog 메시지를 디코딩하고 큐에 넣는 스레드 수예요. |
관계 (Relationships)
| Name | Description |
|---|---|
| invalid | 기대 형식 중 하나와 일치하지 않는 Syslog 메시지는 메시지당 하나의 FlowFile로 이 관계를 통해 보내져요. |
| success | 기대 형식 중 하나와 일치하는 Syslog 메시지는 메시지당 하나의 FlowFile로 이 관계를 통해 보내져요. |
쓰기 속성 (Writes attributes)
| Name | Description |
|---|---|
| syslog.priority | Syslog 메시지의 우선순위예요. |
| syslog.severity | 우선순위에서 파생된 Syslog 메시지의 심각도예요. |
| syslog.facility | 우선순위에서 파생된 Syslog 메시지의 facility예요. |
| syslog.version | Syslog 메시지의 선택적 버전이에요. |
| syslog.timestamp | Syslog 메시지의 타임스탬프예요. |
| syslog.hostname | Syslog 메시지의 호스트 이름 또는 IP 주소예요. |
| syslog.sender | 메시지를 보낸 Syslog 서버의 호스트 이름이에요. |
| syslog.body | Syslog 메시지의 본문으로, hostname 이후의 모든 내용이에요. |
| syslog.valid | 이 메시지가 기대 형식과 일치했는지 여부를 나타내는 지표예요. false면 다른 속성은 비어 있고 콘텐츠에 원본 메시지만 남아요. |
| syslog.protocol | Syslog 메시지가 수신된 프로토콜이에요. |
| syslog.port | Syslog 메시지가 수신된 포트예요. |
| mime.type | FlowFile의 mime.type으로 Syslog 메시지에 대해 text/plain이 돼요. |
함께 보기 (See also)
- org.apache.nifi.processors.standard.ParseSyslog
- org.apache.nifi.processors.standard.PutSyslog