[CDGC] これから始める CDGC トラブルシューティング

## はじめに
これまでに幾つかの CDGC のスキャナに関連した記事を紹介してきました。もしかすると、これらのシリーズを読んでいただいた読者様の中には、これらを試し、何らかのエラーに遭遇してしまった人もいるのではないでしょうか。

触り始めたばかりの製品で発生したトラブルはどこのログをどう見ていけばいいのかわかりませんよね。

今回はそういったトラブル対応をしなければならない皆様を対象に、どういった点に着目し、調査をしていくのか、その手順や、それで解決出来なさそうな場合、どのような情報をまとめてサポートチケットを登録するのかにフォーカスしてご案内させて頂きます。

## 問題が発生したら
当たり前だ！と言われてしまいそうですが、エラーが発生した場合、まずはどのフェーズでエラーになったのかを明確にしましょう。これはエラーになったフェーズによって見る場所、ポイントが違うからです。CDGC(実質的には MCC の UI でやりますが)のスキャンは大きく分けて以下のフェーズに分類できます。

- 開始直後(以下のメタデータの抽出までいかないパターン)
- メタデータの抽出(テスト接続 or カタログソースの抽出 or 一括取り込み)
- データプロファイリング

::: note info
データ品質や、データオブザーバビリティなど、他にもトラブルシューティングが必要になるケースもありますが一旦、多くのケースで使われていそうなケースのみに限定しています。

もし、ここに書いているパターンのじゃないなーという場合、英語になりますが、以下の KB を参照し、該当するトラブルシューティングガイドがないか確認してみてください。

[Master KB: CDGC Troubleshooting Guides](https://knowledge.informatica.com/s/article/CDGC-Troubleshooting-Guides?language=en_US)
:::

では、さっそくそれぞれのパターン別にログの場所、どんな風なログなのかを見つつ、トラブルシューティングの流れを確認していきましょう。

## 調査例
### 1.開始直後のエラー
MCC からスキャンを実行したら、比較的短時間でエラーになってしまったようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3520029/1dfa258b-f909-34d4-1dc4-09e14d8ef919.png)

よく見てみると、開始時刻、終了時間も入っておらず、ジョブが開始されなかったと推測されます。また、画面上に殆ど情報は出ていません。(後で出てきますが、通常は UI からログがダウンロードできるようになっています。)

UI を見渡してもログを確認できそうな個所は "エラーの表示" くらいですので、まずはここをクリックして、確認してみましょう。




![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3520029/f4ea666f-d930-6c3d-ef22-fcd3ee66b1fe.png)

すると今回のエラーはどうやら "No active agent was found in the selected runtime environment....." が原因っぽい事がわかります。

```
No active agent was found in the selected runtime environment. Please make sure that 1 agent is active. Please contact Informatica support if the issue persists
```

エラーメッセージからは Secure Agent がアクティブになってない事を示唆していますが、スキャンの実行に必要なサービスである Metadata Foundation Application(MFA) が停止していても同じようなエラーになります。スキャン開始後早々に失敗した場合、SA や MFA の状態を確認してみてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3520029/beaae5c4-2abc-dbc3-16a2-709f2307112a.png)

Secure Agent や MFA に問題がない場合、これ以上調査可能なログがないと想定されます。その場合はサーバー側からの調査が必要になる可能性が高いため、"ジョブの詳細" の右側にある ">" をクリックし、"トレースID" と "ジョブID" を記録し、サポートチケット経由で確認してみてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3520029/031fb4f7-84dd-27f5-f53d-f80d247b2538.png)


### 2.メタデータの抽出(テスト接続 or カタログソースの抽出 or 一括取り込み)でのエラー
MFA を起動し、再度スキャンを実行した所、ジョブ自体は開始されたようですが、またしてもすぐに失敗してしまったようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3520029/ad225d6c-440b-6da3-4382-62858e41061c.png)

この "メタデータの抽出" のフェーズまで進んで失敗した場合、UI からログがダウンロードできます。"メタデータの抽出" の箇所にカーソルを合わせ、下に表示される "デバッグログ" をクリックし、ログをダウンロードしてください。


