0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Tanzu Application PlatformのApplication Live Viewでワークロードの状態を確認する

Posted at

前回、こちらの記事でTanzu Java Web Appのデプロイまでは実施した。
今回の記事はその続きとして、デプロイしたアプリの状態をApplication Live Viewという機能でTAPのGUIから見てみる。
公式ドキュメント的にはカタログの利用はこの辺りで、可視化周りはこの辺りとなる。

Application Live Viewとは

Application Live ViewとはアプリケーションのワークロードをGUI上で表示してくれる。
対応しているのがSpring Boot、Spring Cloud Gateway、Steeltoeと限られているのは残念だが、これらのアプリケーションであればユーザ側で何か作り込みをしなくても、様々なメトリクスなどを見ることが出来る。

Application Live Viewを試す

ここからはこちらの記事の続きとなるため、TAP構築後にTanzu Java Web Appがデプロイされていることを前提とする。

カタログへの登録

ワークロードの可視化を行うにあたり、アプリのカタログを登録する。
カタログはApplication Acceleratorからアプリの雛形を入手した場合、catalog/catalog-info.yamlに格納されている。
カタログの登録前にGitリポジトリ(ここではGitea)を連携させる必要がある。
連携しない場合、Tanzu Developer Portalでカタログを利用しようとすると、以下のエラーが出て先に進めない。

{"error":{"name":"InputError","message":"Error: Unable to read url, NotAllowedError: Reading from 'https://gitea.10.220.157.170.sslip.io/bn_user/tanzu-java-web-app/src/branch/main/catalog/catalog-info.yaml' is not allowed. You may need to configure an integration for the target host, or add it to the configured list of allowed hosts at 'backend.reading.allow'"},"request":{"method":"POST","url":"/locations?dryRun=true"},"response":{"statusCode":400}}

そのため、こちらを参考にtap-values.yamlを編集してGitのドメインを設定して連携させる。なお、証明書もないとエラーが出るのでGiteaの証明書も合わせて追加で設定する。
GiteaをHelmでインストールしている場合、以下で取得できる。

kubectl get secret -n gitea gitea.10.220.157.170.sslip.io-tls  -o jsonpath={.data."ca\.crt"}  | base64 -d

tap-values.yamlを以下のように編集する。
なお、ドキュメントにAcceleratorsのページが壊れるからacc-server.accelerator-system.svc.cluster.localを書くようなWorkaroundが書かれていたので、こちらも素直に従って記載する。

--- tap-values.yaml.noapp-config	2023-09-14 09:23:39.769145132 +0000
+++ tap-values.yaml	2023-09-14 09:55:23.080883110 +0000
@@ -55,8 +55,32 @@
       type: LoadBalancer

 tap_gui:
+  ca_cert_data: |
+    -----BEGIN CERTIFICATE-----
+    MIIDETCCAfmgAwIBAgIQKjFwuHR53a5LTIYtjsU7mDANBgkqhkiG9w0BAQsFADAT
+    :(省略)
+    biMGOi7AV0sO3nT0/hhHcOg8UrfQ
+    -----END CERTIFICATE-----
   metadataStoreAutoconfiguration: true
   app_config:
+    backend:
+      reading:
+        allow:
+        - host: 'gitea.10.220.157.170.sslip.io'
+        - host: acc-server.accelerator-system.svc.cluster.local
     auth:
       allowGuestAccess: true

設定を反映する。

tanzu package installed update tap --values-file tap-values.yaml -n tap-install

HomeからREGISTER ENTITYをクリックする。
1694673371540.png
Repository URLにはTanzu Java Web Appのcatalog-info.yamlのRawでのパス(例:https://gitea.10.220.157.170.sslip.io/bn_user/tanzu-java-web-app/raw/branch/main/catalog/catalog-info.yaml)を設定する。
1694685823215.png

ANALYZEをクリックし、IMPORTをクリックする。
Homeに戻ると、tanzu-java-web-appが追加されていることが分かる。
1694685904614.png

ワークロードの可視化

Tanzu Java Web AppはKnativeで動くため、ワークロードを発生させるために定期的にアクセスしておく。

watch -n 5 curl https://tanzu-java-web-app.tap-demo.tap.10.220.157.170.sslip.io  -k

この状態で、先程のHomeからtanzu-java-web-appをクリックし、Runtime Resourcesをクリックすると、アプリのKubernetesリソースが表示される。
1694687511424.png
KindPodのものをクリックすると、このような画面となる。
1694687585395.png
VIEW POD LOGSからPodのログが、VIEW .YAMLからYAMLが確認できる。ログをkubectlなしで見れるのは開発者にとっては嬉しい機能だと思う。
下のLive Viewに行って、Memoryを選択すると、CPU・メモリの使用量も表示される。
1694687701686.png
ガベージコレクションに関する情報も表示できる。
1694687748571.png
表示可能な項目は以下となっている。

  • Details
  • Health
  • Environment
  • Log Levels
  • Threads
  • Memory
  • Request Mappings
  • HTTP Exchanges
  • Caches
  • Configuration Properties
  • Conditions
  • Scheduled Tasks
  • Beans
  • Metrics
  • Actuator

特別な作り込みをせずにこのような各種情報が取れるのはありがたく、Developerの学習コストも不要という点もDeveloperにはオススメしやすそうだ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?