108.2標準
legacy action構文で全facility・全priorityをlog.exampleのport 514へTCP転送する。
適切な設定行はどれか。
× 不正解
legacy rsyslog actionでは@HOSTがUDP、@@HOSTがTCPのremote forwardingを表す。
詳細解説
正しい
*.* @@log.example:514@@はlegacy構文のTCP remote forwardingを表す。
正しい。*.*が全messageを選び、@@付きtargetがTCP forwarding actionになる。
誤り
*.* @log.example:514単一@はlegacy構文でUDP転送を表す。
誤り。単一@はUDP forwardingを表し、TCPという要件を満たさない。
誤り
@@.* log.example:514selectorとactionの構文位置が崩れている。
誤り。@@はaction targetのprefixであり、selectorのfacility位置へ置かない。
誤り
*.* /var/log/log.example:514local file actionとして解釈され、remote TCP転送ではない。
誤り。slash始まりはlocal file actionとして扱われ、network hostへ接続しない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' '*.* @@log.example:514' | awk '{print "selector="$1, "target="$2}'期待される結果
selector=*.* target=@@log.example:514理解のポイント
- @@はTCP
- @はUDP
- *.*は全message
確認時の注意
- 確認環境: awk / 合成rsyslog行
基礎のおさらい
TCPとUDP
TCPはconnectionと再送を利用できるが、信頼性要件ではqueueやTLSも含めて設計する。UDPは軽量だが配送保証がない。
modern構文
omfwd actionではprotocol="tcp"等を明示でき、legacy @表記と役割を対応させて読む。
問題IDKP-108-737
確認環境awk / 合成rsyslog行
最終技術確認2026-08-13
誤り・権利侵害を報告