デバッグログは "<リソース名>-<トレースID>-DebugLogs.zip" の様な名前の ZIP ファイルとしてダウンロードされます。展開すると "debug-YYYYMMDD-nnnnnn.log" の様な形式のログが存在ますので、そちらを確認してみましょう。

```
24/11/29 08:45:11.051 [main] ERROR (ScannerComponent - ApplicationWrapper:139) - Something went wrong during the test connection initialization. Reach out to Informatica support for assistance with the following error message: Failed to initialize execution context for connection test
java.lang.RuntimeException: Failed to initialize execution context for connection test
	at com.compactsolutionsllc.cdimc.app.TestSourceConnectionRunner.getConnectionAwareModule(TestSourceConnectionRunner.java:76)
 ：
 Caused by: com.compactsolutionsllc.cdimc.app.modules.exceptions.InputException: Retrieving data from [connection_name].[database_name_demodbb] failed due to: URL: jdbc:sqlserver://hostname:1433;databaseName=demodbb;encrypt=false;trustServerCertificate=true is invalid
```

このログからはスキャン開始後のテスト接続が失敗した事がわかりますね。テスト接続が失敗していますので、接続文字列自体が正しいか、それが正しい場合、Secure Agent から当該リソースへの接続がブロックされていないかなど、接続が失敗、阻害される要因を推測し、切り分けていくことになりそうです。

もし、ログから有効な情報が得られず、回避が必要な場合、こちらについてもサポートチケットを登録する必要があるかもしれません。その際には、"トレースID" と "ジョブID" と共に、このデバッグログ(ZIPごと)を提供ください。



### 3.データプロファイリングでのエラー
接続エラーを解消し、"メタデータの抽出" は無事完了しましたが、プロファイルで一部、処理が失敗したようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3520029/6dbe068e-b2a2-0f23-ba31-0fda491ce468.png)

この場合、UI の "データプロファイリング" にカーソルを合わせると "FAILED_SESSION_LOGS" のアイコンがあるので、このログをダウンロードしてください。

ダウンロードしたログを確認すると "Invalid object name 'dbo.emp_similar'" という SQL Error が発生している事がわかりました。今回はプロファイル対象の emp_similar というテーブルがスキャンした際に存在しなかった事でエラーになっていたようですね。

```
READER_1_1_1> RR_4029 [2024-12-04 04:55:18.222] SQ Instance [SQ_dbo_SQ_EMP_SIMILAR] User specified SQL Query [SELECT TOP 1000 empno AS empno, ename AS ename, job AS job, mgr AS mgr, hiredate AS hiredate, sal AS sal, comm AS comm, deptno AS deptno FROM dbo.emp_similar]
READER_1_1_1> RR_4049 [2024-12-04 04:55:18.223] SQL Query issued to database : (Wed Dec 04 04:55:18 2024)
READER_1_1_1> CMN_1761 [2024-12-04 04:55:18.240] Timestamp Event: [Wed Dec 04 04:55:18 2024]
READER_1_1_1> RR_4035 [2024-12-04 04:55:18.240] SQL Error [
FnName: Execute -- [Informatica][ODBC SQL Server Wire Protocol driver][Microsoft SQL Server]Invalid object name 'dbo.emp_similar'.].
READER_1_1_1> CMN_1761 [2024-12-04 04:55:18.243] Timestamp Event: [Wed Dec 04 04:55:18 2024]
READER_1_1_1> BLKR_16004 [2024-12-04 04:55:18.243] ERROR: Prepare failed.
WRITER_1_*_1> WRT_8333 [2024-12-04 04:55:18.250] Rolling back all the targets due to fatal session error.
WRITER_1_*_1> WRT_8035 [2024-12-04 04:55:18.250] Load complete time: Wed Dec 04 04:55:18 2024
```

