【WebSphere Application Server】ログを英語で出力する

WASで製品サポートに問い合わせをするとき、問い合わせ先は英語圏なので、ログは英語で出力されている方が、いろいろとスムーズです。エラーコードとかから分かるような気がしますが、なんとなくサポートの対応もよくなる気がして、いつも英語で送っています。

WASのログの言語は、起動ユーザの環境変数LANGで決まります。例えば、以下の環境変数であれば、日本語で出力されます。

WASは起動時に<WAS_PROFILE_ROOT>/profiles/<profile_name>/bin/ setupCmdLine.shというスクリプトを実行して、初期化処理を行っています。その中で、環境変数LANGが設定されてなければ、LANG=Cがexportされて、英語で出力されます。

でも、LANGを変更すると、他のものにも影響がでてしまうので、 setupCmdLine.sh の末尾に以下の一行を追加して、WASを再起動すれば、LANGを変更せずに、ログ出力を英語にできます。

なお、これはWindowsでは使えない方法なので、ご注意を 。
(ーoー)y~~~ 


AWS認定ソリューションアーキテクト – アソシエイト試験に合格した!

クラウドネイティブなシステム開発が広まってきたようで、オンプレオンリーのキャリアであった私も会社の要請でAWS認定を受験して取得しました。

AWSはもちろん、実案件でクラウド未経験の私が実践した勉強方法を紹介します。ご参考になれば幸いです。

どんな試験??

以下、公式サイトの引用です。
AWS 認定ソリューションアーキテクト – アソシエイト試験は、AWS における分散システムの可用性、コスト効率、高耐障害性およびスケーラビリティの設計に関する 1 年以上の実務経験を持つソリューションアーキテクト担当者を対象としています。AWS 認定ソリューションアーキテクト – アソシエイト試験は、AWS における分散システムの可用性、コスト効率、高耐障害性およびスケーラビリティの設計に関する 1 年以上の実務経験を持つソリューションアーキテクト担当者を対象としています。
https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/

・勉強法その①-書籍

私が選んだ書籍は「AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト」

AWSノー知識の人にも各サービスについて良い意味で浅く広く説明されており、末尾にミニテストが付いてます。とても読みやすかったですが、これだけで合格は厳しいかなという印象です。実際の試験問題はもっと凝った問題が出題されました。

・勉強法その②-ひたすらハンズオン!!

本ばかり読んでいてもなんとなくしっくりこなくて、多少お金を掛けてでも実際に触ってみようと思いました。私が選んだのはUdemyというサイトのこちらの講座です。

これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(初心者向け22時間完全コース)
https://www.udemy.com/course/aws-associate/

通常は12,000円と書いてありますが、このUdemyというサイトは頻繁にセールをしており、だいたい1,600円とかで受講できます。くれぐれも正規の値段で購入しないように!!

内容は個人的にとても気に入りました。AWS公式のもよいのですが、外部の人目線で作成された講座は「分からない人のポイント」が抑えられている気がします。

・勉強法その③-公式の模擬試験を受ける

AWS公式の模擬試験が2,000円で受験できます。本試験が15,000円掛かるので、2,000円を追加で払って1回で確実な合格を目指すのがおすすめです。

こちらで登録して受講可能です。本試験を受験するときにどうせ登録が必要なサイトです。
https://www.aws.training/certification?src=exam-prep

試験結果の通知

上記の勉強法でなんとか合格できました!!

試験の合否は試験の最後に画面上に表示されます。そして、スコアは試験終了後メールが届くので、メールのリンクからログインして確認できます。

認定証

こんな認定証が交付されます

スコアレポート

合格点は720なので、個人的には満足な結果でした

スコアレポート詳細

分野別のスコアも教えてくれます。

【WebSphere Application Server】アプリケーションの起動が遅い場合の対処法

WebSphereにデプロイしたアプリケーションの起動が異常に遅い場合に有効な手段があったのでメモ。

WASではCDI( Contexts and Dependency Injection )がデフォルトで有効になっています。もし、デプロイしているアプリケーションでCDIを利用していない場合にはこの方法で起動速度がかなり早くなりました。私の場合、20分から2分くらいになりました。CDIの説明はこちら→ https://blogs.oracle.com/wlc/contexts-and-dependency-injectioncdi

WASでCDIが有効になっていると、アプリケーションの起動時にアサーションをスキャンするので、オーバヘッドが増加します。以下がCDIを無効化する手順です。

STEP① WAS管理コンソールにログイン

WASの管理コンソールにログインします。URLは「 https://hostname:port/ibm/console」です。

STEP② JVMカスタムプロパティの設定画面を開く

管理コンソールで以下の画面を開きます。
「サーバー」> 「サーバー・タイプ」>「WebSphere Application Server」>「server_name」>「サーバー・インフラストラクチャー」>「Java およびプロセス管理」 >「プロセス定義」>「Java 仮想マシン」>「カスタム・プロパティー」

STEP③ CDIを無効化するカスタムプロパティを追加する

以下のカスタムプロパティを追加します。設定したら、保存→再起動します。

NameValue
1 com.ibm.ws.cdi.enableImplicitBeanArchives false
2 com.ibm.ws.cdi.enableCDIfalse

あくまで、アプリケーションでCDIを使ってない場合です。上記のカスタムプロパティはデフォルトはtrueなので、CDIを使っている場合はこの方法は使えません。 (ーoー)y~~