2026年5月14日 星期四

VMware VCenter 6.7設定Log Server失敗

VMware VCenter 6.7設定Log Server失敗


使用vCenter 6.7 設定步驟 開啟 VAMI 介面:開啟瀏覽器,輸入 https://<您的vCenter_IP>:5480。 

登入:使用 root 帳號及其密碼登入。 
進入 Syslog:點選左側選單最下方的 「Syslog」 索引標籤。 
設定轉送:在「轉送組態」(Forwarding Configuration) 區塊,點擊 「設定」(Configure)。 填寫伺服器資訊: 伺服器位址:輸入您的 Log Server IP 或 FQDN。 
通訊協定:6.7 版本同樣支援 UDP、TCP、TLS、RELP 協定。 
連接埠:預設為 514 (UDP/TCP)




錯誤訊息:
Error in method invocation _failure() missing 1 required positional argument: 'err'


不是你 Log Server IP 填錯,也不是 514 port 問題。
這是 VMware vCenter Server VAMI (:5480) 裡面很有名的爛 Python UI 例外錯誤。人類很愛把「後端報錯」直接丟給管理員,彷彿你應該通靈知道 _failure() 少了什麼參數。

通常代表:

VAMI 前端送出設定失敗
後端 service 沒正常回應
syslog config validation 爆掉
某些 protocol 在 6.7 有 bug
certificate / hostname 驗證問題
appliance service 異常

而不是單純「不能設定」。




你現在應該改查:

SSH登入VMware Vcenter

shell 進入設定。

1. 查看 rsyslog 狀態

systemctl status rsyslog

如果沒跑:

systemctl restart rsyslog

直接看目前 syslog 設定:

cat /etc/vmware-syslog/syslog.conf

加入log server設定
假如Log Server IP: 1.2.3.4
*.* @1.2.3.4:514


再測:

rsyslogd -N1

如果顯示:

End of config validation run. Bye.

代表 config 正常。


代表:

rsyslog 設定檔語法是正常的

所以問題不是:

  • config syntax
  • forwarding rule
  • URI 格式

而是:

rsyslog 啟動階段失敗

通常剩下幾種可能:

  1. PID file 問題
  2. socket 被占用
  3. 權限問題
  4. module 載入失敗
  5. log file 無法寫入
  6. disk 滿了
  7. SELinux/AppArmor
  8. systemd limit/cache 問題

現在要直接看 rsyslog 真正 stderr。


請執行

rsyslogd -dn

注意:

  • -d = debug
  • -n = foreground

它會直接噴真正錯誤。

root@photon-machine [ / ]# rsyslogd -dn rsyslogd: error reading pid file, cannot start up rsyslogd: run failed with error -3000 (see rsyslog.h or try https://www.rsyslog.com/e/3000 to learn what that number means)


你的問題是:

error reading pid file, cannot start up

代表:

rsyslog 的 PID file 壞掉或卡住了

通常是:

  • 上次 crash
  • abnormal shutdown
  • service 沒正常結束
  • PID file 殘留
  • 權限錯誤

導致 rsyslog 認為:

「已經有另一個 rsyslog 在跑」。


立刻處理

先找 PID file:

find /run /var/run -name "*rsyslog*.pid"

通常會看到:

/var/run/rsyslogd.pid


確認目前沒有 rsyslog process

ps -ef | grep rsyslog

正常情況應該只剩 grep 自己。

如果沒有真正 rsyslogd process:


改名或刪除 PID file(建議改名)

例如:
mv /var/run/rsyslogd.pid /var/run/rsyslogd.pid.bak

rm -f /var/run/rsyslogd.pid

reset systemd failed state

systemctl reset-failed rsyslog



再啟動

systemctl start rsyslog

查看:

systemctl status rsyslog

查看服務,終於正常 active (running)


回到
VMware vCenter Server VAMI (:5480)
進入 Syslog:點選左側選單最下方的 「Syslog」 索引標籤。
設定轉送:在「轉送組態」(Forwarding Configuration) 區塊,點擊 「設定」(Configure)。
總算是沒有下面的錯誤訊息了,檢查Log Server,也確認有收到Log。
設定成功。


錯誤訊息:

Error in method invocation _failure() missing 1 required positional argument: 'err'

沒有留言:

VMware VCenter 6.7設定Log Server失敗

VMware VCenter 6.7設定Log Server失敗 使用vCenter 6.7 設定步驟 開啟 VAMI 介面:開啟瀏覽器,輸入 https://<您的vCenter_IP>:5480。  登入:使用 root 帳號及其密碼登入。  進入 Syslog:...