WebLogic 管理コンソールから見るアプリケーションの動作

58
Copyright (c)2017 ITOCHU Techno-Solutions Corporation Copyright (c)2017 ITOCHU Techno-Solutions Corporation WebLogic Server 勉強会@東京 WebLogic Server 管理コンソールから見るアプリケーションの動作 ITプラットフォームビジネス推進第1部 橋本 和俊 2017/4/12

Transcript of WebLogic 管理コンソールから見るアプリケーションの動作

Page 1: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation Copyright (c)2017 ITOCHU Techno-Solutions Corporation

WebLogic Server勉強会東京

WebLogic Server 管理コンソールから見るアプリケーションの動作

ITプラットフォームビジネス推進第1部

橋本 和俊

2017412

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

はじめに

bull 発表する内容は個人の見解であり所属する組織の公式な見解ではありません

bull 資料の内容は正確を期するよう注意しておりますが妥当性や正確性について保証するものではありません

bull 資料に関しては以下の環境において作成しております

ndash Oracle WebLogic Server 12211

bull 内容として管理者向け及び初心者用に用意してあります

1

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

自己紹介

bull 橋本 和俊

ndash WebLogicサポートに12年従事

ndash 旧SunJavaSystemサポートに10年従事

bull Oracle iPlanet Web Server

bull Oracle iPlanet Web Proxy Server

bull Oracle Communications Messaging Server

bull Oracle Directory Server Enterprise Edition

など

ndash 最近はBI系やらNoSQL系やらhellip

2

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Agenda

bull 管理コンソールの確認できる内容

bull 組込み診断システムモジュール(WLDF)の使用

bull 監視ダッシュボードの利用

bull おまけ

3

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

管理コンソールのモニタリング機能

使っていますか 無理に使わなくてもいいのですがhellip

4

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング

ここです

5

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

サポート問い合わせ時に欲しい情報

6

せめてここだけでも見ましょう

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

7

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 2: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

はじめに

bull 発表する内容は個人の見解であり所属する組織の公式な見解ではありません

bull 資料の内容は正確を期するよう注意しておりますが妥当性や正確性について保証するものではありません

bull 資料に関しては以下の環境において作成しております

ndash Oracle WebLogic Server 12211

bull 内容として管理者向け及び初心者用に用意してあります

1

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

自己紹介

bull 橋本 和俊

ndash WebLogicサポートに12年従事

ndash 旧SunJavaSystemサポートに10年従事

bull Oracle iPlanet Web Server

bull Oracle iPlanet Web Proxy Server

bull Oracle Communications Messaging Server

bull Oracle Directory Server Enterprise Edition

など

ndash 最近はBI系やらNoSQL系やらhellip

2

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Agenda

bull 管理コンソールの確認できる内容

bull 組込み診断システムモジュール(WLDF)の使用

bull 監視ダッシュボードの利用

bull おまけ

3

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

管理コンソールのモニタリング機能

使っていますか 無理に使わなくてもいいのですがhellip

4

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング

ここです

5

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

サポート問い合わせ時に欲しい情報

6

せめてここだけでも見ましょう

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

7

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 3: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

自己紹介

bull 橋本 和俊

ndash WebLogicサポートに12年従事

ndash 旧SunJavaSystemサポートに10年従事

bull Oracle iPlanet Web Server

bull Oracle iPlanet Web Proxy Server

bull Oracle Communications Messaging Server

bull Oracle Directory Server Enterprise Edition

など

ndash 最近はBI系やらNoSQL系やらhellip

2

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Agenda

bull 管理コンソールの確認できる内容

bull 組込み診断システムモジュール(WLDF)の使用

bull 監視ダッシュボードの利用

bull おまけ

3

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

管理コンソールのモニタリング機能

使っていますか 無理に使わなくてもいいのですがhellip

4

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング

ここです

5

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

サポート問い合わせ時に欲しい情報

6

せめてここだけでも見ましょう

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

7

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 4: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Agenda

bull 管理コンソールの確認できる内容

bull 組込み診断システムモジュール(WLDF)の使用

bull 監視ダッシュボードの利用

bull おまけ

3

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

管理コンソールのモニタリング機能

使っていますか 無理に使わなくてもいいのですがhellip

4

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング

ここです

5

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

サポート問い合わせ時に欲しい情報

6

せめてここだけでも見ましょう

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

7

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 5: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

管理コンソールのモニタリング機能

使っていますか 無理に使わなくてもいいのですがhellip

4

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング

ここです

5

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

サポート問い合わせ時に欲しい情報

6

せめてここだけでも見ましょう

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

7

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 6: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング

ここです

5

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

サポート問い合わせ時に欲しい情報

6

せめてここだけでも見ましょう

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

7

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 7: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

サポート問い合わせ時に欲しい情報

6

せめてここだけでも見ましょう

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

7

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 8: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt 一般

7

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 9: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー

javaxnamingNameNotFoundException

などJNDI関連でエラーが出たら

JNDIに登録されているかどうかを確認してください

8

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 10: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JNDIツリー(JDBC)

JDBCコネクションプールの

JNDI例

9

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 11: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ヘルス

せめてここだけでも見ましょう

10

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 12: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル

各チャネルにおける状態を確認します

基本よくアクセスする箇所についての状況を確認すればOKです

11

自動更新ボタン

Default10秒 管理コンソールのホーム画面から

[コンソールのプリファレンス設定] -gt [リフレッシュ間隔]で変更可能

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 13: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt チャネル -gt http

アクセスがどこからきているかを確認しますあまり使わないですがアクセスログから

統計を見るよりも簡単です

12

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 14: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt パフォーマンス

FullGCを促すことができます

スレッドダンプも見ることができます

アクセスしたタイミングの情報のみですが

簡単な状況確認には十分な情報があります

13

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 15: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

スレッドダンプ表示

14

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 16: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 現状のアクティブ保留中のリクエスト数とか分かります

[この表のカスタマイズ]からキュー等も表示することが可能です

bull スタックスレッド数を確認しスレッドがスタック状態になっていないかを確認してください

bull スループットも状況において確認しアクセス全体がどのくらいの時間がかかっているかを確認してください(今回テストアプリが重かったのでhellip)

上の部分です

15

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 17: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

下の部分です

16

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 18: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド

bull 各スレッドの個別の情報を見ることができます

bull どのユーザがアクセスしているのかまたスレッドがどのアプリのどのリクエストを対応しているか現時点でどれだけかかっているかを確認することができます

bull あまりに時間がかかっている場合はスレッドを確認し何に時間がかかっているかを見ましょう

17

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 19: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

現在のリクエスト

項目名 値 解説

Workmanager Default 使用しているワークマネージャ

Version 0

Scheduled true

Started true 現在アプリケーションを実行中か

Started time 1305 ms スレッドを実行させてからどれだけ経過したか

Current user ltnullgt 認証ユーザ

Remote Address 19216838254 アクセス元

Http Session TwAyaBFefB2-

Jz3hzu3l5z8UjxiuEEtZLE_Sn8zdItT

Wptd7QCNX

セッションID

Http Request Information weblogicservletinternalServletReq