今回はデータプロファイリングが実際にクエリの実行までに至って失敗していた為、"FAILED_SESSION_LOGS" のログだけで済みましたが、これが出ないケースもありえます。その場合には以下のフォルダ配下のログ(出来れば関連する前後の日付のもののみ)を取得・圧縮し、サポートケースを起票してください。

{Secure Agent Install Directory}/apps/Metadata_Foundation_Agent/{latest version}/log
{Secure Agent Install Directory}/apps/Metadata_Platform_Service/{latest version}/log
{Secure Agent Install Directory}/apps/Data_Integration_Server/logs/


## まとめ
いかがでしたでしょうか。今回、デモ用に使用したエラーシナリオはかなり無理やり感のあるシナリオでしたので、実戦で役立つシナリオではないかと思うのですが、なんとなく調査のフロー、取得するログのイメージができたのではないでしょうか。もし、今後、実際の業務で発生したエラーについても上記の様なパターンと照らし合わせて調査をしてみて頂ければ幸いです。

そして、当然ながら上記では足りない、わからないパターンがあると思います。その場合には弊社サポートチームにて支援させて頂ければと思います！その際にはこれまで確認された点をまとめ、以下の様な情報提供を頂けると弊社側としてはスムーズに調査に入れる為、とっても嬉しいです。

<table>
<thead>
<tr><th>エラーになったフェーズ<th>取得情報
<tbody>
<tr><td>全フェーズ共通(問題の概要説明)<td>事象の発生時刻、再現性の有無、過去の実績、発生契機(動いていたが、メンテナンス以降失敗する、など)、再現性の有無など
<tr><td>スキャン開始直後<td>"エラーの表示" + "ジョブID"/"トレースID"
<tr><td>メタデータの抽出(テスト接続 or カタログソースの抽出 or 一括取り込み)<td>"デバッグログ(zip)" + "ジョブID"/"トレースID" 
<tr><td>データプロファイリング<td>"FAILED_SESSION_LOGS" と Data Integration ServerMetadata Foundation Agent/Metadata Platform Service のログ
</table>


## 終わりに
最後までお付き合い頂き、ありがとうございました。ここまで、エラーの際に見るべきログや、サポートに提供する資料について説明してきましたが、、、、実は今回案内したような取得すべき情報は以下の KB にて紹介をさせて頂いています。

[HOW TO: Cloud Data Governance and Catalog に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/HOW-TO-Collect-Cloud-Data-Governance-and-Catalog-Information?language=ja)

上記の KB もほぼ、同じ内容を依頼するコンテンツになっておりますが、文字が多くわかりにくいかもしれない、もしくは、取得する情報はわかるけど調査のイメージがわかない、などがあるのではないかという思いもあり、より理解を頂くため、本コンテンツを作成してみました。


そして、上記の様な初期調査用の KB は CDGC/MCC 以外にも用意されています。もし、IDMC/CDGC 以外の弊社製品で取得情報に迷った際は以下の KB を参考にしてみて頂ければと思います。


# 参考情報


[IICS(CDI): HOW TO: Informatica Intelligent Cloud Services(IICS) に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/623880?language=ja)
[Data Engineering Integaration: HOW TO: DEI に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/625498?language=ja)
[Enterprise Data Catalog: HOW TO: Enterprise Data Catalog 10.5.x に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/000183491?language=ja)
[Enterprise Data Preparation: HOW TO: EDP に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/624038?language=ja)
[Data Quality: HOW TO: Data Qualityに関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/616984?language=ja)
[PowerCenter: HOW TO: PowerCenterに関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/579644?language=ja)
[PowerExchange: HOW TO: PowerExchangeに関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/623411?language=ja)
[Data Integaration Hub: HOW TO: DIH に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/621152?language=ja)
[Master Data Management (MDM) SaaS: HOW TO: MDM SaaS に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/000229892?language=ja)
[MDM: HOW TO: MDM に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/620598?language=ja)
[Product 360: HOW TO: Product 360 (PIM) に関するお問い合わせの前に必要な情報を収集する](https://knowledge.informatica.com/s/article/000202480?language=ja)