Anypoint Monitoring のログ
Runtime Manager を使用したログの記録に加え、Anypoint Monitoring でログファイルが集約されるため、ログの管理、検索、絞り込み、分析を行うことができます。集約されたログを監視と併用して、迅速な問題の特定と障害の調査に役立てることができます。これらの機能では次の操作がサポートされます。
-
選択された Mule アプリケーションと環境の検索に基づいてイベントおよび情報パターンの比較分析と識別を行う。
-
Mule アプリケーションの特定のワーカー (またはワーカーのセット) のログ内を検索して確認する問題の範囲を狭める。
-
重要なログのスナップショットを問題の原因に取り組む開発者と共有する。
カスタマイズされたログを使用するオンプレミスサーバの場合: (
カスタマイズされたタイムゾーンを使用して Cloudhub および Anypoint Runtime Fabric にデプロイされたアプリケーションの場合: カスタマイズされたタイムゾーンを使用して Cloudhub および Anypoint Runtime Fabric にデプロイされたアプリケーションでは、デフォルトの JVM タイムゾーンを上書きしないでください。タイムゾーンは UTC である必要があります。タイムゾーンをローカルタイムゾーンに変更すると、Anypoint Monitoring では誤ったタイムスタンプでログがインデックス付けされます。 |
検索ログ
Anypoint Monitoring の左側のメニューで [Log Search (ログ検索)] をクリックします。ログ検索ページでは、いくつかの異なる方法でログのテキストを検索できます。検索項目に検索クエリを入力する方法、UI を使用して検索条件を追加する方法、クエリを作成する方法があります。
ログ検索クエリ
ログを検索するには、検索クエリをログ検索項目に入力し、Enter キーを押します。
検索する語を正確に指定します。たとえば、不正な要求を見つけるには「"code 400"
」と入力します。複数単語の
完全一致を見つけるには、検索語を引用符で
囲みます。
"code 400"
の検索結果の例:

正確な語がわからない場合は、検索にアスタリスクワイルドカードを使用します。
ワイルドカード検索 payload=org.glassfish.grizzly*
の結果の例:

検索条件の追加
事前定義された項目、演算子、および値を使用してログを検索するための検索条件を作成できます。
-
[+Add a filter (+検索条件を追加)] をクリックします。
-
ドロップダウンリストから事前定義された項目を選択します。
-
application
-
class
-
environment
-
environment type
-
log level
-
logger
-
message
-
thread
-
timestamp
-
worker
-
-
ドロップダウンリストから演算子を選択します。
使用可能な演算子は、選択した項目に応じて変化します。
演算子を選択すると、値が必須の場合は、[Value (値)] ボックスが右側に表示されます。 -
該当する場合は、値を入力します。
次の画像は、検索条件を使用して、タイムスタンプが指定された日付の範囲内であるログをすべて検索する例を示します。 -
(省略可能) [Label (表示ラベル)] に値を入力します。
-
[Save (保存)] をクリックします。
[+Add a filter (+検索条件を追加)] の右に検索条件が表示されます。
検索クエリ
検索クエリをクエリ DSL に変換する手順は、次のとおりです。
-
[+Add a filter (+検索条件を追加)] をクリックします。
-
[Edit Query DSL (クエリ DSL を編集)] をクリックします。
-
クエリを入力し、[Save (保存)] をクリックします。
次の例は、「INFO」という log-level を検索するクエリを示します。{ "query": { "match": { "log-level": { "query": "INFO", "type": "phrase" } } } }
検索クエリ UI には、クエリのドキュメントへのリンクがあるため、より複雑なクエリを実行できます。
次の例は、複雑なクエリを示します。
{ "query": { "range": { "workerId": { "gte": 0, "lte": 20 } } } }
複雑な検索クエリには、検索条件と値を指定する UI に同等の機能がないことがあります。そうしたクエリはクエリ UI で作成および表示するしかありません。 |
ログデータの表示
デフォルトでは、ログ検索結果内のログエントリは簡略化されています。ログメッセージと詳細をテーブルまたは JSON 形式に展開して表示できます。

表形式ログ
次の例は、テーブルとして展開されたログエントリを示します。テーブルには、[Quick Filter (簡易検索条件)] リストに表示されるログ検索条件項目が含まれます。
application test40x.us-e1.qax.cloudhub.io
class qtp437897409-31
environment Sandbox
environment type %{[fields][env_type]}
log level ERROR
logger DefaultMessagingExceptionStrategy
message
****************************************************
Message : No record could be found in payload or in flow variable BATCH_RECORD (java.lang.IllegalStateException).
Element : null
----------------------------------------------------
Exception stack is:
No record could be found in payload or in flow variable BATCH_RECORD (java.lang.IllegalStateException). (org.mule.api.transformer....
(72 more...)
(set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
****************************************************
timestamp April 25th 2018, 17:09:53.517
worker 0
JSON 形式のログ
次の例は、JSON 形式で展開されたログエントリを示します。
{
"_version": 1,
"_source": {
"class": "qtp437897409-31",
"logger": "DefaultMessagingExceptionStrategy",
"_ending": 0,
"timestamp": "2018-04-26T00:09:53.517Z",
"message": ".Example***
.ExampleMessage: No record could be found in payload or in flow variable
BATCH_RECORD (java.lang.IllegalStateException)..ExampleElement...",
"log level": "ERROR",
"worker": "0",
"environment": "Sandbox",
"environment type": "sandbox",
"application": "test40x.us-e1.qax.cloudhub.io"
},
"fields": {
"timestamp": [
"2018-04-26T00:09:53.517Z"
]
},
"highlight": {
"orgId": [
"@kibana-highlighted-field@6046b96d@/..."
]
},
"sort": [
1524701393517
]
}
前後のログの表示
特定の問題に関するログを見つけた後、その前後にある他のログレポートを調べることがあります。
-
選択したログから、[View Surrounding Logs (前後のログを表示)] をクリックします。
-
選択したログの前後から指定件数のログを読み込むか、デフォルトを使用します。
デフォルト設定は次のとおりです。
-
Load 5 more newer logs (以降のログをさらに 5 件読み込む)
-
Load 5 more older logs (以前のログをさらに 5 件読み込む)
事前定義された検索条件の使用
[Quick Filters (簡易検索条件)] リストが開いている場合、事前定義されたログ検索条件を選択して使用できます。
各結果グループごとに、[Quick Filters (簡易検索条件)] リストには、最新の 500 件のログエントリの最初の 5 個の結果が表示されます。500 件を超えるエントリがある場合や、上位 5 個の値が合計値の 100% を表していない場合は、結果グループごとに [See More (表示を増やす)] リンクが表示されます。[See More (表示を増やす)] をクリックすると、[Add a Filter (検索条件を追加)] ボックスが開き、ここでパラメータを設定して結果をさらに絞り込むことができます。 |
事前定義された検索条件の次の例では、ERROR ログレベルを選択しています。

[Quick Filter (簡易検索条件)] リストから事前定義された検索条件を選択すると、 ページ最上部近くの [Add a Filter (検索条件を追加)] の横に表示されます。

検索条件にカーソルを置くと、次のアクションを選択できます。
-
Enable/Disable (有効化/無効化) - 検索条件を有効化または無効化します。無効化された検索条件はグレー表示されます。
-
Pin/Unpin (固定/固定解除) - 検索条件を固定または固定解除します。
-
Invert (反転) - 検索条件の操作を変更します。たとえば、検索が
log level IS ERROR
の場合、 反転後は log level IS NOT ERROR
になります。 -
Remove (削除) - 検索条件を削除します。
-
Edit (編集) - 検索条件設定を変更します。
ログへの検索条件列の追加
[Quick Filters (簡易検索条件)] リストから、ログ結果の列の追加や削除ができます。たとえば、[Log Level (ログレベル)]、[Timestamp (タイムスタンプ)] または [Environment (環境)] 項目を追加することもできます。
検索条件項目の列アイコンを次のようにクリックします。

ログに次のような [log-level
(ログレベル)] 列が作成されます。

検索条件列を削除するには、検索条件項目の列アイコンを 次のようにクリックします。

列にカーソルを置いたときに表示される [X] アイコンを使用して削除することもできます。
検索条件列の移動
ログ結果の検索条件列を左または右に移動するには、列ヘッダーにカーソルを置いて矢印アイコンを使用します。

検索条件
事前定義された検索条件または作成した検索条件を使用します。
検索条件 | 説明 | 例 |
---|---|---|
|
CloudHub の Mule アプリケーションのフルドメイン。 |
|
|
ログを生成する Java クラス。 |
|
|
CloudHub 環境名。 |
|
|
CloudHub 環境種別 |
|
|
ALL、DEBUG、ERROR、FATAL、INFO、OFF、TRACE、WARN |
|
|
Log4J ロガークラス |
|
|
Log4J メッセージ |
|
|
ログのタイムスタンプ。有効な形式: |
サポートされる時間設定は、
|
|
CloudHub ワーカー ID。 |
|
ログ項目値全体に基づく絞り込み
結果のログでじょうご型アイコンを使用して、ログ項目値全体に対する検索条件を作成または削除できます。

作成した検索条件は、ページ上部の検索条件領域に検索条件タグとして表示されます。

その検索条件は他の検索条件と同様に編集や使用ができます。「検索条件」を参照してください。
ログの共有
ログへの URL を共有できます。
-
ログから、画面右上にある 3 つの縦ドットをクリックします。
-
[Share (共有)] を選択してログページの URL を [Share Logs Search Link (ログ検索リンクを共有)] 項目に読み込みます。
-
[Copy (コピー)] をクリックします。
ログ検索の保存と保存したログ検索の表示
ログ検索を保存して表示します。
-
[Save Search (検索を保存)] をクリックします。
-
[View saved searches (保存した検索を表示)] を選択します。
-
[View Saved Searches (保存した検索を表示)] を再度クリックして、メインのログページに戻ります。


検索のクリア
「ログ検索の保存と保存したログ検索の表示」と同じメニューから現在の検索をクリアできます。
-
[Save Search (検索を保存)] をクリックします。
-
[Clear Current Search (現在の検索をクリア)] を選択します。