解決「macOS 伺服器」的「描述檔管理程式」問題

了解「描述檔管理程式」無法正常運作時該如何找出及修復問題。

如果無法存取管理頁面

「描述檔管理程式」的基本設定位於 Server App 中。你必須使用 Safari 來存取「描述檔管理程式」的 /mydevices 網頁和管理網頁。

僅伺服器管理者可以存取你的管理頁面。管理頁面的 URL 格式如下:

  • https://你伺服器的完整網域名稱/profilemanager

    • 範例:https://www.example.com/profilemanager

若要註冊 iPhone、iPad、iPod touch 或 Mac,請前往:

  • https://你伺服器的完整網域名稱/mydevices

    • 範例:https://www.example.com/mydevices

如果使用 Safari 以外的網頁瀏覽器無法順利存取管理頁面,請嘗試使用 Safari。如果無法使用 Safari 存取,請檢查你的 DNS 伺服器。DNS 設定在「描述檔管理程式」部署的管理中扮演很重要的角色。如果「描述檔管理程式」沒有開啟,請確認你的伺服器已指向可靠的 DNS 伺服器。

如果無法將描述檔或 App 推播至用戶端

將描述檔或 App 推播至用戶端系統時如果遇到問題,請檢查「系統監視程式」中的系統記錄檔案。如果系統記錄檔案回報你的伺服器無法連上 Apple 的 APNs 伺服器,請檢查你的網路設定。確認所有的必要連接埠都已開啟。

如需詳細資訊,請使用下列終端機指令來開啟 APNS 除錯記錄:

sudo defaults write /Library/Preferences/com.apple.apsd APSWriteLogs -bool TRUE

sudo defaults write /Library/Preferences/com.apple.apsd APSLogLevel -int 7

sudo killall apsd

你可以在 com.apple.apsd 和 com.apple.apspd 子系統上進行篩選,來檢視「系統監視程式」App 中的記錄。

在記錄 APNS 交易之後,請使用下列終端機指令來關閉除錯記錄:

sudo defaults write /Library/Preferences/com.apple.apsd APSWriteLogs -bool FALSE

sudo defaults delete /Library/Preferences/com.apple.apsd APSLogLevel

sudo killall apsd

如果「描述檔管理程式」發生其他問題

「描述檔管理程式」記錄可協助你修復「描述檔管理程式」問題。在「/var/log」可找到名叫「devicemgr」的符號連結。這個檔案會指向「/Library/Logs/ProfileManager」,你可以在此處找到這些記錄:

AuditLogs

  • 此目錄內的檔案提供了 CSV 格式的要求記錄,以及來自對應服務記錄的回應,例如所有傳送到裝置的指令,或是特定使用者發起的所有動作。每個檔案都有標題,用以說明各直欄中記錄的資料。

devicemgrd.log

  • 提供 Open Directory 和 Active Directory 使用者及群組的查詢與同步狀態。

  • 針對 devicemgrd 執行的查詢回報錯誤。

  • 顯示與傳送推播通知有關的項目。

  • 顯示與 DEP 和 VPP 交易有關的項目。

dmAuthService.log

  • 記錄使用者透過網頁嘗試認證的狀態。

dmDeviceService.log

  • 記錄「描述檔管理程式」與其管理的裝置之間的互動。

dmhttpd.log

  • 針對「描述檔管理程式」服務的要求和回應,記錄概略的 HTTP 資料。

dmPortalService.log

  • 記錄來自 /mydevices 使用者入口網站的要求和錯誤。

dmSCEPService.log

  • 記錄 SCEP 服務的要求和錯誤(在裝置註冊期間使用)

dmWebAdminService.log

  • 記錄使用 /profilemanager 網頁管理時的要求和錯誤。

dm_helper.log

  • 針對 macOS 網路使用者記錄其 MDM 相關的使用者認證資訊。

dmrunnerd.log

  • 針對支援「描述檔管理程式」網頁(/profilemanager 和 /mydevices)的受管理 ruby 程序,顯示其啟動和停止狀態。此記錄有時會沒有內容。

migration_tool.log

  • 顯示從舊版 Server.App 進行移轉的狀態和詳細資訊。

php-fpm.log

  • 顯示個別 php-fpm 輔助程式程序的開始和停止狀態。

php-fpm.devicemgr.log

  • PHP 的問題會記錄到這個檔案。

PostgreSQL-

  • 記錄因查詢「描述檔管理程式」的 PostgreSQL 資料庫而產生錯誤的記錄。

  • 也會記錄變更資料庫綱要的指令。

servermgr_devicemgr.log

  • 記錄「描述檔管理程式」服務的開始與停止。

此記錄可提供與網頁伺服器相關的實用資訊:

  • /var/log/apache2/service_proxy_error.log

下列終端機指令可為你提供其他資訊:

sudo log show --info --debug --predicate "(eventMessage contains[cd] 'devicemgr') or (category contains[cd] 'HTTPServer')"

關於交易「失敗」

其中部分記錄可能會列出交易「失敗」或重試。這些項目大部分是正常的,不代表有問題。這些記錄事件表示同時想要修改基礎 PostgreSQL 資料庫的嘗試彼此間發生衝突。這些類型的失敗會重試到成功為止。

交易衝突可由記錄檔案中下列任何一項備註識別出來:

  • Canceled on conflict out to pivot(傳出至樞紐分析發生衝突而取消)

  • could not serialize access due to concurrent update(由於同時更新,無法序列化存取)

  • @@@ Retry #X(@@@ 重試 #X)

  • @@@ Retry X(@@@ 重試 X)

檢查 apspd CFPrefs 檔案

前往 /Library/Preferences/ApplePushServiceProvider,選取 com.apple.apspd.plist,然後選擇「檔案」>「取得資訊」。如果檔案大於 5KB,請將其移除,然後使用下列終端機指令重新啟動 apspd 程序:

sudo killall apspd

使用詳盡記錄尋找更多資訊

如果提高記錄層級,有時可找到更多有關如何修復問題的資訊。若要收集所需的資訊,請在提高記錄層級後重現問題。

完成後請回復至原始記錄層級。如果保留高於設定的記錄層級,這樣會減少你啟動磁碟的可用空間。

開啟詳盡記錄

若要提高記錄層級,請使用這個終端機指令:

sudo debugDeviceMgr 4

這會自動重新啟動「描述檔管理程式」服務。

關閉詳盡記錄

若要將記錄層級回復成原設定,請使用這個終端機指令:

sudo debugDeviceMgr 1

這會自動重新啟動「描述檔管理程式」服務。

更多內容

發佈日期: