<Stack Monitoring①> WebLogicとTomcatを監視する

Stack Monitoringは、アプリケーションのスタックとなるデータベースやアプリケーション・サーバーといったミドルウェア・リソース及びアプリケーションを監視するためのメトリック・データを提供します。
また、Stack Monitoringは、管理エージェントをインストールすることで、OCIのコンピュートだけでなく、オンプレミスや他社クラウド上のリソースも対象にすることが可能です。
サポート対象のリソースは[こちら](https://docs.oracle.com/ja-jp/iaas/stack-monitoring/doc/introduction.html)のドキュメントをご確認下さい。

[OCIチュートリアル](https://oracle-japan.github.io/ocitutorials/management/stack_monitoring_install/)に基本的な設定手順がありますが、今回は具体的に各ミドルウェア・リソースの検出方法について紹介します


## WebLogicの検出
OCIにWeblogicインスタンスを新規に作成し、Stack Monitoringにリソース追加する手順を紹介していきます
- まず最初に、マーケットプレイスのOracle WebLogic Server Enterprise Edition UCMからインスタンスを作成する。作成時のパラメータや構成はお好みでどうそ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/7047907e-4d40-fe5a-287f-434fcd43b7c9.png)


- インスタンス作成後、WebLogicのコンピュート・インスタンスのOracle Cloudエージェントにある管理エージェントのプラグインを有効化する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/3d7c2b01-959b-6fe8-ac50-805b6edc6cac.png)

- しばらく待つと、OCIメニューから管理エージェント -> エージェント内にWebLogicインスタンスのAgentが表示されるので選択し、Stack Monitoringのプラグインのデプロイを行う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/f79e1157-3206-c521-d1e3-bf5734d06f4b.png)

- OCIメニューからアプリケーション・パフォーマンス・モニタリング -> スタック・モニタリングを選択。リソース -> すべてのリソースでWebLogicインスタンスが稼働中になっていることを確認
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/e2625934-05be-54b2-420b-20a9f9e4cfbf.png)
- ここまでWeblogicのLinux OSがStack Monitoringへの追加が完了。上記の名前をクリックし、チャートを見るとLinux OSの監視メトリックを参照できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/47fb5135-e16b-79e9-97b8-111ccbbef8f6.png)

- 続いてWebLogicのリソースを追加する。アプリケーション・パフォーマンス・モニタリング → スタック・モニタリング -> リソース検出から新しいリソースの検出をクリックする。リソース・タイプをOracle WebLogicドメインを選択し下記を入力し検出を実行
リソース名 -> 任意、管理サーバー・ホスト -> VMのホスト名
管理サーバー・ポート -> 9071、プロトコル -> t3、
管理エージェント -> WebLogicインスタンスのエージェント、WebLogic作成時に指定したAdminユーザー名とパスワード 
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/c09a730b-550e-d994-b9cc-53c97ae8d35d.png)
- 正常に検出できればジョブのステータスは成功で完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/503b7ddf-82d0-68e5-740d-cd4354125e28.png)
- リソース名をクリックし、メンバーを確認すると、WebLogicドメインを構成するクラスタ、管理サーバー、管理対象サーバーがメンバーとして構成されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/73eddb39-51e5-f2b0-89cd-e906b2cf833c.png)
- 管理・管理対象サーバーにはWebLogic用の17種類のメトリックが定義されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/607a4c21-186a-e9f1-7778-eafe3810efad.png)

以上でWebLogicをStack Monitoringで監視する手順は完了です
OCIのコンピュート上に稼働するWebLogicの場合は、Cloudエージェントのプラグインで管理エージェントを有効化させることができましたが、オンプレミスやOCI以外のクラウドの場合は、管理エージェントを手動でWebLogicサーバーにインストールする必要があります
手動で管理エージェントをインストールする場合は[こちら](https://qiita.com/western24/items/547d21502bb985ae01f0)の手順を参考にして下さい

## Apache Tomcatの検出
Tomcatの設定手順については割愛
Tomcatは、JMXで監視されるため、リモートからJMXが監視できるように事前設定が必要。[こちら](https://docs.oracle.com/en/cloud/paas/management-cloud/moncs/monitoring-prerequisites-and-credentials.html#GUID-CA3EA30B-162C-49B1-AAA5-F705EBE1DC4B)のドキュメントを参考に設定する
```
$ vi $CATALINA_HOME/bin/setenv.sh
※下記を追加し保存
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"
$ chmod 755 $CATALINA_HOME/bin/setenv.sh

$ vi $CATALINA_HOME/conf/jmxremote.password 
※下記を追加し保存
control tomcat
admin tomcat

$ vi $CATALINA_HOME/conf/jmxremote.access 
※下記を追加し保存
control readonly
admin readwrite

$ chmod 600 jmxremote.access
$ chmod 600 jmxremote.password

$ sh $CATALINA_HOME/bin/shutdown.sh
$ sh $CATALINA_HOME/bin/startup.sh
```

- 続いてApache Tomcatのリソースを追加する。アプリケーション・パフォーマンス・モニタリング → スタック・モニタリング -> リソース検出から新しいリソースの検出をクリックする。リソース・タイプをApache Tomcatを選択し下記を入力し検出を実行
リソース名 -> 任意、管理サーバー・ホスト -> ホスト名
JMXポート -> 9999
管理エージェント -> Apacheインスタンスのエージェント、JMXで指定したユーザー名とパスワード 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/9c9955f2-4373-9bbf-1b6c-effb724efc97.png)

- 正常に追加できれば、Tomcat用の15種類のメトリックが参照可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/5dcc2e67-7fcc-0c4e-3e2b-e6df8f31c9b0.png)

次回は、Oracle Databaseのリソース検出方法について紹介します。