コンテンツにスキップ

SYSLOG_SERVER テーブル

概要

リモート syslog 送信先を保持する1hostcfgdSyslogHandler がこのテーブルを購読し、/etc/rsyslog.d/<n>-remote.conf を生成して rsyslogd を再ロードする。

データフロー (自動生成)

flowchart LR
  CDB[("CONFIG_DB<br/>SYSLOG_SERVER")]
  DM["hostcfgd"]
  CDB --> DM

凡例

CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。

key 構造

SYSLOG_SERVER|<server_address>

<server_address>inet:host(IP アドレスまたはホスト名)。

フィールド一覧

フィールド 必須 説明
server_address (key) inet:host サーバアドレス
source ip-address - 送信元 IP。server_address と同 family である must
port port-number - UDP/TCP ポート
vrf leafref VRF.name または enum (default/mgmt) - 経路 VRFmgmt 指定時は MGMT_VRF_CONFIG.mgmtVrfEnabled = true 必須 (must)
filter enum include/exclude - フィルタタイプ
filter_regex string ([^\n\r]+) - フィルタ正規表現
protocol enum tcp/udp - 転送プロトコル
severity enum none/debug/info/notice/warn/error/crit - 最低重大度

関連サブテーブル

  • SYSLOG_CONFIG|GLOBAL: 全体 syslog 設定(rate limit、format、severity)
    • format (welf/standard, default standard)、welf_firewall_name (format != standard 必須)
  • SYSLOG_CONFIG_FEATURE|<service> (key: leafref FEATURE.name): サービス単位 rate-limit

購読者

  • hostcfgd SyslogHandler: rsyslog 設定生成

関連 CONFIG_DB / YANG / CLI

  • 関連 CONFIG_DB: VRFMGMT_VRF_CONFIGFEATURESYSLOG_CONFIG
  • 関連 CLI: config syslog add/del
  • 関連 YANG: sonic-syslog

関連リファレンス

引用元

関連ページ

関連 Topics

値依存挙動マトリクス

vrf: default / mgmt / VRF 名 (leafref)

filter (syslog-filter-type): include / exclude

protocol (rsyslog-protocol): tcp / udp

severity (rsyslog-severity): none / debug / info / notice / warn / error / crit

フィールド 挙動
vrf mgmt 管理 VRF 経由。MGMT_VRF_CONFIG.mgmtVrfEnabled != true なら YANG must 違反で拒否
vrf default デフォルト VRF 経由で転送
filter include filter_regex にマッチするメッセージのみ転送
filter exclude filter_regex にマッチするメッセージを除外して転送
source server_address と異なる IP family YANG must 制約違反で書き込み拒否
protocol tcp rsyslog が TCP で転送。接続失敗時はキュー蓄積
protocol udp rsyslog が UDP で転送。パケットロスあり
severity none フィルタなし(全 severity を転送)

例外条件・特殊挙動

  • SYSLOG_CONFIG と合算で再評価: rsyslog_server_handler() はエントリの追加/削除/変更のいずれでも SYSLOG_CONFIGSYSLOG_SERVER 両テーブルを再取得し rsyslog-config サービスを再起動する。サーバー 1 台の変更でも全設定が再生成される点に注意。
  • 全エントリ削除時の挙動: SYSLOG_SERVER エントリが 0 件になるとリモート転送設定が空のテンプレートが生成される。ローカルログは継続されるが rsyslog のリモート転送は停止する。
  • rsyslog 再起動失敗時は設定不反映: systemctl restart rsyslog-config が失敗すると "RSyslogCfg: Failed to restart rsyslog service" を LOG_ERR してキャッシュを更新せずに return する(次回テーブル変更時に再試行)。
  • IP バリデーションは YANG 層: key(サーバー IP / ホスト名)の構文チェックは sonic-syslog.yanginet:ip-address / inet:host 型制約で行われ、hostcfgd 層での追加チェックはない。

運用ヒント

典型値

  • key 形式: SYSLOG_SERVER|<ip>
  • source: Loopback0 等。
  • vrf: default / mgmt
  • port: 514。

よくある誤設定

  • vrf: mgmtsource を data-plane IP にすると syslog が出ない。

確認コマンド

sonic-db-cli CONFIG_DB keys 'SYSLOG_SERVER|*'
show syslog