SYSLOG_SERVER テーブル¶
概要¶
リモート syslog 送信先を保持する1。hostcfgd の SyslogHandler がこのテーブルを購読し、/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 構造¶
<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) |
- | 経路 VRF。mgmt 指定時は 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: leafrefFEATURE.name): サービス単位 rate-limit
購読者¶
hostcfgdSyslogHandler: rsyslog 設定生成
関連 CONFIG_DB / YANG / CLI¶
- 関連 CONFIG_DB:
VRF、MGMT_VRF_CONFIG、FEATURE、SYSLOG_CONFIG - 関連 CLI:
config syslog add/del - 関連 YANG:
sonic-syslog
関連リファレンス¶
- YANG:
sonic-syslog - CLI:
config 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_CONFIGとSYSLOG_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.yangのinet:ip-address/inet:host型制約で行われ、hostcfgd層での追加チェックはない。
運用ヒント¶
典型値¶
- key 形式:
SYSLOG_SERVER|<ip>。 source:Loopback0等。vrf:default/mgmt。port: 514。
よくある誤設定¶
vrf: mgmtでsourceを data-plane IP にすると syslog が出ない。