uestImpl7620ac2b[POST

testtestjsp

リクエストのHTTPメソッドやURL

HOST 1921683623516001 リクエストのHost名Port番号

18

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 20: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ

19

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 21: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt スレッド -gt スレッドダンプ(DBレスポンス待ち)

20

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 22: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt タイマー

21

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 23: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

スレッド数制約を行っている場合は

この画面を確認してください

22

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 24: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt ワークロード

23

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 25: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt セキュリティ

管理コンソールへのアクセスに失敗した数や

ロックされたユーザ数を確認するのに便利です

24

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 26: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt デフォルトストア

JDBCストアやファイルストアをセッション情報の格納に使用しているとみることがあります

25

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 27: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JMS

26

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 28: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt SAF

27

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 29: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JDBC

DB への接続のパフォーマンスを見るために

[この表をカスタマイズ] から

プリペアドステートメントキャッシュのヒット数

接続遅延時間

などを追加して確認するのもお勧めです

JDBCデータソースのモニタ画面に飛びます

28

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 30: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

JDBC -gt モニタリング -gt 統計

先の画面のカスタマイズと同じような項目が追加可能です

29

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 31: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

モニタリング -gt JTA

JTAの情報を確認しロール

バックした数やヒューリスティックな終了を確認し異常を検知してください

30

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 32: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

診断モジュールと監視ダッシュボード

今まで説明したWebLogic Serverのモニタリング機能は基本的に

アクセスしたタイミングでの情報を確認するものです

今度はWebLogic Serverの管理Mbeanを使用したグラフ表示の方法を

記載します

手順としては下記となります

1 診断モジュールの有効化

2 監視ダッシュボードの起動

31

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 33: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の使用

32

WebLogic Serverには組み込み診断モジュールが

用意されておりますデフォルトでは無効です

こちらは管理用のMbeanを保持するための仕組みです

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 34: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュール(WLDF)の有効化

33

アクティブ化をします

この状態でデータの保持が始まります

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 35: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

34

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 36: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

組込み診断システムモジュールの情報確認

35

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 37: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボードの起動

36

直接

[PROTOCOL][WLS_ADMIN_HOST][W

LS_ADMIN_PORT]consoledashboard

へもアクセスできます

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 38: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

監視ダッシュボード

37

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 39: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの作成

38

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 40: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

新規ビューの名前付け

39

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 41: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

メトリックブラウザへ

40

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 42: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

41

収集対象のみに絞ったほうが便利です

収集したい情報が表示されない場合は

組込み診断システムモジュールを高にしてみる

独自に診断モジュール

などをご検討ください

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 43: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

42

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 44: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

取得項目の設定

43

追加したい内容も適当に選び

ドラッグアンドドロップ

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 45: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定の開始

44

準備ができたら

測定を開始します

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 46: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

測定状況

45

取り終わったら

停止してください

選択すると具体的な数字が分かります

ズーム対応もしております

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 47: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

まとめ

bull WebLogic Serverから見えるところはかなり大きいです

一般的な管理ならば十分なレベルが確認できます

bull とはいえ詳細は各コマンドとかを使う方が便利な時もあります

ndash jpsjstackとかvmstatとかtopとかhellip

ndash Javaの状況確認ならばJava VisualVM とかも便利です

httpsdocsoraclecomjavasejp8docstechnotesguidesvisualvmintrohtml

bull 今まで見たことがない場合は一度は見てみるのも良いかと

新しい発見があるかもしれません

46

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 48: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけ

今回の資料流石に画像が多い

darr

スクリーンショットをいちいち撮るのが面倒

darr

でもアプリやプラグインを入れたくない

darr

スクリーンショットが自動でとれればいいのに

darr

スクリーンショットを一覧で出れば後で見直すときに便利かも

darr

どうせなら同じJavaのJavaFXでつくるか

47

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 49: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの注意

注意

WebLogic Serverは

JavaFX付属のブラウザ(WebKitベース) を

サポートしておりません

あくまでも自己責任でお願いします

48

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 50: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

仕様

bull 適当に考えた仕様

ndash 100JavaJavaFXで作成する

ndash 使い勝手はブラウザと似た形にする

ndash クリック時および読み込み終了時にスクリーンショットを自動で取得する

ndash アプリの終了時とっていたスクリーンショットの一覧を

時系列で表示できるようにhtmlを作成する

ndash WebLogic Serverの管理コンソールと監視ダッシュボード等のアクセスはできる

これだけ

49

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 51: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

作ってみました

50

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 52: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 読み込んだらスクリーンショット

bull クリックしたらスクリーンショット

bull スクリーンショット保存

_webViewgetScene()addEventFilter(MouseEventMOUSE_PRESSED new EventHandlerltMouseEventgt()

Override

public void handle(MouseEvent mouseEvent)

takeSnapShot(_webView)

)

try (OutputStream os = FilesnewOutputStream(

Pathsget(Directory_pathtoString()

ldtformat(DateTimeFormatterofPattern(yyyyMMddHHmmss)) + png)

StandardOpenOptionCREATE StandardOpenOptionTRUNCATE_EXISTING))

WritableImage image = webViewsnapshot(null null)

BufferedImage bufferedImage = SwingFXUtilsfromFXImage(image null)

ImageIOwrite(bufferedImage png os)

catch (IOException e)

eprintStackTrace()

webViewgetEngine()getLoadWorker()stateProperty()addListener((observable oldState newState) -gt

if (newState == StateSUCCEEDED)

takeSnapShot(webView)

)

51

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 53: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull SSLチェック無効

try

HttpsURLConnectionsetDefaultHostnameVerifier(new HostnameVerifier()

public boolean verify(String hostname SSLSession session)

return true

)

SSLContext context = SSLContextgetInstance(TLS)

contextinit(null new X509TrustManager[] new X509TrustManager()

public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException

public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException

public javasecuritycertX509Certificate[] getAcceptedIssuers()

return new X509Certificate[0]

new SecureRandom())

HttpsURLConnectionsetDefaultSSLSocketFactory(contextgetSocketFactory())

catch (Exception e)

eprintStackTrace()

52

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 54: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull 新規ウィンドウ対応 _webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

private WebEngine setCallHandler()

FXMLファイルの読込

URL location = getClass()getResource(fxmltestfxml)

FXMLLoader fxmlLoader = new FXMLLoader(location)

FXWebViewController controller = (FXWebViewController) fxmlLoadergetController()

~~~中略~~~

WebView webView = controllerget_webView()

webViewgetEngine()setCreatePopupHandler(new CallbackltPopupFeatures WebEnginegt()

Override

public WebEngine call(PopupFeatures p)

return setCallHandler()

)

~~~以下略~~~

53

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 55: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

コードの一部

bull ブラウザのバック

bull アプリ停止時の処理実行

_backsetOnAction((event) -gt

WebHistory history = _webViewgetEngine()getHistory()

if (historygetCurrentIndex() gt 0)

PlatformrunLater(() -gt historygo(-1) )

)

54

public class Main extends Application

~~~ 中略 ~~~

Override

public void stop()

writeIndexHTMLFile()

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 56: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

おまけの所感

bull JavaFXのWebViewは20からありますが便利ですね

fxmlも組み合わせるとボタンの配置も楽だし

bull 管理コンソールや監視ダッシュボードやテストアプリ上で動作させても特に問題になるようなところはありませんでした(サポート外ですが)

bull 便利な点は以下検証環境になら使っても良いかも

ndash 作業後に設定等の確認ができるのは非常に良い見直しがしやすい

ndash jarだからインストールしないインストールじゃないから持ち運びしやすい

bull 楽しいと思ってマウスをぼちぼちしていたら容量がすさまじいことに

ご利用は計画的に

55

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 57: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

結び

御清聴ありがとうございました

56

Copyright (c)2017 ITOCHU Techno-Solutions Corporation

Page 58: WebLogic 管理コンソールから見るアプリケーションの動作

Copyright (c)2017 ITOCHU Techno-Solutions Corporation