使用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 啟動階段失敗
通常剩下幾種可能:
- PID file 問題
- socket 被占用
- 權限問題
- module 載入失敗
- log file 無法寫入
- disk 滿了
- SELinux/AppArmor
- 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'
沒有留言:
張貼留言