[CDGC] Knowledge Base (KB) を使った事例調査

# はじめに
[インフォマティカ](https://www.informatica.com/jp/) は製品に関する情報を [Informatica Community](https://network.informatica.com/s/) の [Knowledge Base](https://knowledge.informatica.com/s/global-search/%20#t=KB&sort=relevancy&f:@athenatabname=[Knowledge%20Base]) (KB) で公開しています。

本記事では、カタログソースのメタデータの抽出でエラーが発生した場合を例として、具体的な検索例やログ確認の Tips をご紹介します。アクセスなど基本的な利用方法については、過去に [CDGC に関する Knowledge Base (KB) のご案内](https://qiita.com/AkiYamano/items/28db2dd17d8102719758) でご紹介していますので、併せてご参照ください。

トラブルシューティング全般に関しては、[[CDGC] これから始める CDGC トラブルシューティング](https://qiita.com/tmasudaf23/items/2b6846a8751a7c3362fd) の記事でも情報をご提供しているので、未読の方はぜひこちらも。

 <!-- 各チャプター -->
# 事象の特徴を集める
事例調査を行うためには、事象の特徴となるキーワードが必要です。
例えば、"メタデータの抽出" "失敗" といったキーワードのみでは大量の事例が検索され、関係する KB を見つけるのは困難です。失敗の特徴を集める必要があります。

:::note warn
一般的なキーワードだけでは、大量の KB がヒットしてしまう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521395/fe87a95a-c5dd-482b-d824-23a7f41ed22f.png)
:::

以下のようなポイントで事象についての情報を集めます。
- 発生したエラーやメッセージ
- カタログソースの種類
- 失敗した処理の名前
- エラーに付随する例外やスタックトレース

# エラーに関する情報を集める
エラーはログより確認します。
確認すべきログは、二つあり、WebUI のログタブから取得できるログとデバッグログです。
ログタブでは処理の進行状況が出力され、デバッグログには処理の詳細が出力されます。

- ログタブのログ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521395/a4bd2de5-d66d-3474-c48e-3ab2a366313a.png)

- デバッグログ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521395/ac45de53-a2bc-e66c-b9b3-1e9a17159f20.png)

# ログの出力からエラーの内容を確認する
今回の例では、デバッグログにエラーが確認されました。
テキストエディタ等でログファイルを開き、ログレベルが **ERROR** のエントリを中心に確認を行います。

メッセージからエラーの **Reason:** として "None of the Assets met filter criteria" の出力があります。
``` debug-20240925-231930.log
24/09/25 23:19:53.904 [main] ERROR (ScannerComponent - CheckpointExecutor:96) - Application has been configured to interrupt the job. Reason: None of the Assets met filter criteria
```

また、以下の ERROR 出力では、スタックトレースを伴っています。
スタックトレースには **Caused by:** に続くメッセージとして "No input was processed" の出力があります。
Caused By: の直前の処理は "com.informatica.ccgf.components.scanner.adsc.impl.executor.MetaDexBatchScannerExecutor.execute" で、ここで ScannerExecutionException の例外が返されたと分かります。また、例外とともに返されたメッセージが、Reason: としても表示されています。
``` debug-20240925-231930.log
24/09/25 23:19:53.918 [main] ERROR (C:Scanner_Framework - ScannerTaskManager:328) - Could not execute scanner task, error: com.informatica.ccgf.services.scanner.framework.exceptions.ScannerExecutionException: Scan finished with abnormal exit status. Reason: No input was processed
com.informatica.ccgf.services.scanner.framework.exceptions.ScannerExecutionException: com.informatica.ccgf.services.scanner.framework.exceptions.ScannerExecutionException: Scan finished with abnormal exit status. Reason: No input was processed
	at com.informatica.ccgf.services.scanner.framework.executor.BatchScannerExecutor.extractMetadata(BatchScannerExecutor.java:390)
	at com.informatica.ccgf.services.scanner.framework.executor.BatchScannerExecutor.execute(BatchScannerExecutor.java:288)
	at com.informatica.ccgf.services.scanner.framework.impl.ScannerTask.execute(ScannerTask.java:105)
	at com.informatica.ccgf.services.scanner.framework.impl.ScannerTaskManager.executeBatchTask(ScannerTaskManager.java:84)
	at com.informatica.ccgf.services.scanner.framework.executor.TaskRunner.run(TaskRunner.java:27)
	at com.informatica.ccgf.services.scanner.framework.ScannerFrameworkApplication.run(ScannerFrameworkApplication.java:137)
	at com.informatica.ccgf.services.scanner.framework.ScannerFrameworkApplication.executeBatchExtraction(ScannerFrameworkApplication.java:124)
	at com.informatica.ccgf.services.scanner.framework.ScannerFrameworkApplication.executeExtraction(ScannerFrameworkApplication.java:67)
	at com.informatica.ccgf.metadatafoundation.extraction.job.MetadataExtractionJob.run(MetadataExtractionJob.java:58)
	at com.informatica.ccgf.metadatafoundation.extraction.job.MetadataExtractionJob.main(MetadataExtractionJob.java:41)
Caused by: com.informatica.ccgf.services.scanner.framework.exceptions.ScannerExecutionException: Scan finished with abnormal exit status. Reason: No input was processed
	at com.informatica.ccgf.components.scanner.adsc.impl.executor.MetaDexBatchScannerExecutor.execute(MetaDexBatchScannerExecutor.java:78)
	at com.informatica.ccgf.services.scanner.framework.executor.ScannerInternalExecutorV2.extractMetadata(ScannerInternalExecutorV2.java:26)
	at com.informatica.ccgf.services.scanner.framework.executor.BatchScannerExecutor.performExtraction(BatchScannerExecutor.java:413)
	at com.informatica.ccgf.services.scanner.framework.executor.BatchScannerExecutor.extractMetadata(BatchScannerExecutor.java:386)
	... 9 common frames omitted
 ```

 # 集まったキーワード
上記のログ確認と併せて、今回は以下のようなキーワードが集まりました。 

- 発生したエラーやメッセージ
None of the Assets met filter criteria
No input was processed
- カタログソースの種類
Snowflake 
- 失敗した処理の名前
Metadata Extraction
- エラーに付随する例外やスタックトレース
ScannerExecutionException
com.informatica.ccgf.components.scanner.adsc.impl.executor.MetaDexBatchScannerExecutor.execute

# KB を検索する
集めたキーワードで検索を行っていきます。
発生したエラーを中心に、検索結果が多すぎる場合はキーワードを追加して絞り込みます。
期待するような結果が得られない場合は、キーワードを入れ替えたり、組み合わせを変更しながら検索をかけていきます。このあたりのさじ加減は慣れもあります。

- エラーメッセージで検索
10件程度なので全部見てもよさそうですが、少し多いので絞り込んでみます。

"None of the Assets met filter criteria"
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521395/9dd505c4-dc7b-bb94-5dd7-29909d3dc7c8.png)

"No input was processed"
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521395/3acc95ec-4dd1-1c54-9f00-6a1d0e14a206.png)

- エラーメッセージとカタログソースの種類で検索
3件程度なので、それぞれの内容を確認します。
この例でも、選んだキーワードによって検索結果に差が出ています。実際には、例外やスタックトレースも含めて、いくつかの組み合わせで試してみてください。

"None of the Assets met filter criteria" "snowflake"
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521395/98e1a107-577f-d0ac-ddfb-7239daefb16d.png)

"No input was processed" "snowflake"
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521395/62912571-46d2-a175-fd79-ca229d66ecea.png)

# KB の内容を確認し、対処する
それぞれの KB の内容を確認した結果、今回のケースはこちらの KB に該当していると考えられ、フィルタ条件に一致するアセットがなかったために、メタデータの抽出が失敗している状況でした。KB の記述に従い、MCC から適切なフィルタ条件を再設定し、また、実行ユーザーに適切な権限があることを確認して状況が改善するかを確認します。
- [ERROR: "No objects were processed" when running snowflake extraction scanner job in CDGC](https://knowledge.informatica.com/s/article/000228551?language=en_US
)

今回の例では絞り込んだ3件の中から該当しそうなKBが見つかったのですが、絞り込みすぎて該当するものが見つからなかったということもあります。その場合は、少し手間はかかりますが、キーワードを減らしたり変えたりして、見つかったKBそれぞれに目を通していくようなアプローチになります。

# おわりに
検索例やログ確認の Tips をご紹介しました。
日頃のトラブルシューティングの一助となれば幸いです。
事例調査で見つかった KB 記事が少しでも役に立ちましたら、KB の画面右側の Like ボタンを押していただけると励みになります！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521395/ce490c02-3f91-68a6-099b-2eb491a7a885.png)