macOS Server でプロファイルマネージャに関する問題を解決する

プロファイルマネージャが正しく機能しない場合に、問題を特定し、解決する方法をご案内します。

管理ページにアクセスできない場合

プロファイルマネージャの基本設定は、Server App で行います。Safari を使って、プロファイルマネージャの /mydevices Web ページと管理 Web ページにアクセスする必要があります。

管理ページにアクセスできるのは、サーバ管理者だけです。管理ページの 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 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
  • プロファイルマネージャの Web ページ (/profilemanager および /mydevices) をサポートする、管理対象の ruby プロセスの開始と停止の状況が表示されます。このログは、空の場合もあります。
migration_tool.log
  • 以前のバージョンの Server.app からの移行について、その状況と詳細情報が表示されます。 

php.log

  • プロファイルマネージャで管理されているデバイスの IP アドレスが一覧形式で記録されます。デバイスが NAT (Network Address Translation) の背後にある場合、このログに記載されている IP アドレスが一致しなくなることがあります。
  • デバイスに送信された MDM コマンドとその応答のやり取りが表示されます。
  • プロファイルのインストールの試行と、デバイスに送信されたすべてのコマンドが一覧形式で記録されます。

php-fpm.log

  • 個々の php-fpm ヘルパープロセスの開始と停止の状況が表示されます。

php-fpm.devicemgr.log

  • PHP に関する問題は、このファイルに記録されます。
PostgreSQL-<yyyy-mm-dd>.log
  • プロファイルマネージャの PostgreSQL データベースとのクエリで、エラーになったものが記録されます。
  • データベーススキーマを変更するコマンドもこのファイルに記録されます。
profilemanager.log
  • プロファイルマネージャの管理ページで実行されたユーザ操作がすべて記録されます。
  • プロファイルマネージャの Web ページ (/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')"

トランザクションの「エラー」について

一部のログに、トランザクションの「failures (エラー)」または再試行について記録される場合があります。このようなエントリの大半は正常で、問題を示唆するものではありません。このように記録されているイベントは、基盤を支える PostgreSQL データベースの変更を同時に試行したことによる競合です。この類のエラーが起きた場合は、成功するまで再試行されます。

トランザクションの競合が起きている場合は、ログファイルに以下のような記載があるので、わかります。

  • Canceled on conflict out to pivot
  • could not serialize access due to concurrent update
  • @@@ Retry #X
  • @@@ Retry X

verbose ログを使って詳細情報を入手する

ログのレベルを上げると、問題の解決方法について詳しい情報を入手できる場合があります。必要な情報を収集するには、ログのレベルを上げた後で問題を再現します。

終わったら、元のログレベルに戻してください。ログのレベルを高い設定のままにしておくと、起動ドライブの空き容量が減ってしまいます。

verbose のログ記録を有効にする

ログのレベルを上げるには、以下のターミナルコマンドを実行します。

sudo debugDeviceMgr 4

このコマンドを実行すると、プロファイルマネージャサービスが自動的に再起動します。

verbose のログ記録を無効にする

ログのレベルを元の設定に戻すには、以下のターミナルコマンドを実行します。

sudo debugDeviceMgr 1

このコマンドを実行すると、プロファイルマネージャサービスが自動的に再起動します。

関連情報

公開日: