解決 macOS Server 的描述檔管理程式問題

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

如果無法存取管理頁面

「描述檔管理程式」的基本設定位於 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 伺服器

「描述檔管理程式」需要可以用於本機或其他伺服器的 Open Directory 或 Active Directory。設定這些服務時,DNS 設定很重要。如果「描述檔管理程式」沒有開啟,請確認您的伺服器已指向可靠的 DNS 伺服器。您也可以使用 Server app 設定 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

您可以在「/資源庫/Logs/apsd.log」找到記錄檔案。 

在 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」的符號連結。這個檔案會指向「/資源庫/Logs/ProfileManager」,您可以在此處找到這些記錄:

devicemgrd.log
  • 提供 Open Directory 和 Active Directory 使用者及群組的查詢與同步狀態。
  • 針對 devicemgrd 執行的查詢回報錯誤。
  • 顯示與傳送推播通知有關的項目。
  • 顯示與 DEP 和 VPP 交易有關的項目。
dm_helper.log
  • 針對 macOS 網路使用者記錄其 MDM 相關的使用者認證資訊。
dmrunnerd.log
  • 針對支援「描述檔管理程式」網頁(/profilemanager 和 /mydevices)的受管理 ruby 程序,顯示其啟動和停止狀態。此記錄有時會沒有內容。
migration_tool.log
  • 顯示從舊版 Server.app 進行移轉的狀態和詳細資訊。 

php.log

  • 針對「描述檔管理程式」管理的裝置列出其 IP 位址。如果您的裝置位在網路位址轉譯(NAT)的後方,則這裡列出的 IP 位址可能不相符。
  • 顯示傳送至裝置的 MDM 指令的互動情況及其回應。
  • 列出嘗試的描述檔安裝與已傳送至裝置的所有指令。

php-fpm.log

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

php-fpm.devicemgr.log

  • PHP 的問題會記錄到這個檔案。
PostgreSQL-<yyyy-mm-dd>.log
  • 記錄因查詢「描述檔管理程式」的 PostgreSQL 資料庫而產生錯誤的記錄。
  • 也會記錄變更資料庫綱要的指令。
profilemanager.log
  • 記錄在「描述檔管理程式」管理頁面中執行過的所有使用者互動。
  • 列出與「描述檔管理程式」網頁(/profilemanager 和 /mydevices)有關的錯誤訊息。
  • 受管理的 ruby 程序交易問題記錄在此。
servermgr_devicemgr.log
  • 記錄「描述檔管理程式」服務的開始與停止。

下列記錄也可以提供實用的資訊:

  • /var/log/apache2/service_proxy_error.log
  • /var/log/opendirectory.log
  • /var/log/system.log

在 macOS Sierra 和以上版本,有些資訊是經由整合記錄儲存。下列終端機指令可提供您其他實用資訊:

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
  • @@@ Retry X

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

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

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

開啟詳盡記錄

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

sudo debugDeviceMgr 4

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

關閉詳盡記錄

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

sudo debugDeviceMgr 1

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

發佈日期: