WebLogic 管理コンソールから見るアプリケーションの動作
-
Upload
oracle-fusion-middleware -
Category
Technology
-
view
34 -
download
2
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Copyright (c)2017 ITOCHU Techno-Solutions Corporation
結び
御清聴ありがとうございました
56
Copyright (c)2017 ITOCHU Techno-Solutions Corporation
Copyright (c)2017 ITOCHU Techno-Solutions Corporation