解决 macOS 服务器中描述文件管理器的相关问题

如果描述文件管理器工作异常,请了解如何找到并修复问题。

如果您无法访问管理页面

描述文件管理器的基本设置位于 Server 应用中。您可以使用“Safari 浏览器”来访问描述文件管理器的 /mydevices 网页和管理网页。

只有服务器管理员才能访问管理页面。管理页面的 URL 格式如下:

  • https://您的服务器的完全限定域名/profilemanager
    例如:https://www.example.com/profilemanager

要注册 iPhone、iPad、iPod touch 或 Mac,请前往:

  • https://您的服务器的完全限定域名/mydevices
    例如:https://www.example.com/mydevices

如果您无法使用“Safari 浏览器”以外的 Web 浏览器来访问管理页面,请尝试使用“Safari 浏览器”。如果您无法使用“Safari 浏览器”进行访问,请尝试其他步骤。

检查您的 DNS 服务器

描述文件管理器需要有可从本地或其他服务器使用的 Open Directory 或 Active Directory。当您设置这些服务时,DNS 设置非常重要。如果描述文件管理器没有打开,请确保您的服务器指向可靠的 DNS 服务器。您也可以使用 Server 应用设置 DNS,以便您的服务器可以自行解决问题。

如果您无法将描述文件或应用推送到客户端

如果您在向客户端系统推送描述文件或应用时遇到问题,请在“控制台”中检查系统日志文件。如果日志文件报告您的服务器无法连接到 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(@@@ 重试 #X)
  • @@@ Retry X(@@@ 重试 X)

使用详细日志记录查找更多信息

如果您提高日志级别,有时候可获得有关如何修复问题的更多信息。为收集您所需的信息,请在提高日志级别后重现问题。

完成后,复原至原始的日志级别。如果您将日志级别保持在较高的设置,它会减少启动驱动器上的可用空间。

开启详细日志记录

要降低日志级别,请使用以下“终端”命令:

sudo debugDeviceMgr 4

这将自动重新启动描述文件管理器服务。

关闭详细日志记录

要将日志级别复原至原始设置,请使用以下“终端”命令:

sudo debugDeviceMgr 1

这将自动重新启动描述文件管理器服务。

发布日期: