共通ログ

このドキュメントでは、表示される一般的なログエントリと意味、およびその処理方法について説明します。

🏠目次

🔙 以前の Dispatcher バニティ URL

グロブ警告

ログエントリの例:

[Fri Jul 20 03:35:09 2018] [W] [pid 8300 (tid 139937910880384)] /etc/httpd/conf/publish-filters.any:5: Allowing requests with globs is considered unsafe. Please consult the documentation at 'https://www.adobe.com/go/docs_dispatcher_config_en' on how to use attributes method/url/query/protocol/path/selectors/extension/suffix instead.

ディスパッチャーモジュール 4.2.x 以降、フィルターファイルで次のタイプの一致を使用することが抑制されるようになりました。

/0041 { /type "allow" /glob "* *.css *"   }  ## enable css

代わりに、次のような新しい構文を使用する方が良いでしょう。

/0041 { /type "allow" /url "*.css" } ## enable css

または、ワイルドカードマッチャーに全く一致しないようにするとさらに良いでしょう。

/0041 { /type "allow" /extension "css" } ## enable css 

推奨された方法のいずれかを実行すると、ログからそのエラーメッセージが排除されます。

フィルター拒否

注意:

ログレベルの設定が低すぎる場合に拒否が発生しても、これらのエントリが常に表示されるわけではありません。フィルターによってリクエストが拒否されているかどうかを確認できるように、情報またはデバッグに設定します。

ログエントリの例:

[Fri Jul 20 17:25:48 2018] [D] [pid 25939 (tid 139937517123328)] Filter rejects: GET /libs/granite/core/content/login.html HTTP/1.1 

または:

[Fri Jul 20 22:16:55 2018] [I] [pid 128803] "GET /system/console/" ! - 8ms [publishfarm/-] 
警告:

ディスパッチャーのルールが、そのリクエストをフィルターして除外するように設定されていることを理解します。  この場合、訪問しようとしたページは意図的に拒否されており、これ以上は何の処理もおこないません。

ログが次のようなエントリになる場合:

[Fri Jul 20 17:26:47 2018] [D] [pid 20051 (tid 139937517123328)] Filter rejects: GET /etc/designs/exampleco/fonts/montserrat-regular/montserrat-regular-webfont.eot HTTP/1.1 

これにより、デザインファイルの .eot がブロックされていることがわかり、この問題を解決したいと思います。

このため、フィルターファイルを確認し、.eot ファイルを許可するよう次の行を追加します。

/0011 { /type "allow" /method "GET" /extension 'eot' /path "/etc/designs/*" }

これにより、ファイルが通過し、ログに記録されなくなります。

フィルタリングの対象を確認するには、ログファイルで次のコマンドを実行します。

$ grep "Filter rejects\|\!" /var/log/httpd/dispatcher.log | awk 'match($0, /\/.*\//, m){ print m[0] }' | awk '{ print $1 }'| sort | uniq -c | sort -rn 

レンダリングからのタイムアウト

ソケットタイムアウトのログエントリの例:

[Fri Jul 20 22:31:15 2018] [W] [pid 3648] Unable to connect socket to 10.43.3.40:4502: Connection timed out 
[Fri Jul 20 22:31:15 2018] [W] [pid 3648] Unable to connect to any backend in farm authorfarm

これは、ファームのレンダリングセクションで誤った IP アドレスが設定されている場合に発生します。  そのインスタンスまたは AEM インスタンスが応答またはリスンを停止し、ディスパッチャーが到達できません。

ファイアウォールルールを確認し、AEM インスタンスが正常に実行中であることを確認します。

ゲートウェイタイムアウトのログエントリの例:

[Fri Jul 20 22:32:42 2018] [I] [pid 3648] "GET /favicon.ico" 502 - 54034ms [authorfarm/-] 
[Fri Jul 20 22:35:45 2018] [I] [pid 3648] "GET /favicon.ico" 503 - 54234ms [authorfarm/-]

これは、AEM インスタンスが接続可能なオープンソケットを持ち、応答がタイムアウトしたことを意味します。  これは、AEM インスタンスが遅すぎるか、または正常でなかったため、ディスパッチャーがファームのレンダリングセクションで設定されたタイムアウト設定に到達したことを意味します。  タイムアウト設定を増やすか、AEM インスタンスを正常な状態にします。

キャッシュレベル

ログエントリの例:

[Fri Jul 20 23:00:19 2018] [I] [pid 16004 (tid 140134145820416)] Current cache hit ratio: 87.94 % 

つまり、レンダリングレベルからのフェッチとキャッシュからのフェッチが測定されます。  キャッシュから 80%以上のヒットををヒットしたい場合は、次のヘルプに従ってください。

https://helpx.adobe.com/jp/experience-manager/kb/optimizing-the-dispatcher-cache.html

この数をできるだけ大きく設定します。

注意:

ファームファイルでキャッシュ設定をおこなった場合でも、フラッシュの頻度が多すぎたり、過度におこなわれると、キャッシュヒット率が低下する可能性があります。

ディレクトリが見つかりません

ログエントリの例:

[Fri Jul 20 14:02:43 2018] [E] [pid 4728 (tid 140662586435328)] Unable to create parent directory /mnt/var/www/author/libs/dam/content/asseteditors/formitems.overlay.infinity.json/application: Not a directory

通常、キャッシュのクリアとアイテムのフェッチが同時に発生する際に発生します。

そのディレクトリまたはドキュメントルートディレクトリの権限が適切でない、またはフォルダー上の誤った SELinux ファイルコンテキストによって拒否されるので、Apache が新しい必要なサブディレクトリを作成できません。

権限の問題については、ドキュメントルートの権限を確認し、次のように表示されていることを確認します。

dispatcher$ ls -la

バニティ URL が見つかりません

ログエントリの例:

[Thu Sep 27 17:35:11 2018] [D] [pid 18936] Checking vanity URLs 
[Thu Sep 27 17:35:11 2018] [D] [pid 18936] Vanity URL file (/tmp/vanity_urls) not found, fetching... 
[Thu Sep 27 17:35:11 2018] [W] [pid 18936] Unable to fetch vanity URLs from 10.43.0.42:4503/libs/granite/dispatcher/content/vanityUrls.html: remote server returned: HTTP/1.1 404 Not Found

このエラーは、動的な自動フィルター許可バニティ URL を使用するようディスパッチャーを設定し、AEM レンダラーにパッケージをインストールしてセットアップが完了していない場合に発生します。

この問題を修正するには、AEM インスタンスに vanityurl 機能パックをインストールし、匿名ユーザーがその機能パックを準備できるようにしてください。  詳細はこちら

動作バニティ URL は次のように設定されます。

[Thu Sep 27 17:40:29 2018] [D] [pid 21844] Checking vanity URLs 
[Thu Sep 27 17:40:29 2018] [D] [pid 21844] Vanity URL file (/tmp/vanity_urls) not found, fetching... 
[Thu Sep 27 17:40:29 2018] [D] [pid 21844] Loaded 18 vanity URLs from file /tmp/vanity_urls

ファームが見つからない

ログエントリの例:

[Wed Nov 13 17:17:26 2019] [W] [pid 19173:tid 140542738364160] No farm matches host 'we-retail.com', selected last farm 'publishfarm'

このエラーは、/etc/httpd/conf.dispatcher.d/enabled_farms/ で利用可能なすべてのファームファイルで、/virtualhost セクションの一致するエントリを見つからなかったことを意味します。

ファームファイルは、要求の送信元となるドメイン名またはパスに基づいてトラフィックを照合します。  グロブ一致を使用し、一致しない場合は、ファームの設定が正しく行われていない、ファームへの入力が間違っている、または入力されていないのいずれかになります。   ファームがどのエントリにも一致しない場合、最終的には、ファームファイルのスタックに含まれる最後のファームがデフォルトになります。  この例では、publishfarm の汎用名が付けられた 999_ams_publish_farm.any でした。

次に、関連するパーツをハイライト表示するために縮小されたファームファイル /etc/httpd/conf.dispatcher.d/enabled_farms/300_weretail_publish_farm.の例を示します。

アイテムの供給元

ログエントリの例:

[Tue Nov 26 16:41:34 2019] [I] [pid 9208 (tid 140112092391168)] "GET /content/we-retail/us/en.html" - + 24034ms [publishfarm/0]

コンテンツ /content/we-retail/us/en.html の GET http メソッドを使用してページが取得され、24034 ミリ秒かかりました。  最後の [publishfarm/0] に注目してください。これが、パブリッシュファームをターゲットにし、一致していることがわかります。  リクエストはレンダリング 0 からフェッチされました。  これは、このページを AEM からリクエストしてからキャッシュする必要があったことを意味します。  次に、このページを再度リクエストし、ログに何が起こるかを確認します。

ログエントリの例:

[Tue Nov 26 16:42:16 2019] [I] [pid 9207 (tid 140112321234688)] "GET /content/we-retail/us/en.html" - - 1ms [publishfarm/-]

アイテムが再度要求され、以前のリクエストと同じ publishfarm をターゲットにしていたことがわかります。  今回はエントリは末尾にダッシュの付いた [publishfarm/-] となり、そのエントリがキャッシュから供給され、AEM レンダラーから取得する必要がなかったことを示します。

アドビのロゴ

アカウントにログイン