コンテンツにスキップ

TELEMETRY テーブル

概要

gRPC ストリーミングテレメトリ / gNMI サーバの設定。TLS 証明書パスと gNMI ランタイムオプションを保持する1telemetry コンテナ (docker-telemetrydocker-gnmi) が起動時に CONFIG_DB を読み込む。

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

flowchart LR
  CDB[("CONFIG_DB<br/>TELEMETRY")]
  DM["telemetry"]
  CDB --> DM

凡例

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

key 構造

TELEMETRY|certs        # TLS 証明書
TELEMETRY|gnmi         # gNMI サーバオプション

TELEMETRY|certs

フィールド 説明
ca_crt string (*.cer パス) CA 証明書のローカルパス
server_crt string (*.cer) サーバ証明書
server_key string (*.key) サーバ秘密鍵

TELEMETRY|gnmi

フィールド 説明
client_auth boolean クライアント認証要求
log_level uint8 (0..100) gNMI ログレベル
port inet:port-number gNMI 待受 TCP ポート
save_on_set boolean Set RPC 完了時に config 永続化
enable_crl boolean CRL (Certificate Revocation List) 有効化
crl_expire_duration uint32 CRL キャッシュ期限 [秒]
user_auth string password/jwt/cert/none ユーザ認証方式

購読者

  • telemetry (docker-telemetry) / gnmi (docker-gnmi): プロセス起動時にこのテーブルを読む

関連 CONFIG_DB / YANG / CLI

  • 関連 CONFIG_DB: GNMI_CLIENT_CERT (gNMI クライアント証明書 fingerprint)
  • 関連 CLI: config telemetry config-dbconfig telemetry servergnoi-system reboot
  • 関連 YANG: sonic-telemetrysonic-gnmi

関連リファレンス

  • YANG: sonic-telemetry
  • CLI: config telemetry

引用元

関連 Topics

値依存挙動マトリクス

user_auth (string pattern): password / jwt / cert / none

client_auth (boolean): true / false

save_on_set (boolean): true / false

enable_crl (boolean): true / false

フィールド 挙動
user_auth password ユーザ名/パスワード認証
user_auth jwt JWT トークン認証
user_auth cert クライアント証明書認証
user_auth none 認証なし
client_auth true ca_crt 未設定/ファイル不在だとサーバ起動失敗
client_auth false サーバ証明書のみで TLS 接続
save_on_set true gNMI Set RPC 完了時に config save を実行
save_on_set false Set は CONFIG_DB のみに反映。永続化しない
enable_crl true CRL チェック有効化。crl_expire_duration も設定が必要
port 未設定 / 0 unix_socket も未設定の場合サーバ起動失敗
全フィールド 起動後変更 コンテナ再起動 (systemctl restart telemetry) まで反映されない

例外条件・特殊挙動

  • 起動時のみ参照: telemetry コンテナは起動時に CONFIG_DB を一回読み込む。実行中の変更はコンテナ再起動(systemctl restart telemetry)なしには反映されない。
  • ポート未設定でサーバ不起動: port が 0 以下かつ unix_socket も未設定の場合、"no listener configured: port must be > 0 or unix_socket must be set" を返してサーバが起動しない。
  • TCP / UDS リスナー失敗時の縮退動作: TCP listen 失敗時は "Failed to open listener port <port>: disabling TCP listener" を Warningf し UDS のみで継続(その逆も同様)。両方失敗した場合はサーバ起動エラーになる。
  • TLS 証明書の不整合: server_crt / server_key のいずれか一方のみ設定されていると "server certificate or key file path is empty" を返す。証明書ファイルが存在しない場合も stat エラーを返してサーバが起動しない。
  • CA 証明書ファイル不在: mTLS 設定時に ca_crt パスが存在しない場合 "CA certificate file not found" を返す。

運用ヒント

典型値

  • key 形式: TELEMETRY|<key> (gnmi, certs 等)`。
  • port: 8080/50051client_auth: truelog_level: 2

よくある誤設定

  • client_auth=true なのに CA bundle 設定漏れで gNMI client が TLS handshake に失敗する。

確認コマンド

sonic-db-cli CONFIG_DB keys 'TELEMETRY|*'
systemctl status telemetry